`
wanglihu
  • 浏览: 917540 次
  • 性别: Icon_minigender_1
  • 来自: 黑龙江
社区版块
存档分类

测试版-逻辑switchover

阅读更多
1.检查primary数据库是否配置了standby redologs :
SQL> select * from v$standby_log;
no rows selected
对于逻辑standby数据库,standby redologs是必须的,因此我们需要为当前的primary创建几个standby redologs。
2.为当前的primary创建几个standby redologs:
SQL> alter database add standby logfile group 4 ('/oracle/oradata/test/standbyrd01.log') size 20m;
     alter database add standby logfile group 5 ('/oracle/oradata/test/standbyrd02.log') size 20m;
     alter database add standby logfile group 6 ('/oracle/oradata/test/standbyrd03.log') size 20m;
     alter database add standby logfile group 7 ('/oracle/oradata/test/standbyrd04.log') size 20m;
     alter database add standby logfile group 8 ('/oracle/oradata/test/standbyrd05.log') size 20m;
Database altered.
3.检查primary数据库状态
  在当前的primary数据库查询v$database视图中的switchover_status列,查看当前primary数据库状态。
SQL> select switchover_status from v$database;

SWITCHOVER_STATUS
--------------------
TO STANDBY

说明:如果该查询返回TO STANDBY 或SESSIONS ACTIVE则表示状态正常,可以执行转换操作,如果否的话,就需要你先检查一下当前的dataguard配置。
4.准备转换primary为逻辑standby
  执行下列语句,将primary置为准备转换的状态:
SQL>alter database prepare to switchover to logical standby;
Database altered.

5.查看一下switchover_status的状态
SQL> select switchover_status from v$database;
SWITCHOVER_STATUS
--------------------
PREPARING SWITCHOVER

6.准备转换逻辑standby为primary
SQL>  alter database prepare to switchover to primary;
Database altered.
7.查看一下standby的switchover_status的状态
SQL> select switchover_status from v$database;
SWITCHOVER_STATUS
--------------------
PREPARING SWITCHOVER

8.再次检查primary数据库状态
SQL> select switchover_status from v$database;
SWITCHOVER_STATUS
--------------------
TO LOGICAL STANDBY

注意:这步虽然不做什么操作,但检查结果却非常重要,它直接关系到switchover转换是否能够成功。逻辑standby执行完prepare命令之后,
      就会生成相应的LogMiner字典数据(就像我们前面创建逻辑standby时,primary会生成LogMiner字典数据一样),只有它正常生成并发
      送至当前的primary,转换操作才能够继续下去。不然当前的primary数据库在转换完之后,可能就失去了从新的primary接收redo数据的能力了。
      因此,如果上述查询的返回结果不是:TO LOGICAL STANDBY的话,你可能就需要取消此次转换,检查原因,然后再重新操作了。
提示:
    取消转换可以通过下列语句:
SQL> alter database prepare to switchover cancel;
需要分别在primary和逻辑standby执行。
9.转换primary为逻辑standby
  执行下列语句:
SQL> alter database commit to switchover to logical standby;
Database altered.
注意:该语句需要等待当前primary所有事务全部结束。同时该语句也会自动拒绝用户发布的新事务或修改需求。为确保该操作尽可能快的执行,
      最好自开始切换操作起就禁止所有用户的操作。
      该命令执行完之后,这个primary就已经成为新的逻辑standby了。不过在新primary执行完转换之前,不要关闭当前这个数据库。
10.再次检查逻辑standby状态
   逻辑standby在接收到前primary的转换消息,并应用完相关的redo数据之后,会自动暂停sql应用,然后查询switchover_status的状态,应该为:TO PRIMARY
SQL> select switchover_status from v$database;
SWITCHOVER_STATUS
--------------------
TO PRIMARY
11.转换逻辑standby为primary
   最后的工作总会在逻辑standby上操作,通过上列语句,将该逻辑standby转换为新的primary。
SQL>  alter database commit to switchover to primary;
Database altered.
到此switchover切换完成。
12.启动新逻辑standby的sql应用 
SQL> alter database start logical standby apply;
Database altered.
如果想取消sql应用,执行如下命令:
SQL> alter database stop logical standby apply;
Database altered.
假如为standby库创建了standby redologs日志文件,可以通过如下命令应用和取消日志应用:
SQL> alter database start logical standby apply immediate;
SQL> alter database stop logical standby apply immediate;
到此逻辑standby的switchover完成。
分享到:
评论

相关推荐

    Oracle 12c 部署Data Guard,Switchover和Failover

    最后,文档还提到了重新配置Broker,以及测试switchover的操作,以确保逻辑备用数据库在发生故障时能够顺利接管主数据库的角色。 在实施Data Guard时,管理员需要了解并掌握这些概念和操作步骤,以确保数据库的高...

    ORACLE高可用方案预研_ORACLE主从搭建和切换操作手册

    - **逻辑 standby**:备用数据库结构可以不同,通过SQL Apply进行逻辑转换,适用于异构环境。 2. **保护模式** - **最大保护模式**:保证无数据丢失,但可能影响主库性能。 - **最大可用模式**:允许一定量的...

    【DATAGUARD】物理dg配置客户端无缝切换 (八.4)--ora-16652 和 ora-16603错误

    通过使用DataGuardBroker,管理员可以轻松地设置和维护Data Guard环境中的各种组件,包括主库、物理备库以及逻辑备库等。此工具支持多种操作,如创建、删除和修改保护组、角色转换以及故障切换等。 #### 2. Fast-...

    ADG指导手册.docx

    - **定期测试:** 定期执行角色转换测试,验证系统的完整性和可靠性。 - **文档记录:** 维护详细的配置文档和操作指南,便于后续管理和故障排除。 #### 七、实战经验分享 - **机房迁移:** 在实际的机房迁移过程中,...

    Oracle Data Guard 概念和管理10g 版本2

    - **性能分析与优化(Performance Analysis and Tuning)**:在逻辑备用数据库上进行测试和调整,不影响生产环境。 了解并熟练掌握Oracle Data Guard的概念和管理,对于确保企业关键业务的稳定运行至关重要。通过...

    一点一滴讲解Data Guard前世今生

    SWITCHOVER是主动的故障切换,即手动从主数据库切换到备用数据库,适用于计划内的停机维护或测试环境。而FAILOVER是自动的故障切换,当主数据库发生不可恢复的故障时,Data Guard可以自动将一个备用数据库切换为新的...

    linux下oracle 11g R2 dataguard

    在Linux环境下,Oracle 11g R2 Data Guard是一种高可用性和灾难恢复解决方案,它通过在不同的物理或逻辑位置维护一个或多个备用数据库,来保护关键业务数据免受硬件故障、自然灾害或其他潜在的数据丢失风险。...

    Oracle在物理+DataGuard+中对异构操作系统的支持.pdf

    为了确保在发生故障转移(failover)或手动切换(switchover)到备数据库后,数据保护策略仍然有效,Oracle建议在采用异构配置时进行充分的测试。这些测试需要验证备数据库在接管生产工作负载后,是否能达到期望的...

    PacktPub.Oracle.Data.Guard.11gR2.Administration.Beginners.Guide

    这包括监控Data Guard的运行状态,对Data Guard进行日常维护,以及在必要时进行故障切换(switchover)和故障恢复(failover)。书中会介绍如何利用Oracle提供的工具,如Data Guard Broker和Enterprise Manager来...

    构建最高可用Oracle数据库系统 Oracle 11gR2 RAC管理、维护与性能优化

    11.6.1 Switchover切换 11.6.2 Failover切换 11.7本章小结 第12章 RAC备份 12.1备份与恢复基础 12.1.1备份和恢复解决方案 12.1.2数据库备份的分类 12.1.3错误类型 12.2物理备份工具RMAN 12.2.1 RMAN工作...

    【DG】主rac + 备rac dg 部署_blog版.pdf

    9. 相关参考文章链接:提供了多个链接,这些链接指向其他博客文章,这些文章涵盖了与本篇BLOG主题相关的其他知识点或更深入的讨论,如物理备库和逻辑备库的建立、物理dg节点的添加、物理dg的switchover和failover...

Global site tag (gtag.js) - Google Analytics