- 环境信息
red hat linux64
gi 11.2.0.4
oracle 11.2.0.4 问题现象
安装完gi软件及oralce database软件之后,通过dbca用户界面建立数据库,发现在node1上数据库能正常建立,在node2上不能正常建立数据库,dbca建库过程在node2上报错
如图:
查看node1和node2上磁盘组状态
node1:
su - grid
SQL> select name,state from v$asm_diskgroup;
NAME STATE
------------------------------ -----------
SYSDG MOUNTED
DATADG MOUNTED
node2:
SQL> select name,state from v$asm_diskgroup;
NAME STATE
------------------------------ -----------
SYSDG MOUNTED
DATADG MOUNTED
通过asmcmd命令查看,能正常看到asm磁盘组里面的文件
- 通过截图报错查看dbca日志和所示的oraagent_oracle.log
dbca日志
/app/oracle/cfgtoollogs/dbca/RAC
/app/grid/11.2.0/log/rac2/agent/crsd/oraagent_oracle
[Thread-200] [ 2016-09-07 16:29:32.180 CST ] [DatabaseImpl.crsResource:3608] calling parent's crsResource
[Thread-200] [ 2016-09-07 16:29:32.931 CST ] [PostDBCreationStep.executeImpl:885] Starting Database HA Resource
[Thread-200] [ 2016-09-07 16:30:24.426 CST ] [CRSNative.internalStartResource:389] Failed to start resource: Name: ora.rac.db, node: null, filter: null, msg CRS-5017: The resource action "ora.rac.db start" encountered the following error:
ORA-01078: failure in processing system parameters
ORA-01565: error in identifying file '+DATADG/RAC/spfileRAC.ora'
ORA-17503: ksfdopn:2 Failed to open file +DATADG/RAC/spfileRAC.ora
ORA-01034: ORACLE not available
ORA-27123: unable to attach to shared memory segment
Linux-x86_64 Error: 13: Permission denied
Additional information: 26
Additional information: 196613
. For details refer to "(:CLSN00107:)" in "/app/grid/11.2.0/log/rac2/agent/crsd/oraagent_oracle/oraagent_oracle.log".
CRS-2674: Start of 'ora.rac.db' on 'rac2' failed
CRS-2632: There are no more servers to try to place resource 'ora.rac.db' on that would satisfy its placement policy
[Thread-200] [ 2016-09-07 16:30:24.427 CST ] [PostDBCreationStep.executeImpl:893] Exception while Starting with HA Database Resource PRCR-1079 : Failed to start resource ora.rac.db
CRS-5017: The resource action "ora.rac.db start" encountered the following error:
ORA-01078: failure in processing system parameters
ORA-01565: error in identifying file '+DATADG/RAC/spfileRAC.ora' 提示无法访问spfile文件
ORA-17503: ksfdopn:2 Failed to open file +DATADG/RAC/spfileRAC.ora
ORA-01034: ORACLE not available
ORA-27123: unable to attach to shared memory segment
Linux-x86_64 Error: 13: Permission denied
Additional information: 26
Additional information: 196613
. For details refer to "(:CLSN00107:)" in "/app/grid/11.2.0/log/rac2/agent/crsd/oraagent_oracle/oraagent_oracle.log".
CRS-2674: Start of 'ora.rac.db' on 'rac2' failed
日志提示无法访问spfile文件,但是能通过grid用户在磁盘组里发现这些文件,诡异。
那么思考原因:
dbca建立数据库是oracle用户操作,而grid用户是管理磁盘组的,明显现象是,在节点2上oracle用户无法读取或访问asm磁盘组的文件,所以才可能出现此问题
进一步验证此想法
在node2上尝试dbca建立数据库,发现选择数据文件存放路径时,找不到asm磁盘组+DATADG
至此,问题明确,oracle无法发现asm磁盘组
查看两节点的oracle用户权限:
node1 :
id oracle
uid=501(oracle) gid=5001(oinstall) 组=5001(oinstall),5002(dba),5003(oper),5006(asmdba)
node2:
uid=501(oracle) gid=5001(oinstall) 组=5001(oinstall),5002(dba),5003(oper),5006(asmdba)
查看GRID_HOME和ORACLE_HOME的bin目录下oracle文件的权限:
node1:
cd $GRID_HOME/bin
ls -l oracle
-rwsr-s--x 1 grid oinstall 209914519 9月 7 14:40 oracle 文件权限正确
node2:
ls -lrt oralce
-rwxr-x--x 1 grid oinstall 209914519 9月 7 14:42 oracle 文件权限错误
oracle用户:
cd $ORACLE_HOME/bin
ls -l oracle
node1:
-rwsr-s--x 1 oracle asmadmin 239626689 9月 7 15:56 oracle 正确
node2:
-rwsr-s--x 1 oracle asmadmin 239626689 9月 7 16:04 oracle 正确
问题明确:
在node2的,GRID_HOME/bin目录下,oracle文件权限错误
修改:
chmod +s oracle
重新回到DBCA建库界面继续执行,则会成功发现ASM磁盘组,并成功建库。