实战dataguard主从切换

简介: 前言:        众所周知DataGuard一般的切换分成两种,一种是系统正常的情况下的切换这种方式为:switchover是无损切换,不会丢失数据;另外一种方式属于灾难情况下的切换,这种情况下一般主库已经启动不起来了,为failover,有可能会丢失数据,并且切换后原primary 数据库也不再是该data guard 配置的一部分了。

前言:

       众所周知DataGuard一般的切换分成两种,一种是系统正常的情况下的切换这种方式为:switchover是无损切换,不会丢失数据;另外一种方式属于灾难情况下的切换,这种情况下一般主库已经启动不起来了,为failover,有可能会丢失数据,并且切换后原primary 数据库也不再是该data guard 配置的一部分了。

       本文先简单的介绍在正常情况下运行的系统切换测试; 

 

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

 

环境信息:

hostname

db_name

db_unique_name

role

dg2

orcl

orcldg2

PRIMARY

dg1

orcl

orcldg1

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;

说明: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;

 

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;

 

四、测试

1、在dg1上面插入一个表test,并插入数值1

 

2、在dg2上面检查

 

大功告成了,数据马上传送到dg2了;

相关文章
|
5月前
|
关系型数据库 MySQL 网络安全
Mysql主从复制——一主一从
实现Mysql主从复制的基本配置(一主一从)
141 2
Mysql主从复制——一主一从
|
7月前
|
关系型数据库 MySQL 网络安全
MySQL主从备份
主从备份是 MySQL 数据库中的一种备份方式,它通过将主数据库的数据同步到一个或多个从数据库中,来实现数据备份和恢复的目的。主从备份方式可以确保数据的高可用性和可靠性,同时也可以提高数据库的读写性能
68 1
|
10月前
|
关系型数据库 MySQL 数据库
|
关系型数据库 MySQL 数据库
MySQL主从复制故障解决
丛库复制停止,进丛库查看,报错1007,数据库已存在,不能创建数据库 mysql> show slave status\G; Slave_IO_Running: Yes Slave_SQL_Running: No La...
962 0
|
运维
简单记录一次ADG备库同步故障
这是一套11g的老库,主库3节点,备库1节点。项目上于昨天晚上做某测试扩容了表空间,在其他位置新建了9个数据文件,在备库无法创建这个非标准位置的datafile,从而导致同步中断。
329 0
主主、主从和主备区别
主主、主从和主备区别
340 0
主主、主从和主备区别
|
SQL 监控 关系型数据库
|
关系型数据库 MySQL 数据库
|
SQL 监控 关系型数据库