从12c开始,Flex ASM可以在ASM实例意外终止后,让受影响节点作为客户端访问远程节点的ASM实例。
测试:
一开始,ASM实例运行在本地节点,Oracle实例访问本地的ASM实例:
现在,强行关闭节点2上的ASM实例
随后,查看节点1上访问ASM实例的客户端,有了来自节点2的客户端访问。
如上例所示,节点2上的Oracle实例访问节点1上的ASM实例。
如果节点2的ASM2实例恢复后,Oracle实例不会自动切换回来,仍然会访问远程的ASM实例。要想重新访问本地的ASM实例,需要正常关闭Oracle实例,再启动实例后
将自动选择访问本地的ASM实例。
测试:
一开始,ASM实例运行在本地节点,Oracle实例访问本地的ASM实例:
点击(此处)折叠或打开
- SQL> select instance_name,db_name,status from v$asm_client;
-
- INSTANCE_NAME
- --------------------------------------------------------------------------------
- DB_NAME STATUS
- ---------------- ------------------------
- -MGMTDB
- _mgmtdb CONNECTED
-
- +ASM1
- +ASM CONNECTED
-
- racdb1
- racdb CONNECTED
-
-
- INSTANCE_NAME
- --------------------------------------------------------------------------------
- DB_NAME STATUS
- ---------------- ------------------------
- racdb1
- racdb CONNECTED
点击(此处)折叠或打开
- $ sqlplus / as sysasm
-
- SQL> shutdown abort
- ASM instance shutdown
随后,查看节点1上访问ASM实例的客户端,有了来自节点2的客户端访问。
点击(此处)折叠或打开
- SQL> select instance_name,db_name,status from v$asm_client;
-
- INSTANCE_NAME
- --------------------------------------------------------------------------------
- DB_NAME STATUS
- ---------------- ------------------------
- -MGMTDB
- _mgmtdb CONNECTED
-
- +ASM1
- +ASM CONNECTED
-
- racdb1
- racdb CONNECTED
-
-
- INSTANCE_NAME
- --------------------------------------------------------------------------------
- DB_NAME STATUS
- ---------------- ------------------------
- racdb1
- racdb CONNECTED
-
- racdb2
- racdb CONNECTED
-
- racdb2
- racdb CONNECTED
-
-
- 6 rows selected.
如果节点2的ASM2实例恢复后,Oracle实例不会自动切换回来,仍然会访问远程的ASM实例。要想重新访问本地的ASM实例,需要正常关闭Oracle实例,再启动实例后
将自动选择访问本地的ASM实例。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22621861/viewspace-2116959/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/22621861/viewspace-2116959/