容灾切换中的数据库宕机问题简单分析(一) (r9笔记第12天)
公众号:杨建荣的学习笔记 · 作者:杨建荣 · 发布:2016-05-27 18:18:02 · 原文链接
最近对一个统计库做了计划内的容灾切换,即主备切换。操作的过程其实还是蛮顺利的。但是灾难切换中如果出现在问题,那就是灾难中的灾难了。
按照计划对配置信息做了同步,然后使用DG Broker做了SwitchOver操作。
这一次切换速度还是蛮快,我开了几个窗口看到日志都在不断输出,角色已经替换过来了。DG Broker切换的日志如下:
DGMGRL> switchover to test29;
Performing switchover NOW, please wait…
New primary database “test29” is opening…
Operation requires shutdown of instance “test2” on database “sgstatdb3”
Shutting down instance “test2″…
ORA-01031: insufficient privileges
Warning: You are no longer connected to ORACLE.
Please complete the following steps to finish switchover:
shut down instance “statdb2” of database “stest3”
start up instance “statdb2” of database “stest3”
这个时候备库已经切换为主库,只要重启切换前的主库即可。
但是这么一个简单的操作就出了问题。shutdown immediate命令敲下去之后,客户端就没有反应了。
SQL> shutdown immediate
ORA-01092: ORACLE instance terminated. Disconnection forced
SQL> Write failed: Broken pipe
然后等了一下,从中控端去登录就无法连通了。这个问题确实够奇怪,我去ILO查看发现系统已经在自动重启了。
当然宽慰的是切换已经完成,可以先让应用的同学去测试他们的业务了。我们可以继续处理这个意料之外的问题。
在宕机的瞬间,数据库alert日志只输出了一行内容“
ORA-1092 : opitsk aborting process
Write failed: Broken pipe
查看ILO的界面,发现系统已经在初始化中了。

