zoukankan      html  css  js  c++  java
  • 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
    ------------------------------------------
    
  • 相关阅读:
    文件上传和多线程通信
    黏包
    socket通信
    osi七层协议
    面向对象的反射和双下方法
    类的成员和异常处理
    python面向对象类的约束和设计的统一化规范
    单继承和多继承
    对象
    Python-----带参数的装饰器以及补充
  • 原文地址:https://www.cnblogs.com/monkey6/p/14750080.html
Copyright © 2011-2022 走看看