oracle 主从方式,【转载】Oracle 数据库主从切换整理

oracle数据库data guard 主库从库切换有以下几种方式:

1.switchover切换

有准备的、计划之中的切换,通常是系统升级、数据迁移等常态任务

–切换的时候,先主后备

将原standby数据库改为MAXIMIZE PERFORMANCE (这个是默认值,先检查一下,如果是就不用切换了)

alter database set standby database to maximize performance;

1) 检查切换是否可行

SQL> select switchover_status from v$database;

SWITCHOVER_STATUS

TO STANDBY

1 row selected

–据说TO STANDBY、SESSION ACTIVE都可以

2) 切换原主库为备库

SQL> alter database commit to switchover to physical standby ;

若是SESSION ACTIVE状态,带上with session shutdown

SQL> alter database commit to switchover to physical standby with session shutdown ;

3)关闭原主库数据库,启动为standby模式

–如果设置了remote_archive_enable=’SEND’,要修改成’RECEIVE’

SQL> alter database set remote_archive_enable=’SEND’ scope=both;

SQL> shutdown immediate;

SQL> startup nomount;

SQL> alter database mount standby database;

4 )检查原主库的切换结果

SQL> select switchover_status from v$database;

SWITCHOVER_STATUS

SWITCHOVER PENDING

1 row selected

5)将原备库切换成主库

SQL>alter database commit to switchover to primary;

如果出错为ORA-16139: 需要介质恢复,则执行

SQL>alter database recover managed standby database finish force;

然后继续执行

SQL>alter database commit to switchover to primary;

6)关闭原备库、重启

SQL> shutdown immediate;

SQL> startup;

2.Failover切换

用于意料之外的突发情况,比如异常掉电、自然灾难等等。

1、 检查备库日志是否完成所有可用日志恢复

检查备库alert日志,查看所有可用的日志是否reply完成,完成后即可操作下面步骤。

2、 终止日志reply操作

SQL> alter database recover managed standby database cancel;

Database altered.

SQL> alter database recover managed standby database finish;

Database altered

3、 检查数据库的状态为“ TO PRIMARY”即可(TO PRIMARY说明是备库)

SQL> select open_mode, switchover_status from v$database;

OPEN_MODE SWITCHOVER_STATUS

READ ONLY TO PRIMARY

4、 切换备库为主库角色

SQL> ALTER DATABASE ACTIVATE PHYSICAL STANDBY DATABASE;

SQL> alter database commit to switchover to primary with session shutdown;

Database altered.

SQL> select open_mode from v$database;

OPEN_MODE

MOUNTED

SQL> alter database open;

Database altered.

注意切换完成以后必须自行添加临时文件,当我们在Primary端添加一个临时表空间,Standby端虽然不能创建出临时文件,但是临时表空间的信息是联动的带入的

3.自动切换DG_Broker

把数据库从数据同步和只读打开状态切换到快照备用状态,只需要在备用数据库上执行Alter database convert to snapshot standby;而把数据库从快照备用切换会只读同步状态,只需要执行Alter database convert to physical standby就可以了

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值