前段时间手残,用exp做数据迁移的时候,因为oracle用户没有目录的写入权限,于是在linux下修改使用 chown -R oracle:oinstall命令修改u01目录下的子目录权限的时候,一不小心直接把 /u01
目录整体修改了权限,瞬间懵逼了。于是整个屏幕都在跳着被修改的目录和文件。

在执行exp命令时报出 以下错误:

EXP-00056: ORACLE error 27140 encountered
ORA-27140: attach to post/wait facility failed
ORA-27300: OS system dependent operation:invalid_egid failed with status: 1
ORA-27301: OS failure message: Operation not permitted
ORA-27302: failure occurred at: skgpwinit6
ORA-27303: additional information: startup egid = 1020 (asmadmin), current egid = 1000 (oinstall)

连接数据库时,TNS 报以下错误。

关于 Oracle 改错权限问题

但是业务还在继续,没有受到影响。同时,在oracle用户下查看$ORACLE_HOME/bin/oracle文件权限:
-rwxr-x--x 1 oracle oinstall 239626641 Mar 3 2017 oracle

解决方案:

在oracle用户下修改$ORACLE_HOME/bin/oracle权限
[oracle@dba_oracle1 dbhome_1]$ pwd
/u01/app/oracle/product/11.2.0/dbhome_1
[oracle@dba_oracle1 dbhome_1]$ cd bin
[oracle@dba_oracle1 bin]$ pwd
/u01/app/oracle/product/11.2.0/dbhome_1/bin
[oracle@dba_oracle1 bin]$ chown -R oracle:asmadmin oracle

修改后
-rwxr-x--x 1 oracle asmadmin 239626641 Mar 3 2017 oracle

在修改文件属性
[oracle@dba_oracle1 ~]$ chmod 6751 $ORACLE_HOME/bin/oracle

[oracle@dba_oracle1 bin]$ls -la oracle
-rwsr-s--x 1 oracle asmadmin 239626641 Mar 3 2017 oracle

已完成

修改后之前发生的问题,得到解决,再也没出现其它问题。