为大家分享一个【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
墨天轮,围绕数据人的学习成长提供一站式的全面服务,打造集新闻资讯、在线问答、流动直播、在线课程、文档阅览、资源下载、常识分享及在线运维为一体的对立平台,继续促成数据畛域的常识流传和技术创新。
关注官网公众号: 墨天轮、 墨天轮平台、墨天轮成长营、数据库国产化 、数据库资讯
发表回复