4.2 Oracle Dataguard failover 操作步骤
在11g里面,Oracle认为最理想的情况是,虽然Oracle数据库不能打开,但是可以启动到 mount状态。
Mount状态之所以重要,就在于如果可以到这个阶段,控制文件control_file就可以读取 归档日志和在线日志的位置信息。这也就意味着最大可能性的进行数据恢复,避免数据损失。
在11g中,推出了日志手工flush的功能,来弥补日志数据没有传递的问题。
10g版本下没有办法自动flush redo。但是可以从Primary目录中,将日志拷贝到Standby端,手工去加载。
1 主库续传日志到备库
如果主库可以到mount状态,在11G里可以通过下面的命令,将未传送到standby端的日志传送过去:
alter system flush redo to 'standby_db_unique_name';
2 备库查询归档缺失
既然是failover,主库已经处于down状态。查看备库的状态:
SQL> select name,open_mode,database_role,switchover_status from v$database; NAME OPEN_MODE DATABASE_ROLE SWITCHOVER_STATUS
----- -------------------- ---------------- --------------------
ORCL READ ONLY PHYSICAL STANDBY NOT ALLOWED
查看是否存在未传送的归档:
select thread#, low_sequence#, high_sequence# from v$archive_gap;
no rows selected
如果没有查到结果,说明归档在standby 端没有缺失。那么数据上基本不会有丢失,即使丢失,也只有 redo buffer 中未来得及刷出的部分可能会丢失。
如果 有未传送至备库的归档 , 将其复制到standby 后进行注册
alter database register physical logfile '/arch/oradata/dg01/1_109900.arc';
3 备库取消数据复制
将备库切换为主库.此时,我们不能通过cancel来取消数据同步,而是通过finish。 这个操作,实际上是关闭了MRP进程。可以通过alert日志来确认。
alter database recover managed standby database cancel;
alter database recover managed standby database finish;
# 终止进程后,查看备库的状态,如果是to_primary 说明可以进行切换
select name,open_mode,database_role,switchover_status from v$database;
4 备库切换为主库
# 切换
alter database commit to switchover to primary [with session shutdown];
# 查看切换后状态
select open_mode,database_role,switchover_status from v$database; OPEN_MODE DATABASE_ROLE SWITCHOVER_STATUS
-------------------- ---------------- --------------------
READ WRITE PRIMARY FAILED DESTINATION
5 查看新主库角色切换时的scn
通过查询这个时间点儿的SCN,确定主备之间数据一致的点。
SELECT to_char(STANDBY_BECAME_PRIMARY_SCN) from V$DATABASE;
6 原主库切换为备库
将原主库启动,并闪回到上一步查询的scn点.
FLASHBACK DATABASE TO SCN &standby_became_primary_scn;
#将原主库转换成物理备库,并启动日志应用进程
ALTER DATABASE CONVERT TO PHYSICAL STANDBY;
7 启动备库数据同步
alter database recover managed standby database using current logfile disconnect from session;
4.2 Oracle Dataguard failover 操作步骤的更多相关文章
- Oracle dataguard failover 实战
Oracle dataguard failover 实战 操作步骤 备库: SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE FINIS ...
- Oracle dataguard切换实施步骤
主备库的切换主要在两种情况下切换,Switchover和Failover,这两种切换都需要手工执行完成,不建议自动执行.主库端 192.168.411.20备库端 192.168.411.221 一是 ...
- 在Linux上安装Oracle服务的操作步骤
如题,将我在云服务器上安装Oracle服务的惨痛经历分享出来,期间查找的资料踩过的坑无数,希望对大家能有帮助 闲话少叙,直接开始 首先,由于服务器比较差,需要先设置swap 查看是否设置swap虚拟内 ...
- 安装oracle数据库的操作步骤
1. vnc启动之后,进入数据库安装包所在目录,此处是/home/DB/backup/database 2. 输入命令 ./runInstaller 3. 弹出linux图形化界面,同时弹出Oracl ...
- Oracle Dataguard故障转移(failover)操作
注意:故障转移会破坏DG的主从关系,使其变为互不相关的2个数据库,谨慎使用. (一)故障转移操作流程图 (二)故障转移操作流程 备注:以下操作步骤与上面流程图步骤一一对应 STEP1:刷新所有未发送到 ...
- Oracle 11g 物理Dataguard日常操作维护(二)
Oracle 11g 物理Dataguard日常操作维护(二) 2017年8月25日 14:34 3.3 3.3.1 查看备库进程状态 SYS(125_7)@fpyj123> select pr ...
- Oracle DataGuard故障转移(failover)后使用RMAN还原失败的主库
(一)DG故障转移后切换为备库的方法 在DG执行故障转移之后,主库与从库的关系就被破坏了.这个时候如果要恢复主从关系,可以使用下面的3种方法: 将失败的主库重新搭建为备库,该方法比较耗时: 使用数据库 ...
- Oracle Dataguard之failover
Oracle Dataguard中,角色转换包含两类:Switchover和Failover.上文<Oracle Dataguard之switchover>中,我们已经谈过了switcho ...
- Windows2008 R2上完全卸载Oracle操作步骤
Windows2008 R2上完全卸载Oracle操作步骤 1.关闭Oracle所有的服务,按[win+R]运行[services.msc]找到所有Oracle开头的服务,点击停止. 2.使用Orac ...
随机推荐
- 2018年第九届蓝桥杯题目(C/C++B组)汇总
第一题 标题:第几天 2000年的1月1日,是那一年的第1天. 那么,2000年的5月4日,是那一年的第几天? 注意:需要提交的是一个整数,不要填写任何多余内容. 解题思路: 1. 判断2月有几天, ...
- linux shell通配符及if语句判断
$# 是传给脚本的参数个数 $0 是脚本本身的名字$1 是传递给该shell脚本的第一个参数$2 是传递给该shell脚本的第二个参数$@ 是传给脚本的所有参数的列表$* 是以一个单字符串显示所有向脚 ...
- postgresql数据库去重方法
数据库去重有很多方法,下面列出目前理解与使用的方法 第一种 通过group by分组,然后将分组后的数据写入临时表然后再写入另外的表,对于没有出现再group by后面的field可以用函数max,m ...
- iPhone 系统刷机
1. 下载好固件(爱思 或者 pp助手) e.g. http://jailbreak.25pp.com/gujian/ 2. 将电脑与手机连接上,弹出iTunes软件即可 3. 长按手机电源键 关闭手 ...
- <知识整理>2019清北学堂提高储备D1
一.枚举: 枚举是最简单最基础的算法,核心思想是将可能的结果都列举出来并判断是否是解. 优点:思维简单,帮助理解问题.找规律.没头绪时 缺点:时空复杂度较高,会有很多冗余的非解(简单的枚举几乎没有利用 ...
- 20175221曾祥杰 实验二《Java面向对象程序设计》
实验二<Java面向对象程序设计> 实验报告封面 课程:Java程序设计 班级:1752班 姓名:曾祥杰 学号:20175221 指导教师:娄嘉鹏 实验日期:2019年4月17日 实验时间 ...
- Chart控件,鼠标选择区域,可以局部放大缩小
例子: 代码设置部分: chartArea1.CursorX.Interval = 0D; chartArea1.CursorX.IntervalOffsetType = System.Windows ...
- codeforces-1131 (div2)
A.把右上角的凹缺口补上变成凸的就成了规则矩形 #include <map> #include <set> #include <ctime> #include &l ...
- getopt()函数 命令解析
今天做计算机系统结构实验时学习到一个非常方便的命令解析函数getopt(),简单做个笔记,方便日后复习. 头文件:#include<unistd.h> 函数原型:int getopt(in ...
- mysql将表数据导出为txt或csv文件
语法:select 字段 from 表名 into outfile 路径 示例txt:select * from stu_class into outfile './stu_class.text'; ...