• physical standby转换成snapshot用来压测


    原理

    创建还原点,利用闪回区记录转换为Read/Write中的变化,完成测试后,再将其还原回还原点的位置,重新变为physical standby database。

    禁用备库的备份

    进入备份管理机,将对应备库的归档和全备禁用

    禁用备库的排程

    crontab -e
    

    创建闪回区目录

    如果业务很忙,闪回日志会很大,需要存放在一个比较大的目录中

    mkdir -p /oggdata/flash_recovery_area
    

    修改数据库参数

    --修改闪回区位置
    alter system set db_recovery_file_dest='/oggdata/flash_recovery_area';
    --修改闪回区限额
    alter system set db_recovery_file_dest_size = 400G;
    --修改闪回区对象保存时间(2天,根据实际需求调整)
    alter system set db_flashback_retention_target=2880;
    
    冻结VCS
    hagrp -freeze {vcsgroup}
    

    转换

    --取消日志应用
    alter database recover managed standby database cancel;
    --关闭数据库并启动至mount状态
    shutdown immediate;
    startup mount;
    --转换
    ALTER DATABASE CONVERT TO SNAPSHOT STANDBY;
    --打开数据库
    alter database open;
    --查看数据库的状态
    select open_mode,database_role from v$database;
    

    修改主库归档删除脚本

    #!/bin/bash
    source ~/.bash_profile
    echo "start date ---------------------->"`date`
    rman target / << eof
    delete noprompt force archivelog until time 'sysdate - 6/24';
    exit
    eof
    echo "end date ---------------------->"`date`
    

    验证

    1. 查看对应闪回区下是否产生了文件

      cd /oggdata/flash_recovery_area/{db_unqie_name}/flashback/
      ll
      
    2. 使用工具进行连接

      创建一个表并且插入试试是否可读可写

    3. 查看主库归档是否传送过来

    4. 主库alert日志中是否有错误信息

    转换回来

    转换
    -- 关闭数据库并启动至mount状态
    shutdown immediate;
    startup mount;
    --转换
    ALTER DATABASE CONVERT TO PHYSICAL STANDBY;
    --关闭并重新MOUNT,执行上一步之后,数据库无法mount(ORA-00750: database has been previously mounted and dismounted)
    shutdown immediate;
    startup nomount;
    alter database mount standby database;
    --查看数据库的状态
    select open_mode,database_role from v$database;
    -- 应用日志
    alter database recover managed standby database disconnect;
    
    验证
    1. 查看数据库日志是否应用
    2. 查看alert日志是否有报错
    还原数据库参数
    --修改闪回区位置
    alter system set db_recovery_file_dest='/oracle/flash_recovery_area';
    --修改闪回区限额
    alter system set db_recovery_file_dest_size = 4G;
    --修改闪回区对象保存时间(2天,根据实际需求调整)
    alter system set db_flashback_retention_target=1440;
    
    打开备份

    进入管理机打开备份

    参考:測試Oracle dataguard snapshot standby

    打开EM

    1. 直接打开后,无法进入EM

      503 Service Unavailable

    2. 关闭EM

      emctl stop dbconsole
      
    3. 修改hosts文件

      vi /etc/hosts
      -------------------------------------------------
      192.168.2.3  standby-vip
      # 修改为(使用主库的EM,因此要用主库的虚拟IP)
      192.168.2.3  standby-vip primary-vip
      -------------------------------------------------
      # ping一下,确定是192.168.2.3
      ping primary-vip
      
    4. 将主库的EM文件scp过来

      cd /oracle/11204/oc4j/j2ee/
      scp -r OC4J_DBConsole_primary-vip_MONKEY 192.168.2.3:`pwd`
      cd /oracle/11204/
      scp -r primary-vip_MONKEY 192.168.2.3:`pwd`
      
    5. 修改环境变量,并打开

      export ORACLE_HOSTNAME=primary-vip
      export ORACLE_UNQNAME=MONKEY
      emctl status dbconsole
      emctl start dbconsole
      

    关闭EM

    cd /oracle/11204/oc4j/j2ee/
    ll
    export ORACLE_HOSTNAME=primary-vip
    export ORACLE_UNQNAME=MONKEY
    emctl status dbconsole
    emctl stop dbconsole
    emctl status dbconsole
    
    vi /etc/hosts
    ------------------------------------------
    192.168.2.3    standby-vip primary-vip
    # 修改为
    192.168.2.3    standby-vip
    ------------------------------------------
    
  • 相关阅读:
    python基础-网络编程part01
    常见的加密算法
    mvn常用命令
    Stream排序Map集合
    解决浮点运算精度不准确,BigDecimal 加减乘除
    阿里fastjson解析
    java可变参数
    set集合迭代
    包装类型间的相等判断
    java集合与数组之间转换
  • 原文地址:https://www.cnblogs.com/monkey6/p/14750080.html
Copyright © 2020-2023  润新知