简介

SWITCHOVERS主要是在计划停机维护时用来降低DOWNTIME,如硬件维护、操作系统升级或是数据库rolling upgrade,

也可用来进行特殊情况下的数据库迁移。

SWITCHOVERS主要分为两个阶段,阶段1:主库转换为备库角色;阶段2:备库转换为主库角色

环境:

switchover 前

db_unique_name : ogg: primary

db_unique_name : tgg: physical standby

前提条件检查

1. standby log /redo log 在主备库都存在

select * from V$STANDBY_LOG;

select * from v$log

2. 确认主备处于归档模式

archive log list

3. 确认redo传输无错误、无GAP

SQL> SELECT STATUS, GAP_STATUS FROM V$ARCHIVE_DEST_STATUS WHERE DEST_ID = 2;

STATUS      GAP_STATUS
--------- ------------------------
VALID      NO GAP

4.确认主备库temprory file一样

SQL> select file_name from dba_temp_files;

FILE_NAME
--------------------------------------------------------------------------------
/u01/oradata/ogg/temp01.dbf

5.确认log_archive_dest_n参数设置正确

show parameter log_archive_dest_2

主库

SQL> show parameter log_archive_dest_2

NAME                     TYPE     VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_2             string     SERVICE=tgg LGWR SYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=tgg

备库

SQL> show parameter log_archive_dest_2

NAME                     TYPE     VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_2             string     service=ogg ASYNC valid_for=(ONLINE_LOGFILE,PRIMARY_ROLE) db_unique_name=ogg

开始SWITCHOVER

将主库ogg switchover to 备库

检查主库是否准备好进行角色转换

SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;

SWITCHOVER_STATUS
--------------------
SESSIONS ACTIVE

SWITCHOVER_STATUS为SESSIONS ACTIVE,是因为还有有SESSION 连接到数据库,断开连接SESSION在查询如下

SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;

SWITCHOVER_STATUS
--------------------
TO STANDBY

状态在SESSIONS ACTIVE 或者 TO STANDBY 都可以进行switchover操作

进行switchover

SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY WITH SESSION SHUTDOWN;

Database altered.

将数据库重启到mount状态

SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.

SQL> startup mount;
ORACLE instance started.

SQL> alter database open;

Database altered.

SQL> select database_role,db_unique_name,open_mode from v$database;

DATABASE_ROLE     DB_UNIQUE_NAME         OPEN_MODE
---------------- ------------------------------ --------------------
PRIMARY      tgg                READ WRITE

SQL> alter database open;

Database altered.

SQL> alter database recover managed standby database using current logfile disconnect from session;

Database altered.

SQL> select database_role,db_unique_name,open_mode from v$database;

DATABASE_ROLE     DB_UNIQUE_NAME         OPEN_MODE
---------------- ------------------------------ --------------------
PHYSICAL STANDBY ogg                READ ONLY WITH APPLY

将备库tgg switchover to 主库

检查主库是否准备好进行角色转换

SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;

SWITCHOVER_STATUS
--------------------
TO PRIMARY

进行switchover 操作

SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY WITH SESSION SHUTDOWN;

Database altered.

开启新主库

SQL> alter database open;

Database altered.

检查角色转换结果

SQL> select database_role,db_unique_name,open_mode from v$database;

DATABASE_ROLE     DB_UNIQUE_NAME         OPEN_MODE
---------------- ------------------------------ --------------------
PRIMARY      tgg                READ WRITE

将新备库ogg 开启为read only --real time apply

SQL> alter database open;

Database altered.

SQL> alter database recover managed standby database using current logfile disconnect from session;

Database altered.

SQL> select database_role,db_unique_name,open_mode from v$database;

DATABASE_ROLE     DB_UNIQUE_NAME         OPEN_MODE
---------------- ------------------------------ --------------------
PHYSICAL STANDBY ogg                READ ONLY WITH APPLY

