SWITCHOVER切换特点是在切换后,不会丢失任何的数据,而且这个过程是可逆的,整个DATA GUARD环境不会被破坏,原来DATA GUARD环境中的所有物理和逻辑STANDBY都可以继续工作,切换之前要确保主备库的归档日志是否同步,
当主库备库状态都正常,并且没有进行主备切换的操作时,备库的switchover_status就是not allowed。当主库执行了切换成备库的操作后,备库的switchover_status才是to primary。
一、环境检查
1、查看当前主备库参数配置
select database_role,protection_mode,protection_level,open_mode from v$database;show parameter log_archive_configshow parameter log_archive_dest_2show parameter LOG_FILE_NAME_CONVERTshow parameter DB_FILE_NAME_CONVERTshow parameter FAL_SERVER
2、查看当前主备库可切换状态
#主库select name,database_role,switchover_status from v$database;

#备库select name,database_role,switchover_status from v$database;

二、主备库切换
1.1主库切换为新备库
alter database commit to switchover to physical standby with session shutdown;主库启动到mount状态,并应用日志
alter database mount standby database;alter database recover managed standby database using current logfile disconnect from session;

查看主库切换后的新备库SWITCHOVER_STATUS
#主库select name,database_role,switchover_status from v$database;

打开新备库至read only状态
#取消应用日志alter database recover managed standby database cancel;#打开数据库alter database open read only;#应用实时日志alter database recover managed standby database using current logfile disconnect from session;

2.1备库切换为新主库
alter database recover managed standby database disconnect from session;alter database commit to switchover to primary;

切换完成后查询当前新主库信息,发现新主库为mount状态,但是SWITCHOVER_STATUS还是NOT ALLOWED
打开新主库数据库
alter database open;查询新主库信息,发现数据库已经切换到主库的角色了,但是SWITCHOVER_STATUS现在从NOT ALLOWED变成FAILED DESTINATION

经过排查分析,发现log_archive_dest_2参数配置错误,对配置的错误进行修改

原因是我在备库修改主库复制的参数文件里修改参数时没有改完全,重新修改
alter system set log_archive_dest_2='service=dg1 lgwr sync valid_for=(online_logfiles,primary_role) db_unique_name=dg1' sid='*';
重新查询新主库信息

SWITCHOVER_STATUS状态从FAILED DESTINATION变成 RESOLVABLE GAP
需要将数据库关机重启到mount状态,将日志刷入新备库,再打开新主库
ALTER SYSTEM FLUSH REDO TO dg1;
重新查询新主库信息
select OPEN_MODE,PROTECTION_MODE,PROTECTION_LEVEL,SWITCHOVER_STATUS from v$database;
整体的主备切换完成了,搭建过程中需要更加仔细才行。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




