恢复设定多个资源之间的依存关系的资源时,恢复时并不会考虑依存关系。
比如,1个ASM资源中依赖于两个实例资源的机构中,ASM资源因为某些原因OFFLINE后,有依存关系的两个实例资源就也会变成OFFLINE。
之后,CRS会通过RESTART修复ASM资源。但因为没有考虑到两个实例资源,会变成OFFLINE。实例资源如果想比ASM更快ONLINE的话,实例资源的ONLINE就会失败。
两个实例资源 ora.test.test1.inst 与 ora.test2.test20.inst都依赖于 ASM资源 ora.test.testasm.asm 时,CRS的日志($ORA_CRS_HOME/crs/log)中就会记录以下内容。
- CRS: `ora.test.testasm.asm` on `node1` went OFFLINE unexpectedly `ora.test.test1.inst` on `node1` went OFFLINE unexpectedly `ora.test2.test2.inst` on `node1` went OFFLINE unexpectedly Attempting to stop `ora.test.testasm.asm` on member `node1` <-- ASM 的资源,以及其他依存资源都会终止 Attempting to stop `ora.test.test1.inst` on member `node1` Attempting to stop `ora.test2.test2.instt` on member `node1` - CRS: Stop of `ora.test.testasm.asm` on member `node1` succeeded. Restarting `ora.test.testasm.asm` on `node1` Attempting to start `ora.test.testasm.asm` on member `node1` <--尝试重启ASM的资源。 - CRS: Stop of `ora.test.test1.inst` on member `node1` succeeded. - CRS: Restarting `ora.test.test1.inst` on `node1` Attempting to start `ora.test.test1.inst` on member `node1` <--如果重启 ASM资源还未完成就尝试启动ora.test.test1.inst的话就会出现问题 - CRS: Stop of `ora.test2.test2.inst` on member `node1` succeeded. - CRS: Start of `ora.test.testasm.asm` on member `node1` succeeded. - CRS: Restarting `ora.test2.test2.inst` on `node1` Attempting to start `ora.test2.test20.inst` on member `node1` - CRS: Start of `ora.test.test1.inst` on member `node1` failed. `ora.test.test1.inst` failed on `node1`, relocating. <--结果接受 ora.test.test1.inst 启动失败。 - CRS: Start of `ora.test2.test2.inst` on member `node1` succeeded. Successfully restarted `ora.test2.test2.inst` on `node1`
[应用版本]
发生问题的版本 :Oracle Database 10g Release 1(10.1.0)
Oracle Database 10g Release 2(10.2.0)
已修正问题的版本:无
预定修复问题的版本:无
已修复问题的PSR : PSR10.2.0.2
预定修复问题的PSR : 无
[适用平台]
所有平台
[可能产生的条件]
在一个资源中如果有很多个资源的依存关系的话就会发生
[原因]
有多个资源时,因为某些原因,资源OFFLINE后的恢复如果依赖于多个资源的话,就无法正常控制恢复过程。
[回避对策]
对于无法ONLINE的资源请用 srvctl start 命令启动。
Leave a Reply