问题描述
Oracle RAC数据库打完DB、OJVM补丁后所有节点启动时报ORA-01565、ORA-17503、ORA-15001、ORA-15040错解决方法
sqlplus / as sysdba;
SQL*Plus: Release 11.2.0.4.0 Production on Thu Jan 4 14:17:42 2024
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup
ORA-01565: error in identifying file '+DGSYSTEM/fgerpdb/spfilefgerpdb.ora'
ORA-17503: ksfdopn:2 Failed to open file +DGSYSTEM/fgerpdb/spfilefgerpdb.ora
ORA-15001: diskgroup "DGSYSTEM" does not exist or is not mounted
ORA-15040: diskgroup is incomplete
SQL> exit
Disconnected
解决方法
经过查询 无法启动数据库是由于打补丁时HOME/bin/oracle的文件属组权限被更改为oracle:oinstall。通过在root用户下修改该 属组文件权限为: oracle:asmadmin并赋予 6751权限即可;
6751分别制定了ugoa的权限
第一位6代表u(所有者)有读、写权限,没有执行权限
第二位7代表g(组)有读、写、执行权限
第三位5代表o(其它用户)有读、执行权限
第四位1代表a(所有者、组、其它用户)有执行权限
四位6751如果用三位表示就是675,第四位继承umask的值
在集群的所有节点上执行如下命令修改:
chown oracle:asmadmin /oracle/app/oracle/product/11.2.0/db_1/bin/oracle
chmod 6751 /oracle/app/oracle/product/11.2.0/db_1/bin/oracle
$ ls -l /oracle/app/oracle/product/11.2.0/db_1/bin/oracle
-rw sr-s--x 1 oracle asmadmin 239773120 Jan 4 14:11 /oracle/app/oracle/product/11.2.0/db_1/bin/oracle
$ sqlplus / as sysdba;
SQL*Plus: Release 11.2.0.4.0 Production on Thu Jan 4 14:51:36 2024
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to an idle instance.
SQL>
SQL> startup
ORACLE instance started.
Total System Global Area 2004267008 bytes
Fixed Size 2254624 bytes
Variable Size 637536480 bytes
Database Buffers 1358954496 bytes
Redo Buffers 5521408 bytes
Database mounted.
Database opened.
SQL> exit