http://blog.itpub.net/29477587/viewspace-1331121/

前段时间做了一次主备库的切换,大体写下操作步骤和记录,分享下。

环境:  
         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#;

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31397003/viewspace-2637881/,如需转载,请注明出处,否则将追究法律责任。

转载于:https://www.cnblogs.com/ss-33/p/10677306.html

DataGuard切换(主库为Rac+备库为Rac)相关推荐

  1. 【DATAGUARD】 将11g物理备库转换为Snapshot Standby

    [DATAGUARD] 将11g物理备库转换为Snapshot Standby BLOG文档结构图 [DATAGUARD] 基于同一个主机建立物理备库和逻辑备库(一): http://blog.itp ...

  2. Mysql运维管理-一主多从宕机从库切换主库继续和从库同步过程16

    1.主库master 宕机 登录从库show processlist\G 看两个线程的更新状态 mysql> show processlist\G *********************** ...

  3. oracle怎么增加一个dg备库,如何在单机实现多个dg备库,并切换到其中一个备库...

    一.创建第一个DG备库 1.1 修改主库orcl的参数 1.启动归档 如果没有归档: Sql> startup mount; Sql>alter database archivelog; ...

  4. Oracle 18c RAC(cdb多租户)+ADG备库部署以及维护

    Oracle 18c RAC+ADG备库部署以及维护 一.环境部署 1.1 主机配置 1.2 实施步骤 1.3 部署FAQ 二.DataGuard 数据库应用日志模式 2.1 Active DataG ...

  5. dataguard如何实现切换_Oracle dataguard切换实施步骤

    Oracle dataguard切换实施步骤 主备库的切换主要在两种情况下切换,Switchover和Failover,这两种切换都需要手工执行完成,不建议自动执行. 主库端 192.168.411. ...

  6. Oracle 11g Data Guard 之逻辑备库角色转换

    逻辑备库不复制数据库服务,在进行switchover或者failover时,连接主库服务的中间层将不能连接(因为服务的创建没有被复制),或者连接不正确的版本(因为服务属性的修改没有被复制). Orac ...

  7. oracle 查看日志组切换状态_Oracle 11g ADG 快照备库切换步骤

    作者 | JiekeXu 来源 | JiekeXu之路(ID: JiekeXu_IT) 转载请联系授权 | (微信ID:xxq1426321293) 大家好,我是 JiekeXu,很高兴又和大家见面了 ...

  8. oracle11g dataguard物理备库搭建

    Dataguard 环境: 操作系统:Redhat6.4 Primary数据库: IP 地址:192.168.1.122 数据库SID:ora11g DB_UNIQUE_NAME:ora11g_pri ...

  9. Oracle主库、备库redo日志管理

    文章目录 官方参考: 1.添加日志组以及日志成员 3.删除日志组或成员 3.1.日志的重定位及重命名 3.2.清空日志文件组 3.3.删除日志成员 3.4.删除日志组 5.删除单实例数据库多余节点的日 ...

最新文章

  1. windows命令行切换盘目录
  2. getter方法的作用 vuex_Vuex入门篇——基本使用
  3. 达夫设备(Duff‘s Device)
  4. VTK:Disk用法实战
  5. redis mysql原理_MYSQL MONGODB REDIS 同步原理以及高可用性对比
  6. windows7怎么升级10_还有一个月微软就停止支持Win 7系统了,再不升级等同裸奔
  7. Atitit 图像处理 调用opencv 通过java  api   attilax总结
  8. oracle 导入时出现两个,Oracle的导入及两个错误
  9. 通达OA2019版本全功能
  10. ae输出quicktime设置_AE设置渲染输出视频及视频格式技巧教程
  11. JPG图片怎么转换成Word文档
  12. 雷达为什么要进行脉冲压缩
  13. web前端期末大作业 HTML+CSS+JavaScript仿安踏
  14. 冬至时节饮食养生要注意“三多三少
  15. CCF-20180901 卖菜
  16. 互联网发展史【计网】
  17. 互联网音乐告别版权战,音乐社区或成新风口?
  18. PC epub阅读器推荐
  19. 配置 WinHTTP 的代理设置
  20. Shell字符串比较

热门文章

  1. (三)重构ResNet50以诊断COVID-19
  2. Windows终端中的自定义终端和用户界面(UI)
  3. 使用JWT的ASP.NET CORE令牌身份验证和授权(无Cookie)——第1部分
  4. Csminify:C#源代码的合并/缩小器
  5. SQL 使用总结四(关于索引)
  6. php中,多维数组是什么意思,在PHP中回显多维数组
  7. python minimize_【趣味案例】用Python来做一个屏幕录制工具
  8. c语言是否继续运行,C语言是否有运行时?
  9. 《A Discussion on Solving Partial Differential Equations using Neural Networks》梳理
  10. matlab 传递函数 响应,matlab:知道传递函数G,怎么画出阶跃响应?