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/,如需转载,请注明出处,否则将追究法律责任。

DataGuard切换(主库为Rac+备库为Rac)的更多相关文章

  1. DG备库无法接受主库归档日志之密码文件

    DG备库无法接受主库归档日志之密码文件 实验目的:还原某个客户案例,客户审计需要,对主库sys用户进行锁定,一小时后对sys用户进行解锁后,发现备库无法接受主库的归档日志 本篇文章,测试sys用户与D ...

  2. oracle dg 备库不同步主库数据

    今天遇到一个数据库同步问题,主库被关闭,重启主库后,备库不能正常同步主库数据.只有当手动切换归档日志的时候,备库才能和主库一致. 这个问题的解决方法: 重启备库,重新应用归档日志. 操作步骤如下: / ...

  3. Oracle-DG最大保护模式下,dg备库出现问题对主库有什么影响?

    一.需求 疑问?Oracle最大保护模式下,dg备库出现问题,影响主库吗? 我们都知道Oracle最大保护模式的意思是oracle不允许数据丢失,1条记录都不行! 那么备库有问题? oracle主库还 ...

  4. 备库Seconds_Behind_Master的计算

    背景 在mysql主备环境下,主备同步过程如下,主库更新产生binlog, 备库io线程拉取主库binlog生成relay log.备库sql线程执行relay log从而保持和主库同步. 理论上主库 ...

  5. oracle 利用flashback将备库激活为read wirte(10g 及上)

    oracle 利用flashback将备库激活为read wirte(10g 及上) 环境: OS: CENTOS 6.5 X64 DB: ORACLE 10.2.0.5 主库操作: SQL> ...

  6. Oracle11gr2_ADG管理之在备库上模拟failover的过程实战

    技术建议和方案. 要求failover后不重建备库,并能够把failover的数据库重新切换回备库 主库为newtest,备库为snewtest 备库上已经开启了闪回 得到一个参考的SCN SQL&g ...

  7. Oracle 10g RAC全库flashback

    因业务原因,今天需要做一次全库flashback.以下是操作全过程: 1.确认主库是否能flashback到需要的时间点 在节点1上执行: SQL> alter session set nls_ ...

  8. DG备库磁盘空间满导致无法创建归档

    上周五去某客户那里做数据库巡检.是window 2008系统上10g的一套NC系统的库,已经配置了DG,可是巡检时发现数据库报错: Tue Nov 11 10:13:57 2014 LNS: Stan ...

  9. MySQL · 答疑解惑 · 备库Seconds_Behind_Master计算

    背景 在mysql主备环境下,主备同步过程如下,主库更新产生binlog, 备库io线程拉取主库binlog生成relay log.备库sql线程执行relay log从而保持和主库同步. 理论上主库 ...

随机推荐

  1. loadrunner 脚本录制-录制选项设置HTML-based URL-based Script

    脚本录制-录制选项设置, HTML-based Script与URL-based Script by:授客 QQ:1033553122 Access:Vugen->Tool->Record ...

  2. 六. Redis发布订阅机制

    发布订阅(pub/sub)是一种消息通信模式,主要是解除消息发布者和消息订阅者之间通信的耦合. Redis作为一个pub/sub的服务器,在订阅者和发布者之间起到了一个消息路由的功能.订阅者可以通过s ...

  3. (办公)rom包

    所谓ROM包,通俗点来讲,也就是手机上的系统安装包.使用过智能手机的朋友可能都有过这样的遗憾,自己所用的官方系统虽然能够满足绝大部分的需求,但总有一些细节不是很合自己的心愿……比如说,内置的输入法不好 ...

  4. ssh框架总结之action接收参数的三种方式

    页面将参数传递给action的三种方式 一是通过属性传值: 将页面和action的的属性值保持一致,在action上写上该属性的set和get方法,这样在页面提交参数的时候,action就会调用set ...

  5. Centos7开启ssh免密码登录

    1.输入命令:cd .ssh进入rsa公钥私钥目录(清空旧秘钥) 2.在当前目录下执行ssh-keygen -t rsa,三次回车后生成新的公钥(id_rsa.pub)私钥(id_rsa)文件(每个节 ...

  6. MySQL 5.7开启二进制日志注意事项

    最近才开始将部分MySQL 5.6升级到MySQL 5.7, 在开启MySQL的二进制日志时,发现MySQL 5.7 与MySQL 5.6已有细微区别.如果在my.cnf配置文件中,只设置了全局系统变 ...

  7. web前端(8)—— CSS选择器

    选择器 选择器,说白了就是html的标签或者其相关特性,在一个HTML页面中会有很多很多的元素,不同的元素可能会有不同的样式,某些元素又需要设置相同的样式,选择器就是用来从HTML页面中查找特定元素的 ...

  8. 自动化测试基础篇--Selenium中JS处理滚动条

    摘自https://www.cnblogs.com/sanzangTst/p/7692285.html 前言 什么是JS? JS就是JavaScript: JavaScript 是世界上最流行的脚本语 ...

  9. 以太坊之——golang以太坊接口调用

    Go语言具有简单易学.功能强大,可跨平台编译等众多优势,所以这里选择以Go语言切入以太坊. 开始之前需要以下环境: Ubuntu(这里以ubuntu16.04为例) geth Ubuntu16.04安 ...

  10. SQL Server死锁的解决过程

    某现场报一个SQL死锁,于是开启了1222跟踪: dbcc traceon(1222,-1) 一段时间之后拷贝ERROR文件查找相关信息,比较有用的摘录出来如下: 语句一: select study_ ...