千家信息网

DataGuard切换的方法是什么

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,本篇内容介绍了"DataGuard切换的方法是什么"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!环境
千家信息网最后更新 2026年10月31日DataGuard切换的方法是什么

本篇内容介绍了"DataGuard切换的方法是什么"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

环境:
db version:11.2.0.3
主库:两节点的RAC
备库:两节点的RAC
是异地灾备,网络质量不太好。
步骤:
1.检查日志应用情况
standby database(备库检查):
SQL> select thread#,SEQUENCE#,FIRST_TIME,next_time,applied from gv$archived_log order by sequence#; (确定日志都已经应用 )

2. 检查日志传输错误
SQL> SELECT STATUS, GAP_STATUS FROM V$ARCHIVE_DEST_STATUS WHERE DEST_ID = 2; STATUS GAP_STATUS
--------- ------------------------
VALID NO GAP

3. 评估切换时间 --rac环境下备库只有一个实例可以为open状态。
set linesize 200
SQL> column name format a22
SQL> column value format a16
SQL> column unit format a28
SQL> column time_computed format a25
SQL> select * from v$dataguard_stats;
NAME VALUE UNIT TIME_COMPUTED DATUM_TIME
---------------------- ---------------- ---------------------------- ------------------------- ------------------------------
transport lag +00 01:47:32 day(2) to second(0) interval 10/29/2014 10:48:15 10/29/2014 10:47:58
apply lag +00 01:47:32 day(2) to second(0) interval 10/29/2014 10:48:15 10/29/2014 10:47:58
apply finish time day(2) to second(3) interval 10/29/2014 10:48:15
estimated startup time 20 second 10/29/2014 10:48:15

4. 由于主备库都是rac ,此环境下主库和备库都只有一个实例存活
srvctl stop instance -d EM -i EM2 --先停止主库
srvctl stop instance -d EM_SH -i EMP2 --停止备库

NOTE:如果主库两个实例都存活会报错如下:

SQL> alter database commit to switchover to physical standby with session shutdown;
alter database commit to switchover to physical standby with session shutdown
*
ERROR at line 1:
ORA-01105: mount is incompatible with mounts by other instances

5.登录主库操作
SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE; -- 确保状态为SESSION_ACTIVE 或者TO STANDBY(由于是异地可能在shut一个实例后,redo应用会有延迟,如果网络质量不太好,可等一等 )

alter database commit to switchover to physical standby with session shutdown; --执行切换(最好把应用停掉 ) --执行完此操作后,数据库会自动shut

STARTUP MOUNT; -- 启动原来主库到mount

6.登录备库操作
SELECT SWITCHOVER_STATUS FROM V$DATABASE; -- 确保状态会SESSION_ACTIVE或者TO PRIMARY.

ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY WITH SESSION SHUTDOWN; --执行角色切换

ALTER DATABASE OPEN;--打开新主库

srvctl start instance -d databasename -i instance_name --启动另外的节点

7.登录新的备库
ALTER DATABASE OPEN; --启动库

ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT; - -启动实时应用

srvctl start instance -d databasename -i instance_name; --启动其他实例

8.进行事务,发现并没有同步过来
archive log list 发现scn都没有

经过核查是因为主库并没有日志传输
alter system set log_archive_dest_state_2='enable' sid='*'; --在新的主库执行,启动日志传输服务
有可能查询数据的状态为:

SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;

SWITCHOVER_STATUS
--------------------
FAILED DESTINATION

查看备库的scn没有变化,可重启下备库。

9.检查是否同步
SELECT MAX(SEQUENCE#),THREAD# FROM V$ARCHIVED_LOG
WHERE RESETLOGS_CHANGE# = (SELECT MAX(RESETLOGS_CHANGE#) FROM V$ARCHIVED_LOG) GROUP BY THREAD#;

"DataGuard切换的方法是什么"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

切换 实例 应用 日志 状态 检查 环境 登录 方法 内容 只有 异地 情况 数据 更多 知识 网络 质量 传输 同步 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技企业 互联网科技活动banner 互联网科技媒体 互联网科技logo设计 大白互联网科技 西藏七维空间互联网科技有限公司 欧洲十大科技互联网公司 阿里互联网科技公司 中国航天科技大学国际工业互联网 新兴科技互联网创新大赛颁奖典礼 成都互联网科技公司工作好不好 呼和浩特新华互联网科技学院 民营互联网公司国防科技 济南有互联网科技公司吗 沐思想互联网科技有限公司 上海乐五互联网科技有限公司 全球科技与互联网公司市值变化 互联网金融运营模式中的金融科技 青岛易易互联网科技 互联网金融金融科技 互联网为科技 互联网科技股票 互联网科技公司招聘 北京华百购互联网科技有限公司 互联网科技与大数据专业 玉溪新华互联网科技好不好 厦门江牛科技互联网 上海互联网科技公司ppt 福建互联网展示科技馆设计 恒生科技互联网指数十大成分股
0