dataguard如何实现切换_Oracle DataGuard手动切换步骤【数据库维护方案】

本文详细介绍了Oracle DataGuard在数据库正常情况下的切换过程,包括switchover操作,确保无数据丢失。内容涵盖主库和备库的角色切换,涉及SQL命令如ALTER DATABASE COMMIT TO SWITCHOVER,以及在不同角色下的数据库状态检查和恢复操作。此外,还提及了在灾难情况下的failover切换步骤。
摘要由CSDN通过智能技术生成

数据库维护背景:

DataGuard主备切换分两种:一种是数据库正常的情况下的切换,这种方式为:switchovery,一般用于主机维护或灾备测试,属于无损切换,不会丢失数据;另外一种方式属于数据库服务器灾难情况下的切换,这种情况下一般主库已经启动不起来了,为failover,有可能会丢失数据,并且切换后原primary数据库也不再是该dataguard配置的一部分了。

对于整个dataguard的搭建,请参考实战OracleDataGuard不停机的配置,只要按照该文档操作,保证没有问题;

DG环境信息:

主机信息db_namedb_unique_namerole

浙江从orclorclPRIMARY

orclorclbakSTANDBY

切换步骤:

一、主库的操作

1、主数据库的状态检查

脚本:SQL> select switchover_status from v$database;

说明:如果该列值为"TO STANDBY"则表示primary 数据库支持转换为standby 角色,否则的话你就需要重新检查一下Data Guard 配置,比如看看LOG_ARCHIVE_DEST_n 之类参数值是否正确有效等等。

2、首先将primary 转换为standby 的角色

SQL>ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL STANDBY WITH SESSION SHUTDOWN;

确认状态:

select switchover_status from v$database;

说明:PRIMARY进行转换完毕后,查看状态会变成RECOVERY NEEDED;

3、重启动到mount --原primary 数据库操作

SQL> shutdown immediate

ORA-01507: 未装载数据库

ORACLE 例程已经关闭。

SQL> startup mount

ORACLE 例程已经启动

二、备库切换成主库的操作

完成以上操作后,就可以进行以下备库的操作

1、检查备库的状态

SQL> select switchover_status from v$database;

2、确认没有问题后,可以进行切换转换standby 到primary 角色

SQL>ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY WITH SESSION SHUTDOWN;

3、完成转换,打开新的primary 数据库

SQL> alter database open;

4、查看当前系统的状态

脚本:select name,open_mode,database_role,protection_mode,SWITCHOVER_STATUS

From v$database;

三、原主库切换成备库

当前的备库是mount状态了,运行以下语句

1、执行日志的运用

SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;

2、取消日志的运用

SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;

3、打开数据库

SQL> ALTER DATABASE OPEN;

4、在open状态下执行日志的即时运用

SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;

顺带说说failover切换:

旧备库操作:

ALTER DATABASE RECOVER   managed standby database finish;

新主库操作:

ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY WITH SESSION SHUTDOWN;

alter database open;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值