DG不能自动mount导致数据库不能正常启动:ORA-01157、ORA-01110、ORA-17503、ORA-15001、ORA-15001

来源:互联网 发布:工商联优化发展环境 编辑:程序博客网 时间:2024/06/02 00:07
DG不能自动mount导致数据库不能正常启动:ORA-01157、ORA-01110、ORA-17503、ORA-15001、ORA-15001
现象:
每次重启整个CRS之后,DB都不能自动开启到OPEN状态,查看alert日志报错:
SUCCESS: diskgroup UNID was mounted
Thu Nov 14 21:46:01 2013
Create Relation SWEEPERR
Setting recovery target incarnation to 1
Successful mount of redo thread 1, with mount id 2364838615
Database mounted in Exclusive Mode
Lost write protection disabled
Completed: ALTER DATABASE MOUNT
Thu Nov 14 21:46:05 2013
ALTER DATABASE OPEN MIGRATE
Errors in file /opt/app/diag/rdbms/nc/nc1/trace/nc1_dbw0_8399.trc:
ORA-01157: cannot identify/lock data file 21 - see DBWR trace file
ORA-01110: data file 21: '+INDX/nc/datafile/INDX.256.820323481'
ORA-17503: ksfdopn:2 Failed to open file +INDX/nc/datafile/INDX.256.820323481
ORA-15001: diskgroup "INDX" does not exist or is not mounted
ORA-15001: diskgroup "INDX" does not exist or is not mounted
Errors in file /opt/app/diag/rdbms/nc/nc1/trace/nc1_dbw0_8399.trc:
ORA-01157: cannot identify/lock data file 22 - see DBWR trace file
ORA-01110: data file 22: '+INDX/nc/datafile/INDX.257.820323659'
ORA-17503: ksfdopn:2 Failed to open file +INDX/nc/datafile/INDX.257.820323659
ORA-15001: diskgroup "INDX" does not exist or is not mounted
从alert日志可以看出,INDX DG的文件不能被读到,
查看发现INDX DG处于DISMOUNT状态。

分析:
ASM中创建了2个DG:UNID,INDX.每次只有UNID会被自动mount,而INDX不能被自动MOUNT。
查看asm_diskgroups参数发现只设置了UNID,这就是为什么每次INDX不会被自动MOUNT的原因了。
SQL>
SQL> show parameter asm

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
asm_diskgroups string UNID
SQL> show parameter pfile

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string

解决办法:
将INDX添加到asm_diskgroups参数中。
spfile:alter system set asm_diskgroups='UNID','INDX' scope=both;
pfile:修改pfile中asm_diskgroups参数。
0 0