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完成
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库