DG的Switchover切换
用户可以使用角色管理服务,进行主、备库的计划中的角色切换,这个叫switchover,或者是非计划中的角色切换,叫failover。
目的:实现主库(orcl)和从库(standby)的切换
主库参数设置检查
--检测fal_client、fal_server、standby_file_management、db_file_name_convert 、log_filename_convert是否合理
- SQL> col name format a25
- SQL> col VALUE format a20
- select a.name,a.value from v$parameter a
- where a.name like '%file_name_convert'
- or a.NAME LIKE 'fal%'
- or a.NAME LIKE 'standby_file%';
- NAME VALUE
- ------------------------- --------------------
- db_file_name_convert standby, orcl
- log_file_name_convert standby, orcl
- fal_client orcl
- fal_server standby
- standby_file_management AUTO
--standbylog file 是否已经创建
- select GROUP#, DBID db_id, THREAD#, SEQUENCE#, BYTES, USED, ARCHIVED, STATUS, FIRST_CHANGE#, NEXT_CHANGE#,LAST_CHANGE# from v$standby_log ;
- SQL> select * from v$logfile;
主库切换为备库
- SQL> select name, LOG_MODE, OPEN_MODE, database_role, SWITCHOVER_STATUS, db_unique_name from v$database;
- NAME LOG_MODE OPEN_MODE DATABASE_ROLE SWITCHOVER_STATUS DB_UNIQUE_NAME
- ------------------------- ------------ -------------------- ---------------- -------------------- ------------------------------
- ORCL ARCHIVELOG READ WRITE PRIMARY TO STANDBY orcl
- SQL> alter database commit to switchover to physical standby with session shutdown;
- 数据库已更改。
- SQL> shutdown immediate
- ORA-01507: 未装载数据库
- ORACLE 例程已经关闭。
- SQL> startup mount
- ORACLE 例程已经启动。
- Total System Global Area 805875712 bytes
- Fixed Size 2217672 bytes
- Variable Size 595593528 bytes
- Database Buffers 201326592 bytes
- Redo Buffers 6737920 bytes
- 数据库装载完毕。
- SQL> select name, LOG_MODE, OPEN_MODE, database_role, SWITCHOVER_STATUS, db_unique_name from v$database;
- NAME LOG_MODE OPEN_MODE DATABASE_ROLE SWITCHOVER_STATUS DB_UNIQUE_NAME
- ------------------------- ------------ -------------------- ---------------- -------------------- ------------------------------
- ORCL ARCHIVELOG MOUNTED PHYSICAL STANDBY TO PRIMARY orcl
--新备库开启实时应用
- SQL> alter database recover managed standby database disconnect from session;
- 数据库已更改。
- SQL> select name, LOG_MODE, OPEN_MODE, database_role, SWITCHOVER_STATUS, db_unique_name from v$database;
- NAME LOG_MODE OPEN_MODE DATABASE_ROLE SWITCHOVER_STATUS DB_UNIQUE_NAME
- ------------------------- ------------ -------------------- ---------------- -------------------- ------------------------------
- ORCL ARCHIVELOG MOUNTED PHYSICAL STANDBY SESSIONS ACTIVE orcl
备库切换成主库
- SQL> host echo $ORACLE_SID
- standby
- SQL> alter database commit to switchover to primary with session shutdown;
- 数据库已更改。
- SQL> set line 9999 pagesize 9999
SQL> alter database open;
数据库已更改。
SQL> select name, LOG_MODE, OPEN_MODE, database_role, SWITCHOVER_STATUS, db_unique_name from v$database;
NAME LOG_MODE OPEN_MODE DATABASE_ROLE SWITCHOVER_STATUS DB_UNIQUE_NAME
--------- ------------ -------------------- ---------------- -------------------- ------------------------------
ORCL ARCHIVELOG READ WRITE PRIMARY TO STANDBY standby
至此切换完成
切换回原来的最初的状态
standby(新主库)上的操作
- SQL> alter database commit to switchover to physical standby with session shutdown;
- 数据库已更改。
- SQL> shutdown immediate
- ORA-01507: 未装载数据库
- ORACLE 例程已经关闭。
- SQL> startup mount;
orcl(新备库)上的操作
- SQL> !echo $ORACLE_SID
- orcl
- SQL> alter database commit to switchover to primary with session shutdown;
- 数据库已更改。
- SQL> alter database open;
- 数据库已更改。
- SQL> select name, LOG_MODE, OPEN_MODE, database_role, SWITCHOVER_STATUS, db_unique_name from v$database;
- NAME LOG_MODE OPEN_MODE DATABASE_ROLE SWITCHOVER_STATUS DB_UNIQUE_NAME
- ------------------------- ------------ -------------------- ---------------- -------------------- ------------------------------
- ORCL ARCHIVELOG READ WRITE PRIMARY TO STANDBY orcl
standby(新主库)上的操作
- SQL> alter database recover managed standby database disconnect from session;
- 数据库已更改。
DG的Switchover切换的更多相关文章
- 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 ...
- 【DATAGUARD】物理dg的switchover切换(五)
[DATAGUARD]物理dg的switchover切换(五) 一.1 BLOG文档结构图 一.2 前言部分 一.2.1 导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其 ...
- DG中switchover切换操作
问题描述:我们配置DG的目的就是为了在主库出现故障时,备库能够提供服务,保证业务的正常运行,switchover是用户有计划的进行停机切换,能够保证不丢失数据,我记录一下我进行switchover中的 ...
- 【DATAGUARD】物理dg的failover切换(六)
[DATAGUARD]物理dg的failover切换(六) 一.1 BLOG文档结构图 一.2 前言部分 一.2.1 导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你 ...
- 【Oracle】DG中 Switchover 主、备切换
操作系统:OEL 5.6 数据库版本:Oracle11gR2 11.2.0.4.0 Switchover切换要求主库和备库在数据同步情况下进行,是主备之间的正常切换,主要用于日常维护.灾备演练等.切 ...
- data guard switchover切换异常
data guard switchover切换异常 查看DG数据库备份库发现,switchover_status为SWITCHOVER LATENT SQL> select OPEN_MODE, ...
- DG主备切换遇到not allwod或者RESOLVABLE GAP解决办法
今天做switchover,环境是11.2.0.3+OEL5.7,开始时主备库状态都是正常的,符合直接切换条件: 主库: SQL> select open_mode,database_role, ...
- oracle dg failover灾难切换
oracle dg failover灾难切换SQL> alter database recover managed standby database finish force;SQL> a ...
- DG - logical standby switchover切换过程
从11g起,主库和逻辑备库之间切换不再需要关闭任何数据库实例. 1.检查主数据库是否处于考虑切换状态 SQL> select switchover_status from v$database; ...
随机推荐
- Responsive设计——不同设备的分辨率设置
下面我们一起来看看CSS3 Meida Queries在标准设备上的运用,大家可以把这些样式加到你的样式文件中,或者单独创建一个名为“responsive.css”文件,并在相应的条件中写上你的样式, ...
- 索尼Sony ATI显卡驱动 Win7 Win8 Win8.1 视频黑屏 解决方法
索尼ATI显卡驱动 Win7 Win8 Win8.1 视频 黑屏 完美解决方法: 下载这个补丁 安装 即可 解决 ! baidu pan: http://pan.baidu.com/s/1gd ...
- Djunit工作记录Mock时出现为null的情况setReturnValueAt|MockObjectManager.addReturnValue不起作用
最近工作要对代码进行局部测试并编写测试文档,可是偶的环境还没搞好哦(开始不太乐意直接请教前辈,还是选择自己先搞一下了)经过电脑重装jdk ,eclipse,djunit工具包ver***,等等确定不是 ...
- 夺命雷公狗----Git---4---多人协作实现
基本流程: 1..创建一个git裸服务器(git init --bare) 2..从裸服务器将版本库克隆到本地(git clone) 3..本地常规操作(git remote + git push o ...
- 【转】python中的正斜杠、反斜杠
原文地址:http://www.cnblogs.com/followyourheart1990/p/4270566.html 首先,"/"左倾斜是正斜杠,"\" ...
- 几个js函数
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...
- 关于oracle中in和exists的区别
一般来说,这两个是用来做两张(或更多)表联合查询用的,in是把外表和内表作hash 连接,而exists 是对外表作loop 循环,假设有A.B两个表,使用时是这样的: 1.select * from ...
- PHP 生成验证码
//加载 vendor目录的phpqrcode.类文件 $a = vendor("phpqrcode.qrlib");// 创建目录 echo mkdir(__ROOT__.'/U ...
- 非常好的Oracle教程【转】
http://www.blogjava.net/kiant/articles/234781.html Oracle 笔记(四).SQL 几个要点 附录: 1.SQL 简介 2.SQL 操作符 3.Or ...
- 如何用Java代码列出一个目录下所有的文件?
目录文件夹 File file=new File("H:\\"); for(File temp:file.listFiles()){//Java5的新特性之一就是增强的for循环. ...