暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

oracle 19c单实例DG手动switchover切换主备库

原创 敖子🍖 2024-04-23
1321

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_config show parameter log_archive_dest_2 show parameter LOG_FILE_NAME_CONVERT show parameter DB_FILE_NAME_CONVERT show 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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论