DG Switch over
DG切换迁移Switch over切换文档
本篇文档,整体结构:
1.切换前检查确认
2.DG切换角色操作
3.切换后检查确认
目录:
一、切换前检查确认
1.数据库版本
2.DG架构,IP信息及切换角色前后
3.DG切换方式,switch over or fail over
4.DG迁移是否需要修改vip and scan or service_name ........(本质考虑是切换后应用的连接方式)
5.DG连通性,是否正常,主库switch_status is to standby database
6.DG相关参数,及切换后准备参数修改脚本
7.DG备库的数据文件路径
8.检查DG备库的口令文件,参数文件,sqlnet.ora配置文件是否正常
9.备库监听配置文件,切换后tnsnames.ora配置提前配置
10.crontab操作系统定时任务是否迁移
二、DG切换角色操作
1.观察主备延迟确认连通性OK
2.原主库切换角色被备库
3.将指定的备库切换为新主库
4.如果存在VIP修改,进行相关操作
5.如果存在crontab,可以进行迁移或者注释解除
三、切换后检查确认
1.新主库修改远程归档参数,传输归档至新的备库
2.新备库修改相关参数,接受并应用新的主库远程归档参数
3.确认DG连通性
一、切换前检查确认
1.数据库版本
SQL>sqlplus / as sysdba
2.DG架构,IP信息及切换角色前后
$cat /etc/hosts
SQL> show parameter log_archive_config
SQL> show parameter archive
$tnsping tnsnames_name
SQL> select dbid,name, database_role,open_mode,SWITCHOVER_STATUS,PROTECTION_MODE,FORCE_LOGGING from v$database;
3.DG切换方式,switch over or fail over
switch over
4.DG迁移是否需要修改vip and scan or service_name ........(本质考虑是切换后应用的连接方式)
否,应用修改连接IP,service_name也无需修改,应用程序修改连接数据库方式
5.DG连通性,是否正常,主库switch_status is to standby database
primary
SQL> select thread#,sequence# from v$log where status='CURRENT';
standby
SQL> select DEST_ID,THREAD#,max(SEQUENCE#) from v$archived_log where APPLIED='YES' group by DEST_ID,THREAD#;
primary
SQL> alter system archive log current;
standby
SQL> select DEST_ID,THREAD#,max(SEQUENCE#) from v$archived_log where APPLIED='YES' group by DEST_ID,THREAD#;
SQL> select process,client_process,sequence#,status,BLOCK#,BLOCKS from v$managed_standby;
SQL> select name from v$archived_log where (thread#,sequence#) in (select THREAD#,max(SEQUENCE#) from v$archived_log where dest_id=1 group by thread#);
6.DG相关参数,及切换后准备参数修改脚本
SQL> show parameter archive
log_archive_config
log_archive_dest_1 ......
log_archive_dest_state_1 ......
SQL> show parameter fal
fal_client
fal_server
SQL> show parameter convert
db_file_name_convert
log_file_name_convert
SQL> show parameter manage
standby_file_management【AUTO】
SQL> show parameter pass
remote_login_passwordfile【EXCLUSIVE】
7.主备文件路径
SQL> select name from v$datafile union select name from v$datafile;
SQL> select member from v$logfile;
8.检查DG备库的口令文件,参数文件,sqlnet.ora配置文件是否正常
--sqlnet.ora 检测,与主库一致,无需修改
--[oracle@cjptdb2 admin]$ cat sqlnet.ora
-#SQLNET.ALLOWED_LOGON_VERSION=8
-SQLNET.ALLOWED_LOGON_VERSION_SERVER=8
-SQLNET.ALLOWED_LOGON_VERSION_CLIENT=8
口令文件主库scp
参数文件,切换后为新的主库RAC,需要关注RAC参数:
---*.cluster_database=true
---*.compatible='12.2.0'
---xxx1.instance_number=1
---xxx2.instance_number=2
---xxx1.thread=1
---xxx2.thread=2
---xxx1.undo_tablespace='UNDOTBS1'
---xxx2.undo_tablespace='UNDOTBS2'
9.备库监听配置文件,切换后tnsnames.ora配置提前配置
提前准备修改
10.crontab操作系统定时任务是否迁移
$crontab -l
二、DG切换角色操作
1.观察主备延迟确认连通性OK
SQL> select name,value,unit,time_computed from v$dataguard_stats where name in ('transport lag','apply lag');
SQL> select database_role,switchover_status from v$database;
SQL>alter system checkpoint global;
2.原主库切换角色被备库
1) TO STANDBY 状态主库切换到备库:
SQL>alter database commit to switchover to physical standby;
2) SESSION ACTIVE 状态主库切换到备库:
SQL>alter database commit to switchover to physical standby with session shutdown;
3.将指定的备库切换为新主库
备库确认是否为可切换状态(TO PRIMARY 或 SESSION ACTIVE状态可切换):
select database_role,switchover_status from v$database;
1) TO PRIMARY 状态备库切换到主库:
alter database commit to switchover to primmary;
alter database open;
2) SESSIONN ACTIVE 状态备库切换到主库:
alter database commit to switchover to primary with session shutdown;
alter database open;
4.如果存在VIP修改,进行相关操作
5.如果存在crontab,可以进行迁移或者注释解除
三、切换后检查确认
1.新主库修改远程归档参数,传输归档至新的备库
SQL>alter system set log_archive_dest_2='SERVICE=cjptdb1 LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) db_unique_name=cjptdb';
检查归档线程状态
log_archive_dest_state_2 enable
2.新备库修改相关参数,接受并应用新的主库远程归档参数
SQL>alter system set db_file_name_convert='+DATA/DATAFILE/','/u01/oradata/','+DATA/TEMPFILE/','/u01/oradata/' scope=spfile;
SQL>alter system set log_file_name_convert='CJPTDG','CJPTDB' scope=spfile;
观察告警日志、备库 v$archived_log 视图、主库 archive log list信息,确定日志能在备库应用。
SQL>alter database recover managed standby database disconnect from session;
3.确认DG连通性
SQL>select * from v$archive_gap;
SQL>select name,value,unit,time_computed from v$dataguard_stats where name in ('transport lag','apply lag');
SQL>select process,client_process,sequence#,status,BLOCK#,BLOCKS from v$managed_standby;
SQL>set linesize 200
SQL>col dest_name for a40
SQL>select DEST_NAME , STATUS , RECOVERY_MODE from v$archive_dest_status;
SQL>select dest_id,error from v$archive_dest;
primary
SQL> select thread#,sequence# from v$log where status='CURRENT';
standby
SQL> select DEST_ID,THREAD#,max(SEQUENCE#) from v$archived_log where APPLIED='YES' group by DEST_ID,THREAD#;
primary
SQL> alter system archive log current;
standby
SQL> select DEST_ID,THREAD#,max(SEQUENCE#) from v$archived_log where APPLIED='YES' group by DEST_ID,THREAD#;
SQL> select process,client_process,sequence#,status,BLOCK#,BLOCKS from v$managed_standby;
SQL> select name from v$archived_log where (thread#,sequence#) in (select THREAD#,max(SEQUENCE#) from v$archived_log where dest_id=1 group by thread#);
DG Switch over的更多相关文章
- ORACLE Physical Standby DG 之switch over
DG架构图如下: 计划,切换之后的架构图: DG切换: 主备切换:这里所有的数据库数据文件.日志文件的路径是一致的 [旧主库]主库primarydb切换为备库standby3主库检查switchove ...
- DG gap sequence修复一例
环境:Oracle 11.2.0.4 DG 故障现象: 客户在备库告警日志中发现GAP sequence提示信息: Mon Nov 21 09:53:29 2016 Media Recovery Wa ...
- oracle DG 主备切换语句整理
今日花了一下午时间进行了Oracle DataGuard的切换练习,参考了网上好多文章,最后将一些语句进行摘录,以备以后查询使用.之后有时间会带来Oracle DG的搭建和切换全过程文章. DataG ...
- Deploy 11.2.0.3 RAC+DG on Windows 2008 R2 Step by Step
环境规划: 节点1: tc1 192.168.56.101 内存:2G 节点2: tc2 192.168.56.102 内存:2G 物理备库:tcdg192.168.56.108内存:1.5G 操作系 ...
- 试DG周围环境
试DG周围环境 周围环境 名称 主库 备库 主机名 bjsrv shsrv 软件版本号 RedHat Enterprise5.5.Oracle 11g 11.2.0.1 RedHat Enterpri ...
- 【DG】[三思笔记]一步一步学DataGuard
[DG][三思笔记]一步一步学DataGuard 它有无数个名字,有人叫它dg,有人叫它数据卫士,有人叫它data guard,在oracle的各项特性中它有着举足轻理的地位,它就是(掌声)..... ...
- 【DG】Oracle_Data_Guard官方直译
[DG]Oracle Data Guard官方直译 1 Oracle Data Guard 介绍 Oracle Data Guard概念和管理10g版本2 Oracle Data Guard ...
- ARCH和LGWR进程同步DG日志的区别
ARCH和LGWR进程同步DG日志的区别 我在做Standby RAC实验时,起初使用的是ARCH传输,后来将其改为LGWR传输(实际是LGWR分出的小工进程LNS): --之前的设置 alter s ...
- Oracle DG测试failover和后续恢复报告
Oracle DG测试failover和后续恢复报告 一.概述 二.验证过程: 2.1 A库异常关闭 2.2 B库进行failover切换为新主库 2.3 要求C库成为新主库的备库 2.4 要求A库成 ...
随机推荐
- 移动端input输入placeholder垂直不居中
在移动端编写input输入框时候,为了输入文字与输入框垂直居中,一般情况下,会将input的line-height的高度等于height.但在移动端输入的时候会发现,虽然输入内容确实是垂直居中了,但是 ...
- nginx 出现504 Gateway Time-out的解决方法
本文介绍nginx出现504 Gateway Time-out问题的原因,分析问题并提供解决方法. 1.问题分析nginx访问出现504 Gateway Time-out,一般是由于程序执行时间过长导 ...
- 【调试基础】Part 1 寄存器
01 寄存器体系 02 16/32/64位寄存器
- linux php7.2安装扩展memcached
wget http://pecl.php.net/get/igbinary-2.0.8.tgz tar -xzvf igbinary-2.0.8.tgz cd igbinary-2.0.8 /usr/ ...
- oracle分析性能问题实例
摘录于SAP有关分析ORACLE数据性能事件的文档. 1.A check for the distribution of relevant Oracle server time revealed: 有 ...
- System.out.print()执行顺序
今天使用递归调用计算的时候发现一个很奇怪的问题 代码: public class practice20 { public static double nStep(double N) { if (N&l ...
- __name__ __doc__ __package__
__name__只有主程序调用才可以 如果自己的唯一入口被调用 if __name__ == '__main__' : 才执行下面的代码 """ 这个是format的注释 ...
- Django知识总结(二)
拾 ● 模型(M) 一 ● ORM(对象关系映射, Object Relational Mapping) 类----一张表 类的实例对象----表中的一条记录 映射关系 ①python的类名对应的SQ ...
- 实训任务04 MapReduce编程入门
实训任务04 MapReduce编程入门 1.实训1:画图mapReduce处理过程 使用有短句“A friend in need is a friend in deed”,画出使用MapReduce ...
- 关于Apache的配置方法和步骤
一.下载.安装和卸载 网址:https://httpd.apache.org/docs/current/platform/windows.html#down 点击ApacheHaus,在里面下载任何版 ...