RAC重启遭遇ORA-01078、ORA-01565、ORA-17503、ORA-12547错误

问题描述:

上周五下班后把测试rac关闭后,今天早上打开报以下错误:

[oracle@rac1 11.2.0]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Mon Jun 5 09:27:09 2017

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup
ORA-01078: failure in processing system parameters
ORA-01565: error in identifying file '+DATA/rac/spfilerac.ora'
ORA-17503: ksfdopn:2 Failed to open file +DATA/rac/spfilerac.ora
ORA-12547: TNS:lost contact


解决方法:

1、首先通过crsctl stat res -t命令查看集群服务,发现服务正常;

2、查看grid用户下/u01/grid/app/11.2.0/grid/bin/oracle文件权限变为-rwxr-x--x,其正常权限应为-rwsr-s--x(6751),如下:

[grid@rac1 ~]$ cd /u01/grid/app/11.2.0/bin
[grid@rac1 bin]$ ls -lh oracle
-rwxr-x--x 1 grid oinstall 201M Mar 22 09:15 oracle

3、修改权限为6751
[grid@rac1 bin]$ chmod 6751 oracle

4、查看权限修改正确

[grid@rac1 bin]$ ll -h oracle
-rwsr-s--x 1 grid oinstall 201M Mar 22 09:15 oracle

5、重启数据库即可

SQL> startup
ORACLE instance started.

Total System Global Area 2137886720 bytes
Fixed Size                  2254952 bytes
Variable Size             620758936 bytes
Database Buffers         1509949440 bytes
Redo Buffers                4923392 bytes
Database mounted.
Database opened.


总结:

1、后来想了想,上周由于某个需要,确实做了以下操作,才导致这个问题的产生:

[root@rac1 ~]$ chown -R grid:oinstall /u01/grid/app

2、6751分别制定了ugoa的权限
第一位6代表u(所有者)有读、写权限,没有执行权限
第二位7代表g(组)有读、写、执行权限
第三位5代表o(其它用户)有读、执行权限
第四位1代表a(所有者、组、其它用户)有执行权限
四位6751如果用三位表示就是675,第四位继承umask的值

oracle用户属于组dba、oinstall可执行代码需要的是最少权限是110即所有者和组有执行权限。




你可能感兴趣的:(读书笔记)