文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

DataGuard切换的方法是什么

2024-04-02 19:55

关注

本篇内容介绍了“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切换的方法是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     801人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     348人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     311人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     432人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     220人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