Oracle ADG 自动切换脚本分享
为大家分享一个【Oracle ADG自动切换】的脚本,由云和恩墨工程师HongyeDBA编写,支持Switchover、Failover。
下载链接:https://www.modb.pro/download/5
DG环境需求
- DG使用服务名必须静态注册
- 切换机器必须安装oracle client
- 切换机器配置tnsnames.ora(需要连接到主库和备库,Rac需要配置多个节点的Tns别名)
- 程序不进行自动判断是否Failover操作
- 如果需要mount磁盘组,必须配置log_file_name_convert
额外环境说明
Switchover
- 主库使用SESSION SHUTDOWN进行切换
- 备库正常激活
Failover
如果主库存活
主库会尝试使用flush redo to dg进行操作(仅支持11G)如果主库不存活,存在存储复制(仅支持ASM)
存在存储复制把redo和控制文件复制到备端,请激活存储复制盘并设置正确的权限
脚本会尝试使用此控制文件和redo进行起库,如果启动会尝试使用备库控制文件启动(在此失败请人工处理)如果主库不存活,不存在存储复制
主动激活备库
参数说明
INFO: InitLogfile Logfile : /tmp/dgSwitch-travel.trc
=============================================================================
This script is used to Switch Oracle Database DataGuard.
=============================================================================
Usage :
perl dgSwitch.pl -P <SYS's Password> -p <TNS Alias> -s <TNS Alias>
-P : Specify the Password for SYS User, default:oracle
-p : Specify the Operation Node for Primary Site
: Rac Need All nodes [-p "orcl1 orcl2"]
-s : Specify the Operation Node for Standby Site
: Rac Need All nodes [-p "orcldg1 orcldg2"]
-f : Use Failover Method to do Switchover
-m : Standby Database Machine Memory Size(Mb)
: if set program Auto Set Sga , if not set not modify Sga Parameter
-i : ignore database params check
-c : Only Check Something,same -S 0
-S : <step #> Run the step # at a timeOnly Run One Step
-r : <num-num> Run the steps one after the other as long as no errors
Demo :
Single:Single : dgSwitch.pl -p orcl -s orcldg
Rac:Single : dgSwitch.pl -p "orcl1 orcl2" -s orcldg
Single:Rac : dgSwitch.pl -p orcl -s "orcldg1 orcldg2"
Rac:Rac : dgSwitch.pl -p "orcl1 orcl2" -s "orcldg1 orcldg2"
Need :
: Will Query V$DATABSAE、DBA_HIST_TEMPFILE、DBA_TABLESPACES、DBA_TEMP_FILES
: static register listener ,port 1522
: please set db_create_file_dest
: please set db_recovery_file_dest,db_recovery_file_dest_size
=============================================================================
- P sys用户密码,默认密码Oracle
- p 主库的tns别名,Rac需要输入多个,自动取其中之一进行switch操作
- s 备库的tns别名,Rac需要输入多个,自动取其中之一进行switch操作
- f 明确指定进行failover操作
- c 尽进行DG check检查
- m 指定备机的主机内存,会执行设置SGA操作
- i 忽略检查过程中判断参数问题
- S 执行单独的一步(大写),如
- -S 0 执行检查步骤
- -S 1 主库进行切换操作
- -S 2 备库进行切换操作
- -S 3 新主库进行切换操作
- -S 4 新住库解决临时表空间操作
- -S 5 新主库解决服务名切换操作
- -S 6 Redo处理操作
- -S 7 新备库进行切换操作
- -S 8 切换完成后检查
- r 执行多个步骤,如
- -r 0-8 全部执行,默认步骤
- -r 0-6 DG切换,并只完成主库操作
- -r 7-8 完成源主库操作
切换步骤
切换暂时分为8步,0-7如下
./dgSwitch.pl -p orcl -s orcldg -l
INFO: InitLogfile Logfile : /tmp/dgSwitch-travel.trc
The steps in order are...
Step 0 = CheckDbStatus
Step 1 = primaryOP
Step 2 = standbyOP
Step 3 = NewprimaryOP
Step 4 = resolveTmp
Step 5 = CheckService
Step 6 = CheckRedo
Step 7 = newstandbyOP
Step 8 = CheckDBAfter
程序切换流程图


