更多动态

数据库运维案例-oracle数据库归档区爆满引起DOWN机

数据库维护事件-杭州软件公司监控系统异常,车辆无法监控

数据库维护案例-发票数据库性能耗尽,发票业务瘫痪

数据库维护-河北某集团数据库缺乏检查制度,导致数据库崩溃

数据库维护案例-广州电商网站数据库误操作引起性能耗尽

Goldengate同步方案_SQL SERVER到Oracle11g的同步【完整排错版亲测有效】

与北京OFO续签数据库巡检运维服务合同

广州鑫霸-dataguard broker+Goldengate双主热备方案

深圳解放路SQL Server2016 Always on集群部署维护项目

上海尤恩-Oracle数据库优化紧急救援项目

海南中诚实业-数据库月度巡检维保服务

杭州图软:Oracle active dataguard数据高可用部署运维项目

武汉网易通达-Oracle高可用集成维护服务

广州卓勤信息技术有限公司-Oracle数据库优化项目处理

2019年6月MYSQL数据库性能优化项目

北京新网医讯-2016年7月数据库优化项目

展开更多 arrow03

数据库维护方案-Oracle DataGuard手动切换步骤

2020-02-04 22:07冯工
 
二维码
32

数据库维护背景:

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

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


DG环境信息:


主机信息
db_name
db_unique_name
role
浙江从
orcl
orcl
PRIMARY
阿里云主
orcl
orclbak
STANDBY



切换步骤:

一、主库的操作

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;


昵称:
内容:
验证码:
提交评论