Oracle 19c - 使用 DGMGRL 执行 Dataguard failover故障转移

19c使用DG broke failover

描述:-

  • 我们调用故障转移作来响应紧急情况,通常是在主数据库无法访问或不可用时。
  • 可以为两端启用 flashback 数据库。这样我们在故障转移后就可以轻松恢复。
  • 当主数据库无法及时恢复时,应执行故障转移。
  • 故障转移可能会导致数据丢失,也可能不会导致数据丢失,具体取决于故障转移时有效的保护模式。
  • 当主数据库
    的不可用之前的所有或大部分信息都传播到备用数据库时,可以执行故障转移。使用 Standby Redo Logs 在这里是一个很大的优势。如果您没有
    可用的备用重做日志,则始终会遇到一些数据丢失,具体取决于自最近一次日志切换以来
    的更改。

环境详情:-

ENV Detail Primary Standby
DB Unique orcl orcl_stdy
DB Name orcl orcl
hostname:Server IP db1:192.168.32.172 db2:192.168.32.172

必要时可以开启闪回,方便通过闪回来恢复failover的备库,这里用不上暂且不开了

关于恢复failover,还可以使用这种方法:

利用19c的特性Automatic Flashback Of Standby Database,使用还原点来恢复

自动将还原点从主数据库复制到备用数据库,简化了将物理备用数据库闪回到在主数据库上捕获的时间点的过程。

但这种还原点在主库上无论创建的是普通还原点还是有保证的还原点,对应的复制还原点始终是普通还原点

primary:
SQL> select flashback_on,instance_name,db_unique_name,database_role from v$database,V$instance;

FLASHBACK_ON       INSTANCE_NAME    DB_UNIQUE_NAME                 DATABASE_ROLE
------------------ ---------------- ------------------------------ ----------------
NO                 orcl             orcl                           PRIMARY



STANDBY:
SQL> select flashback_on,instance_name,db_unique_name,database_role from v$database,V$instance;
FLASHBACK_ON       INSTANCE_NAME    DB_UNIQUE_NAME                 DATABASE_ROLE
------------------ ---------------- ------------------------------ ----------------
NO                 orcl             orcl_stdy                      PHYSICAL STANDBY

1.查看配置

[oracle@db1 ~]$ dgmgrl sys/Oracle123
DGMGRL for Linux: Release 19.0.0.0.0 - Production on Tue Feb 11 17:11:30 2025
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.

Welcome to DGMGRL, type "help" for information.
Connected to "orcl"
Connected as SYSDBA.
DGMGRL> SHOW CONFIGURATION;

Configuration - my_dg_config

  Protection Mode: MaxPerformance
  Members:
  orcl      - Primary database
    orcl_stdy - Physical standby database

Fast-Start Failover:  Disabled

Configuration Status:
SUCCESS   (status updated 57 seconds ago)

2.检查验证目标备库情况

DGMGRL> VALIDATE DATABASE orcl_stdy;

  Database Role:     Physical standby database
  Primary Database:  orcl

  Ready for Switchover:  Yes
  Ready for Failover:    Yes (Primary Running)       #查看准备情况

  Flashback Database Status:
    orcl     :  Off
    orcl_stdy:  Off

  Managed by Clusterware:
    orcl     :  NO
    orcl_stdy:  NO
    Validating static connect identifier for the primary database orcl...
    The static connect identifier allows for a connection to database "orcl".

  Log Files Cleared:
    orcl Standby Redo Log Files:       Cleared
    orcl_stdy Online Redo Log Files:   Not Cleared
    orcl_stdy Standby Redo Log Files:  Available

3.连接到备库,执行切换

[oracle@db2 ~]$ dgmgrl
DGMGRL for Linux: Release 19.0.0.0.0 - Production on Tue Feb 11 17:22:42 2025
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.

Welcome to DGMGRL, type "help" for information.
DGMGRL> connect sys/Oracle123@orcl_stdy
Connected to "orcl_stdy"
Connected as SYSDBA.



DGMGRL> SHOW CONFIGURATION;

Configuration - my_dg_config

  Protection Mode: MaxPerformance
  Members:
  orcl      - Primary database
    orcl_stdy - Physical standby database

Fast-Start Failover:  Disabled

Configuration Status:
SUCCESS   (status updated 27 seconds ago)



#执行切换
DGMGRL> FAILOVER TO orcl_stdy;
Performing failover NOW, please wait...
Failover succeeded, new primary is "orcl_stdy"


#查看状态
DGMGRL> SHOW CONFIGURATION;

Configuration - my_dg_config

  Protection Mode: MaxPerformance
  Members:
  orcl_stdy - Primary database
    orcl      - Physical standby database (disabled)
      ORA-16661: the standby database needs to be reinstated

Fast-Start Failover:  Disabled

Configuration Status:
SUCCESS   (status updated 17 seconds ago)

#failover完成
posted @   EverEternity  阅读(17)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
点击右上角即可分享
微信分享提示