failover
./dgSwitch.pl -p orcl -s orcldg -f
知道flashback,会在failover时打开flaskback
./dgSwitch.pl -p orcl -s orcldg -f --flashback
查看下载链接:https://www.modb.pro/download/5
墨天轮,围绕数据人的学习成长提供一站式的全面服务,打造集新闻资讯、在线问答、活动直播、在线课程、文档阅览、资源下载、知识分享及在线运维为一体的统一平台,持续促进数据领域的知识传播和技术创新。
关注官方公众号: 墨天轮、 墨天轮平台、墨天轮成长营、数据库国产化 、数据库资讯
Oracle ADG 自动切换脚本分享的更多相关文章
- oracle expdp自动备份脚本
windows: @echo off echo ================================================ echo Windows环境下Oracle数据库的自动 ...
- IP自动切换脚本
@echo off & cls & color 47 & mode con cols=80 lines=25 & title [IP自动切换工具]clsecho. ec ...
- oracle数据库自动备份脚本
::通过exp命令导出远程机器(192.168.2.1)上指定服务(orcl)指定用户(pmis)及密码(pmis)的数据 ::运行该脚本的机器必须安装oracle @echo off @echo [ ...
- mysql+keepalived主从切换脚本 转
Keepalived MySQL故障自动切换脚本 MySQL架构为master-slave(主从),master故障自动切换到slave上.当然也可以设置为双master,但这里有个弊端:就是当主 ...
- Windows下Oracle数据库自动备份批处理脚本
expdb命令版本 @echo off REM ########################################################### REM # Windows Se ...
- SQL Server定时自动抓取耗时SQL并归档数据发邮件脚本分享
SQL Server定时自动抓取耗时SQL并归档数据发邮件脚本分享 第一步建库和建表 USE [master] GO CREATE DATABASE [MonitorElapsedHighSQL] G ...
- Windows环境下Oracle数据库的自动备份脚本
批处理文件(.bat) @echo off echo ================================================ echo Windows环境下Oracle数据 ...
- Oracle自动备份脚本(网上找到的资料)
废话不多说了,直接给大家贴代码了,具体代码如下所示: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 ...
- Linux oracle数据库自动备份自动压缩脚本代码
Linux oracle数据库备份完成后可以自动压缩脚本代码. 复制代码代码如下: #!/bin/bash #backup.sh #edit: www.jbxue.com ##系统名称 sysname ...
- SQL Server定时自动抓取耗时SQL并归档数据脚本分享
原文:SQL Server定时自动抓取耗时SQL并归档数据脚本分享 SQL Server定时自动抓取耗时SQL并归档数据脚本分享 第一步建库 USE [master] GO CREATE DATABA ...
随机推荐
- Python异常处理try+except用法
1.except是用来捕获程序异常的 异常代码如: ModuleNotFoundError(没有找到模块,安装提示的模块即可) AttributeError(没有访问属性) TypeError(类型错 ...
- 如何构建“集成神经网络”“Ensemble neural network”
参考: https://arxiv.org/pdf/1603.05691.pdf 本文要讨论的是如何构建"集成神经网络"("Ensemble neural network ...
- 大模型时代该用什么样的显卡 —— 实验室新进两块A800显卡
具体如图: (这两个显卡是专为实验室的大模型方向提供的) 关于A800显卡的性能参数: (上图源自:https://www.zhihu.com/question/618932114/answer/32 ...
- ( Ubuntu环境下 )Vim插件推荐-Python自动补齐Vim插件jedi-vim的安装(使用插件管理器vundle进行安装)
Ubuntu系统下,为 Vim 安装python自动补齐的插件 jedi-vim . 1. jedi-vim安装依赖 首先,jedi-vim插件需要当前Vim版本支持python,在终端输 ...
- xshell终端——多个窗格同步输入——xshell同时控制多个窗口的快捷方式
参考: https://blog.csdn.net/m0_58347801/article/details/129551382 ======================== 突发发现了终端的另类用 ...
- Ubuntu18.04系统下网络文件系统nfs的安装及简单配置
硬件环境: 两台Ubuntu18.04服务器使用局域网连接,IP分别为192.168.11.66 和 192.168.11.206. ================================= ...
- 一直让 PHP 程序员懵逼的同步阻塞异步非阻塞,终于搞明白了
大家好,我是码农先森. 经常听到身边写 Java.Go 的朋友提到程序异步.非阻塞.线程.协程,让系统性能提高到百万.千万并发,使我甚是惊讶属实羡慕.对于常年写 PHP 的我来说,最初听到这几个词时, ...
- 最佳实践:解读GaussDB(DWS) 统计信息自动收集方案
摘要:现在商用优化器大多都是基于统计信息进行查询代价评估,因此统计信息是否实时且准确对查询影响很大,特别是分布式数据库场景.本文详细介绍GaussDB(DWS)如何实现了一种轻量.实时.准确的统计信息 ...
- AtCoder Beginner Contest 327 D
AtCoder Beginner Contest 327D D - Good Tuple Problem (atcoder.jp)(种类并查集,二分图染色) 算法学习笔记(7):种类并查集 附上典题: ...
- Microsoft Build Next-Gen Windows Dev (placeholder)
This is a placeholder page for Microsoft Build after party in next Month. Will update once I get det ...