3
dgSwitch
HongyeDBA
资源大小:912.88K
984次下载
3876次浏览
2019-05-23
0墨值
4.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

程序切换流程图

DgSwitch.png

dgswich_beach.png

failover

./dgSwitch.pl -p orcl -s orcldg -f

知道flashback,会在failover时打开flaskback
./dgSwitch.pl -p orcl -s orcldg -f --flashback

【版权声明】本资源为墨天轮用户上传,如果您发现资源涉嫌侵权,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

贡献排行榜