dataguard failover切换

Failovers:
FAILOVER切换一般是PRIMARY数据库发生故障后的切换,这种情况是STANDBY数据库发挥其作用的情况。这种切换发生后,可能会造成数据的丢失。而且这个过程不是可逆的,DATA GUARD环境会被破坏。由于PRIMARY数据库已经无法启动,所以FAILOVER切换所需的条件并不多,只要检查STANDBY是否运行在最大保护模式下,如果是的话,需要将其置为最大性能模式,否则切换到PRIMARY角色也无法启动。
FailOver后,主库会做一次resetlogs,整个DG环境也就破坏了.
 
1.查看是否有日志GAP,没有应用的日志:
SQL> select unique thread#, max(sequence#) over(partition by thread#) last from v$archived_log;
SQL> select thread#, low_sequence#, high_sequence# from v$archive_gap;
  如果有,则拷贝过来并且注册
SQL> alter database register physical logfile '拷贝过来归档日志路径';
重复查看直到没有应用的日志:

2.然后停止应用归档:
SQL> alter database recover managed standby database cancel;
Database altered.


3.下面将STANDBY数据库切换为PRIMARY数据库:
SQL> alter database recover managed standby database finish;
Database altered.
SQL> select database_role from v$database;
DATABASE_ROLE
----------------
PHYSICAL STANDBY
SQL> alter database commit to switchover to primary;
Database altered.
SQL> alter database open;
Database altered.
 
检查数据库是否已经切换成功:
SQL> select database_role from v$database;
DATABASE_ROLE
----------------
PRIMARY

4.修改主库,暂停日志传送
通过设置 defer 参数来暂停主库对备库的日志传输
SQL> alter system set log_archive_dest_state_2 = 'defer' scope=both;

posted @   slnngk  阅读(449)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示