为大家分享一个【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 自动切换脚本分享的更多相关文章

  1. oracle expdp自动备份脚本

    windows: @echo off echo ================================================ echo Windows环境下Oracle数据库的自动 ...

  2. IP自动切换脚本

    @echo off & cls & color 47 & mode con cols=80 lines=25 & title [IP自动切换工具]clsecho. ec ...

  3. oracle数据库自动备份脚本

    ::通过exp命令导出远程机器(192.168.2.1)上指定服务(orcl)指定用户(pmis)及密码(pmis)的数据 ::运行该脚本的机器必须安装oracle @echo off @echo [ ...

  4. mysql+keepalived主从切换脚本 转

    Keepalived MySQL故障自动切换脚本   MySQL架构为master-slave(主从),master故障自动切换到slave上.当然也可以设置为双master,但这里有个弊端:就是当主 ...

  5. Windows下Oracle数据库自动备份批处理脚本

    expdb命令版本 @echo off REM ########################################################### REM # Windows Se ...

  6. SQL Server定时自动抓取耗时SQL并归档数据发邮件脚本分享

    SQL Server定时自动抓取耗时SQL并归档数据发邮件脚本分享 第一步建库和建表 USE [master] GO CREATE DATABASE [MonitorElapsedHighSQL] G ...

  7. Windows环境下Oracle数据库的自动备份脚本

    批处理文件(.bat) @echo off echo ================================================ echo  Windows环境下Oracle数据 ...

  8. 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 ...

  9. Linux oracle数据库自动备份自动压缩脚本代码

    Linux oracle数据库备份完成后可以自动压缩脚本代码. 复制代码代码如下: #!/bin/bash #backup.sh #edit: www.jbxue.com ##系统名称 sysname ...

  10. SQL Server定时自动抓取耗时SQL并归档数据脚本分享

    原文:SQL Server定时自动抓取耗时SQL并归档数据脚本分享 SQL Server定时自动抓取耗时SQL并归档数据脚本分享 第一步建库 USE [master] GO CREATE DATABA ...

随机推荐

  1. Jmeter函数助手24-longSum

    longSum函数可用于计算两个或多个长值的和.intSum函数参数值的范围在-2147483648到2147483647之间,而longSum函数的参数值范围比intSum的大. First lon ...

  2. 银河麒麟V10高级服务器编译安装pg13.4

    安装postgres依赖 yum install -y openssl openssl-devel pam pam-devel libxml2 libxml2-devel libxslt libxsl ...

  3. 【Spring-Security】Re04 Matchers配置规则API

    一.使用antMatchers放行静态资源: package cn.zeal4j.configuration; import cn.zeal4j.handler.FarsAuthenticationF ...

  4. 人形机器人(humanoid)的摔倒实验/撞击实验

    motivation: 人形机器人的实体比较昂贵,但是实验过程中机器人的摔倒和撞击时十分常见的事情,这就会导致机器人的元器件被损坏,造成较大的经济损失,为此我们在设计机器人的机械结构和电子元器件布局时 ...

  5. Accurately computing running variance —— 已知两个数列各自的均值和方差,如何快速求出两个数列拼合后的均值和方差(续)

    原内容来自: https://www.johndcook.com/blog/standard_deviation/ 计算公式: 该种计算方式可以只保存历史数据的平方和,与历史数据的和. 相关前文: 已 ...

  6. 安装windows11的注意事项

    进入到安装界面后,在选择时间和货币格式的时候选择:英语(世界),据说这样可以避免第三方软件的安装. KMS命令: slmgr /ipk W269N-WFGWX-YVC9B-4J6C9-T83GX sl ...

  7. 乌克兰学者的学术图谱case3

    ============================================ 背景: 弗兰采维奇材料问题研究是欧洲最大的材料科研院所,在核电.航空.航天.军工及其他装备制造领域的先进材料研 ...

  8. IntelliJ IDEA 2024.2 发布:Spring Data JPA即时查询、自动补全cron表达式

    今早看到,IntelliJ IDEA 2024.2 发布的邮件提示,看了一眼这个版本更新的新特性真的太适合我了!也许这些能力对关注DD的小伙伴也有帮助,所以搞篇博客介绍和推荐一下.下面就来一起看看这个 ...

  9. 01-canvas体验

    1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="U ...

  10. springcloud集成grpc(二)

    码云地址:https://gitee.com/lpxs/lp-springcloud.git 有问题可以多沟通:136358344@qq.com. 上一章内容介绍了springboot2集成net.d ...