11g ADG主备切换步骤

11g ADG主备切换 - 目录

    • 一、概述
    • 二、切换前检查
      • [2.1 检查传输通道和GAP](#2.1 检查传输通道和GAP)
      • [2.2 检查延迟时间](#2.2 检查延迟时间)
      • [2.3 检查主库VDATABASE.SWITCHOVER_STATUS](#2.3 检查主库VDATABASE.SWITCHOVER_STATUS)
    • 三、开始切换
      • [3.1 主库切换为备库](#3.1 主库切换为备库)
      • [3.2 重启原主库到mount](#3.2 重启原主库到mount)
      • [3.3 主库查询VDATABASE.SWITCHOVER_STATUS](#3.3 主库查询VDATABASE.SWITCHOVER_STATUS)
      • [3.4 备库切换为主库](#3.4 备库切换为主库)
      • [3.5 打开新主库](#3.5 打开新主库)
      • [3.6 在新备库打开mrp](#3.6 在新备库打开mrp)
    • 四、切换后检查
      • [4.1 主备检查进程情况](#4.1 主备检查进程情况)
      • [4.2 新主库查询通道是否有error](#4.2 新主库查询通道是否有error)
      • [4.3 备库观察传输和应用延迟](#4.3 备库观察传输和应用延迟)

一、概述

主备切换:11g切换时,如果主库为RAC,需要关闭其它实例,仅保留一个即可,12c以后可以不用关闭实例

二、切换前检查

2.1 检查传输通道和GAP

sql 复制代码
备库执行
SQL> SELECT STATUS, GAP_STATUS FROM V$ARCHIVE_DEST_STATUS WHERE DEST_ID = 2;

2.2 检查延迟时间

sql 复制代码
备库执行,延迟尽可能等于0
SQL> COLUMN NAME FORMAT A24
SQL> COLUMN VALUE FORMAT A16     
SQL> COLUMN DATUM_TIME FORMAT A24
SQL> SELECT NAME, VALUE, DATUM_TIME FROM V$DATAGUARD_STATS;

2.3 检查主库V$DATABASE.SWITCHOVER_STATUS

sql 复制代码
查询结果为to standby/session active,可以准备切换成备库
SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;

三、开始切换

3.1 主库切换为备库

sql 复制代码
SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL STANDBY WITH SESSION SHUTDOWN;

3.2 重启原主库到mount

sql 复制代码
执行完3.1步骤后,主库默认已经关闭了
SQL> shutdown immediate
SQL> startup mount

3.3 主库查询V$DATABASE.SWITCHOVER_STATUS

sql 复制代码
检查结果应该为TO_PRIMARY或SESSIONS ACTIVE
SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;

3.4 备库切换为主库

sql 复制代码
SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY WITH SESSION SHUTDOWN;

3.5 打开新主库

sql 复制代码
SQL> ALTER DATABASE OPEN;

3.6 在新备库打开mrp

sql 复制代码
SQL> alter database open;
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;

四、切换后检查

4.1 主备检查进程情况

sql 复制代码
SQL> col group_# for a5
SQL> col client_pid for a8
SQL> set line 250 pagesize 9999
SQL> SELECT A.INST_ID,A.PROCESS,A.STATUS,A.CLIENT_PROCESS,A.CLIENT_PID,A.GROUP# GROUP_#,A.THREAD#,A.SEQUENCE#,A.DELAY_MINS,
A.RESETLOG_ID,C.SID,C.SERIAL#,A.PID SPID,B.PNAME FROM GV$MANAGED_STANDBY A, GV$PROCESS B, GV$SESSION C
WHERE A.PID = B.SPID AND B.ADDR = C.PADDR AND A.INST_ID = B.INST_ID AND B.INST_ID = C.INST_ID ORDER BY A.INST_ID,B.PNAME;

4.2 新主库查询通道是否有error

sql 复制代码
SQL> set line 300
SQL> col DEST_NAME for a60
SQL> select dest_name,status,error from gv$archive_dest;

4.3 备库观察传输和应用延迟

sql 复制代码
SQL> COLUMN NAME FORMAT A24
SQL> COLUMN VALUE FORMAT A16     
SQL> COLUMN DATUM_TIME FORMAT A24
SQL> SELECT NAME, VALUE, DATUM_TIME FROM V$DATAGUARD_STATS;
相关推荐
这个DBA有点耶1 小时前
NULL不是空——数据库里最反直觉的设计,90%新人踩过的坑
数据库·mysql·代码规范
这个DBA有点耶3 小时前
AI写的SQL跑崩了生产库,这锅谁背?
数据库·人工智能·程序员
镜舟科技3 小时前
Databricks 再提 LTAP,AI 时代的数据底座为何重回大一统叙事?
数据库·架构·agent
Databend4 小时前
从湖仓升级为 Agent 时代的数据控制面,Snowflake 和 Databricks 有哪些布局
大数据·数据库·agent
ClouGence7 小时前
SQL Server CDC 能放到 Always On 备库读吗?一文讲透原理与实践
数据库·sql server
先吃饱再说1 天前
存储的进化:从 MySQL 到浏览器缓存,数据到底住在哪?
数据库
Nturmoils1 天前
字段太多看不全,ksql 的展开模式和输出控制怎么用
数据库·后端
Databend1 天前
Agent 轨迹分析与归因的数据工程实践
大数据·数据库·agent
这个DBA有点耶1 天前
SQL改写进阶:标量子查询的“隐形代价”与消除实战
数据库·mysql·架构
smallyoung1 天前
数据库乐观锁深度解析:MySQL、PostgreSQL 实战 + Spring Boot 集成指南
数据库·mysql·postgresql