oracle 11g physical standby switchover的更多相关文章

  1. Oracle 11g DG手工switchover切换标准化流程

    Oracle 11g DG手工switchover切换标准化流程 环境:RHEL 6.5 + Oracle GI 11.2.0.4 + Oracle DB 11.2.0.4 Primary RAC(2 ...

  2. 11.2 Data Guard Physical Standby Switchover Best Practices using SQL*Plus (Doc ID 1304939.1)

    11.2 Data Guard Physical Standby Switchover Best Practices using SQL*Plus (Doc ID 1304939.1) APPLIES ...

  3. DG - physical standby switchover切换过程

    一.切换前检查1.检查备库已经全部接收到主库的redo如果是最大可用性.最大保护性模式,可以在primary端查看v$archive_dest_status,确认是否所有的redo已经传送到备库#在主 ...

  4. 18c & 19c Physical Standby Switchover Best Practices using SQL*Plus (Doc ID 2485237.1)

    18c & 19c Physical Standby Switchover Best Practices using SQL*Plus (Doc ID 2485237.1) APPLIES T ...

  5. 11G、12C Data Guard Physical Standby Switchover转换参考手册

    Switchover转换   Step 1: switchover 切换先前检查 (1)确保主备两端log_archive_config和db_unique_name参数都已经正确设置. 需要注意的是 ...

  6. 11g Physical Standby配置

    一,准备   Database DB_UNIQUE_NAME Oracle Net Service Name Primary PROD PROD Physical standby PRODDG PRO ...

  7. [Oracle][DATAGUARD] PHYSICAL STANDBY环境里,使用CATALOG管理Primary和Standby

    1.先使用控制文件构筑好PHYSICAL STANDBY环境(Primary:Single 11.2.0.4,Standby Single 11.2.0.4) 2.构筑好Catalog用的服务器(Ca ...

  8. [Oracle][DATAGUARD] PHYSICAL STANDBY环境里,11.2.0.4 , 也可以使用Pfile来运行Primary和Standby(虽然很少有人用)

    ####Primary#### [oracle@primary ~]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.4.0 Production on 金 ...

  9. Oracle 12C 物理Standby 主备切换switchover

    Oracle 12C 物理Standby 主备切换switchover Oracle 12C 物理Standby 主备切换switchover Table of Contents 1. 简述 2. 切 ...

随机推荐

  1. 爱奇艺全国高校算法大赛初赛A

    $01$背包. 数据范围:物品个数小于等于$3000$,背包大小小于等于$1000000$. $map<int,long long>dp$,用$map$去做$dp$,可以少遍历很多状态,可 ...

  2. vim自动补全插件YouCompleteMe的安装及配置

    原文地址: http://blog.csdn.net/shixuehancheng/article/details/46289811

  3. 初始Hibernate4

    Hibernate是一个ORM的轻量级框架,解决持久化操作,使得程序员可以从编写繁复的jdbc的工作中解放出来,专注与业务,提高我们的开发效率.移植性. 1.持久化    a) 侠义概念:数据存储在物 ...

  4. SQL Server附加数据库提示“版本为661,无法打开,支持655版本……”

    在我们使用别人导出的数据库的时候,有时候我们会通过附加数据库的方法,把别人导出的数据库附加到我们的电脑中,这时,或许你会遇到这种问题,附加时,提示版本为XXX,无法打开,支持AAA版本. 这是怎么回事 ...

  5. WPF TreeGrid的一种简单实现

    前几天,各种坑爹的情况,导致不得不自己去动手实现带层级关系的Grid.之后翻了翻书,貌似说msdn和codeproject上有这么个例子,叫做TreeListView.这里就简单说下自己的思路,也许有 ...

  6. [ZOJ3254] MON 9.2009Secret Code

    A^x = D (mod P) 0 <= x <= M, here M is a given integer. 1 <= A, P < 2^31, 0 <= D < ...

  7. [转]android中listview点击事件失效

    首先说明一下我想实现的功能: 点击某个item之后,让其颜色发生变化.如果变化网上有很多例子,我就不班门弄斧了.Listview之所以点击没有反应是因为上图中绿色部分(自己定义的一个继承BaseAda ...

  8. Android/Java 中的 String, StringBuffer, StringBuilder的区别和使用

    Android 中的 String, StringBuffer 和 StringBuilder 是移动手机开发中经常使用到的字符串类.做为基础知识是必须要理解的,这里做一些总结. A.区别 可以从以下 ...

  9. Gridview数据导出excel时身份证号码为科学计数法的解决方法

    if (e.Row.RowType == DataControlRowType.DataRow) { string id = this.GridView1.DataKeys[e.Row.RowInde ...

  10. java常用工具方法2

    /* * Copyright 2005 Joe Walker * * Licensed under the Apache License, Version 2.0 (the "License ...