dataguard switchover to physical stnadby
首先做一系列的check
check 当前primary 的 standby redo log是否存在
SQL> select * from v$logfile;
GROUP# STATUS TYPE MEMBER IS_
---------- ------- ------- ------------------------------------------------------- ---
ONLINE /oracle_asm/standby/itid1/datafile/itid/redo03.log NO
ONLINE /oracle_asm/standby/itid1/datafile/itid/redo02.log NO
ONLINE /oracle_asm/standby/itid1/datafile/itid/redo01.log NO
STANDBY /oracle_asm/standby/itid1/standby_redo/slog1.rdo NO
STANDBY /oracle_asm/standby/itid1/standby_redo/slog2.rdo NO
STANDBY /oracle_asm/standby/itid1/standby_redo/slog3.rdo NO
STANDBY /oracle_asm/standby/itid1/standby_redo/slog4.rdo NO
check standby 的redo log是否存在
SQL> select * from v$logfile;
GROUP# STATUS TYPE MEMBER IS_
---------- ------- ------- ------------------------------------------------------- ---
3 ONLINE /oracle_asm/standby/itid2/datafile/itid/redo03.log NO
2 ONLINE /oracle_asm/standby/itid2/datafile/itid/redo02.log NO
1 ONLINE /oracle_asm/standby/itid2/datafile/itid/redo01.log NO
4 STANDBY /oracle_asm/standby/itid1/standby_redo/slog1.rdo NO
5 STANDBY /oracle_asm/standby/itid1/standby_redo/slog2.rdo NO
6 STANDBY /oracle_asm/standby/itid1/standby_redo/slog3.rdo NO
7 STANDBY /oracle_asm/standby/itid2/standby_redo/slog1.rdo NO
8 STANDBY /oracle_asm/standby/itid2/standby_redo/slog2.rdo NO
9 STANDBY /oracle_asm/standby/itid2/standby_redo/slog3.rdo NO
10 STANDBY /oracle_asm/standby/itid2/standby_redo/slog4.rdo NO
11 STANDBY /oracle_asm/standby/itid2/datafile/log1.rdo NO
12 STANDBY /oracle_asm/standby/itid2/datafile/log2.rdo NO
13 STANDBY /oracle_asm/standby/itid2/datafile/log3.rdo NO
oops 现在才发现之前创建standby的时候创建的standby redo log太多了。其实group 11 12 13 是我想创建成为redo log的。但是不小心的加上了standby参数。从这里也可以看出创建standby redo 和 redo 的命令就在于有没有standby 这个参数。 不过奇怪的是,既然我创建redo的命令错了,那么为什么还是有redo生成了呢? 这个也许是oracle自己生成的。
check primary的 log_archive_dest_n参数
SQL> select name,value from v$parameter where name like 'log_archive_dest_%' and name not like '%state%' and value is not null; NAME VALUE
---------------------------- ------------------------------------------------------------------------------------
log_archive_dest_1 LOCATION=/oracle_asm/standby/itid1/arch
log_archive_dest_2 SERVICE=itid2 SYNC VALID_FOR=( ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=itid2
log_archive_dest_3 LOCATION=/oracle_asm/standby/itid1/arch_from_standbyredo VALID_FOR=(STANDBY_LOGFILE,
STANDBY_ROLE)
check standby的 log_archive_dest_n参数
SQL> select name,value from v$parameter where name like 'log_archive_dest_%' and name not like '%state%' and value is not null; NAME VALUE
---------------------------- ------------------------------------------------------------------------------------
log_archive_dest_1 LOCATION=/oracle_asm/standby/itid2/arch
log_archive_dest_2 SERVICE=itid1 ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=itid1
log_archive_dest_3 LOCATION=/oracle_asm/standby/itid2/arch_from_standbyredo VALID_FOR=(STANDBY_LOGFILE,
STANDBY_ROLE)
查看primary的datafile 和 logfile convert设置
SQL> show parameter db_file_name_convert NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_file_name_convert string /oracle_asm/standby/itid2/data
file/itid, /oracle_asm/standby
/itid1/datafile/itid
SQL> show parameter log_file_name_convert NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_file_name_convert string /oracle_asm/standby/itid2/data
file/itid, /oracle_asm/standby
/itid1/datafile/itid
查看standby的datafile和 logfile convert 设置
SQL> show parameter db_file_name_convert NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_file_name_convert string /oracle_asm/standby/itid1/data
file/itid, /oracle_asm/standby
/itid2/datafile/itid
SQL> show parameter log_file_name_convert NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_file_name_convert string /oracle_asm/standby/itid1/data
file/itid, /oracle_asm/standby
/itid2/datafile/itid
check primary的 FAL设置
SQL> show parameter fal NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
fal_client string
fal_server string itid2
check standby的 FAL 设置
SQL> show parameter fal NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
fal_client string
fal_server string itid1
check primary的standby_file_management
SQL> show parameter STANDBY_FILE_MANAGEMENT NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
standby_file_management string AUTO
check standby的standby_file_management
SQL> show parameter STANDBY_FILE_MANAGEMENT NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
standby_file_management string AUTO
check primary是否可以进行转换
SQL> select switchover_status from v$database; SWITCHOVER_STATUS
--------------------
TO STANDBY
转换primary为standby
SQL> alter database commit to switchover to physical standby with session shutdown; Database altered.
据说这一步会把control file 备份到当前session的trace。
check standby 可以转化成primary
SQL> select switchover_status from v$database; SWITCHOVER_STATUS
--------------------
TO PRIMARY
要注意的是这一步必须是在primary -> standby之后才有效否则的话返回的结果就是not allowed
turn standby to primary
SQL> alter database commit to switchover to primary with session shutdown; Database altered.
open 新的primary database
SQL> select status from v$instance; STATUS
------------
MOUNTED SQL> alter database open; Database altered.
在11gr2中turn standby to primary之后 新的primary是mount状态。
在新的standby上应用redo
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION
*
ERROR at line 1:
ORA-01665: control file is not a standby control file
这一步遇到了错误说不是standby control file
通过下列步骤可以fix
SQL> shutdown abort
ORACLE instance shut down.
SQL> startup mount
ORACLE instance started. Total System Global Area 502181888 bytes
Fixed Size 1345912 bytes
Variable Size 385877640 bytes
Database Buffers 109051904 bytes
Redo Buffers 5906432 bytes
Database mounted.
SQL> alter database open read only
2 ; Database altered. SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION; Database altered.
虽然我不知道为什么这样会fix。
check一下redo传输和应用的情况
primary端的日志archive情况如下
SQL> select NAME,SEQUENCE#, FIRST_TIME, NEXT_TIME FROM V$ARCHIVED_LOG where sequence#>104 ORDER BY SEQUENCE#; NAME SEQUENCE# FIRST_TIM NEXT_TIME
------------------------------------------------------- ---------- --------- ---------
/oracle_asm/standby/itid2/arch/1_105_840039496.dbf 105 12-MAR-14 12-MAR-14
itid1 105 12-MAR-14 12-MAR-14
/oracle_asm/standby/itid2/arch/1_106_840039496.dbf 106 12-MAR-14 12-MAR-14
itid1 106 12-MAR-14 12-MAR-14
standby端日志apply如下
SQL> SELECT NAME,SEQUENCE#,APPLIED FROM V$ARCHIVED_LOG WHERE sequence#>100 ORDER BY SEQUENCE#; NAME SEQUENCE# APPLIED
-------------------------------------------------------------------------------- ---------- ---------
itid2 101 YES
/oracle_asm/standby/itid1/arch/1_101_840039496.dbf 101 YES
itid2 102 NO
/oracle_asm/standby/itid1/arch/1_102_840039496.dbf 102 YES
/oracle_asm/standby/itid1/arch/1_103_840039496.dbf 103 YES
itid2 103 NO
/oracle_asm/standby/itid1/arch/1_104_840039496.dbf 104 YES
/oracle_asm/standby/itid1/arch/1_105_840039496.dbf 105 YES
/oracle_asm/standby/itid1/arch/1_106_840039496.dbf 106 NO
/oracle_asm/standby/itid1/arch_from_standbyredo/1_106_840039496.dbf 106 IN-MEMORY
dataguard switchover to physical stnadby的更多相关文章
- [Oracle] DataGuard switchover
Oracle DataGuard switchover 2013/07/11 Tag.Data Guard,primary,standby,switchover 切换前primary site和sta ...
- 4.1 ORACLE DATAGUARD SWITCHOVER 步骤
验证主库是否能执行角色转换到备库 原主库执行 SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE; SWITCHOVER_STATUS --------- ...
- [Oracle][DATAGUARD] 关于确认PHYSICAL STANDBY的同期状况的方法
补上简单的确认PHYSICAL STANDBY的同期状况的方法: ODM TEST CASE===================Name = TC#1010_3 ####Primary#### SQ ...
- DG_Oracle DataGuard Switchover主备节点切换(案例)
2014-06-09 Created By BaoXinjian Thanks and Regards http://wenku.baidu.com/view/dc9f00d349649b6648d7 ...
- Oracle Dataguard之switchover
Oracle Dataguard的角色转换包含两类:Switchover和Failover.Switchover指主备之间角色转换,主库降为备库,备库升级为主库.而failover则是指主库出现问题时 ...
- 【DATAGUARD】物理dg的switchover切换(五)
[DATAGUARD]物理dg的switchover切换(五) 一.1 BLOG文档结构图 一.2 前言部分 一.2.1 导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其 ...
- Oracle DataGuard主备切换(switchover)
Oracle DataGuard主备切换可以使用传统的手动命令切换,也可以使用dgmgr切换,本文记录手动切换. (一)将主库切换为物理备库 STEP1:查看主库状态 SQL> SELECT O ...
- DG - physical standby switchover切换过程
一.切换前检查1.检查备库已经全部接收到主库的redo如果是最大可用性.最大保护性模式,可以在primary端查看v$archive_dest_status,确认是否所有的redo已经传送到备库#在主 ...
- 11G、12C Data Guard Physical Standby Switchover转换参考手册
Switchover转换 Step 1: switchover 切换先前检查 (1)确保主备两端log_archive_config和db_unique_name参数都已经正确设置. 需要注意的是 ...
随机推荐
- [App Store Connect帮助]二、 添加、编辑和删除用户(5)创建一个沙盒测试员帐户
如果您的 App 使用了 App 内购买项目或 Apple Pay,您可以在 App Store Connect 中创建沙盒测试员帐户,以便您向用户提供该 App 前,可以使用该帐户在测试环境中运行您 ...
- ckeditor 工具栏的配置
config.toolbar = [ ['Undo','Redo'], ['Font','FontSize'], ['Bold','Ita ...
- PKUSC2017 游记 密码:blog密码
退役之前,写点破事乐呵乐呵 省选滚大粗 报了PKU和THU的SC 果然THU直接审核不通过... 于是就来到了PKU 滚粗狗就又续命几天. Day1 上午考数学 喜闻乐见啥都不会 出来一对题 ...
- websocket的原理
首先明确几点: 1. websocket是一种协议.是html5的一种新协议: 2. 与http的区别是,它是一种双向通信协议,服务器和客户端都能主动向对方发送或接受数据: 3. websocket需 ...
- Offer收割_4
1.水题 2.BFS宽搜(使用优先队列priority_queue) 4.题意:给数组a.要求重排列数组,使得数组中的任意相邻的两个元素不同.如果存在多个方案,那么选择字典序最小的方案. 如果不能满 ...
- 【转】mysql的数据类型
转自:http://mrxiong.blog.51cto.com/287318/1651098 一.数值类型 Mysql支持所有标准SQL中的数值类型,其中包括严格数据类型(INTEGER,SMALL ...
- Squirrel的安装(windows上Phoneix可视化工具)
一.下载安装 下载地址:http://www.squirrelsql.org/下载所需版本 或者 从网址http://www.squirrelsql.org/下载相应版本的squirrel ...
- 使用Jquery.form.js ajax表单提交插件弹出下载提示框
现象: 使用jquery的from做ajax表单提交的时候,后台处理完毕返回json字符串,此时浏览器提示下载一个json文件而不是在success里面继续解析该json对象. 具体的原因: 浏览器兼 ...
- jQuery导航插件One-Page-Nav演示-显示命名锚记
jQuery导航插件One-Page-Nav演示-显示命名锚记 简介 使用 选项 示例 推荐 简介 电商网站的分类比较明确,比如1楼是手机通讯产品,2楼是家用电器,3楼是服装鞋包等等,旁边还会有一个固 ...
- html5——动画案例(时钟)
1.秒钟转360度需要60s分60步 2.分针转360度需要3600s分60步 3.秒钟转360度需要43200s分60步 <!DOCTYPE html> <html lang=&q ...