【前言】Dataguard的从库一般情况下都是出于数据的抽取和查询的作用的,但是万一在主库发生故障的情况下就需要切换到备库了。而这种故障的切换往往又是灾难性的情况:比如主库的服务器根本就起不来了,没有办法进行正常的切换,就需要强制的把从库切换成主库了。
【操作步骤】这个时候主库根本是操作不了的,所以只需在从库执行以下操作
【1】停止应用恢复模式
alter database recover managed standby database finish;
【2】从库切换成主库
alter database commit to switchover to primary;
【3】启动数据库
Alter database open;
【4】检查备库的状态
select open_mode,database_role from v$database;
OPEN_MODE DATABASE_ROLE-------------- ---------------------- OPEN PRIMARY
【其他】切换完成后,就需要更改应用的连接IP地址和相关的一系列的连接(DBLINK等其他接口),如果再规划的时候就把这部分的内容考虑过去的话,那么就减少了很多切换后的工作。
如果服务器的IP地址不变的话,那么就可以节省很多的工作了。这就需要前期的规划:通过负载均衡设置一个虚拟ip,当服务器发生故障后,切换虚拟ip对应的实体ip就好了。如果没有这个硬件的话,通过软件也是可以实现的比如:keepalived工具等。
附:切换日志