执行计划内主备切换(DGMGRL,无数据丢失的角色转换)
OracleData Guard命令
# Connect with a password (with OS authentication "/" the broker cannot restart the remote instance):
dgmgrl sys@<primary_db_unique_name>
# 1) Precheck:
SHOW CONFIGURATION;
VALIDATE DATABASE '<standby_db_unique_name>';
# 2) Role change:
SWITCHOVER TO '<standby_db_unique_name>';
# 3) Verify: new primary and new standby
SHOW CONFIGURATION;
SHOW DATABASE '<primary_db_unique_name>';作用
有控制地交换主库和备库的角色:主库所有 redo 都会传送并在备库上应用,旧主库以备库身份重启,redo 应用自动开始。
适用场景
用于主库站点的计划内维护(操作系统、硬件、滚动升级)、DR 演练或数据中心迁移。
注意
主库会有短暂中断;应用连接必须通过以 -role PRIMARY 定义的服务和 FAN/TAF/AC 路由到新主库。长时间运行的事务和较高的应用延迟会延长主备切换时间;请先将延迟降到接近零。在 RAC 中 broker 会自行管理实例;不要用 srvctl 干预。