Oracle 10g/11g下如何将物理Standby库临时激活用于测试

在实际运营环境中, 我们经常碰到类似这样的需求:

譬如想不影响现网业务评估DB补丁在现网环境中运行的时间, 或者是想在做DB切换前想连接Standby DB做实际业务运行的测试.

  • 如果在9i版本的时候, 想做到这样, 在不搭建新测试环境的前提下, 可以将Standby DB激活后进行测试, 但是激活后的Standby DB将不能再用于容灾, 必须重建Standby DB;

  • 在10g以及11g之后, 可以利用新特性很好的解决这个问题, 激活的Standby DB可以闪回到激活前的状态, 继续参与容灾, 而不需要重建.


下面简单说明下实施的步骤:

  • Oracle 10g环境下:

    • 确保设置了Flash Recovery Area

        SQL> show parameter db_recovery
      
        NAME                                 TYPE                   VALUE
      ------------------------------------ ---------------------- ------------------------------
      db_recovery_file_dest string /data1/flash_recovery_area
      db_recovery_file_dest_size big integer 80G

      如果没设置, 请使用alter system命令进行设置, 需要重启DB.

    • 取消Standby DB的同步, 创建可保障的还原点.

        SQL> alter database recover managed standby database cancel;
      SQL> create restore point beforetest guarantee flashback database;
    • 激活Standby库进行测试

        SQL> alter database activate standby database;
      SQL> alter database open;

      测试Standby DB已激活并可写打开, 之后可以开始进行测试.

    • 将激活的Standby 库闪回并重新转换为Standby DB。

        SQL> startup mount force
      SQL> flashback database to restore point beforetest;
      SQL> alter database convert to physical standby ;
    • 删除之前创建的还原点并重新开启同步

        SQL> startup mount force;
      SQL> drop restore point beforetest;
      SQL> alter database recover managed standby database disconnect from session;

    在这个过程中, 主库到备库的日志传输会报错, 建议在主库上将到Standby DB的日志传输先停止:

      SQL> alter system set log_archive_dest_state_2=defer;

    等闪回后再重新启用日志传输:

      SQL> alter system set log_archive_dest_state_2=enable;
  • Oracle 11g环境下:

    步骤更简单,11g中加入了Snapshot Standby Database的新特性, 其实也就是上面10g功能的一个包装而已, 唯一不同的是在转换为读写模式后任然可以继续接受主库过来的归档日志.

    步骤如下:

    • 取消日志应用

        SQL> alter database recover managed standby database cancel;
    • 重启并转换成Snapshot Standby Database。

        SQL> shutdown immediate;
      SQL> startup mount
      SQL> alter database convert to snapshot standby;
    • 打开后可进行读写相关测试

        SQL> alter database open;
    • 重新转换成physical Standby并开启同步

        SQL> shutdown immediate
      SQL> startup mount
      SQL> alter database convert to physical standby;
      SQL> shutdown immediate;
      SQL> startup nomount
      SQl> alter database mount standby database;
      SQL> alter database open read only;
      SQL> alter database recover managed standby database disconnect from session using current logfile;
  • 需要注意的点:

    • 10g中创建的还原点必须在闪回后进行删除, 否则闪回恢复区可能会被撑满, 导致DB Hang住;
    • 11g中不用担心这个问题, 在重新转换为physical standby时会自动进行还原点删除;

[Oracle] 临时将Physical Standby激活的更多相关文章

  1. ORACLE 11gR2 DG(Physical Standby)日常维护01

    环境:RHEL 6.4 + Oracle 11.2.0.4 一.主备手工切换 1.1 主库,切换成备库并启动到mount 1.2 备库,切换成主库并启动到open 1.3 新的备库启动日志应用 二.重 ...

  2. ORACLE 11gR2 DG(Physical Standby)日常维护02

    环境:RHEL 6.5 + Oracle 11.2.0.4 三.监控DG的状态 3.1监控DG备库的状态 3.2监控主库传输日志链路的状态 四.备库切换为snapshot standby 4.1备库切 ...

  3. 聊聊Oracle 11g的Snapshot Standby Database(上)

    Oracle 11g是Data Guard的重要里程碑版本.在11g中,Active DataGuard.Advanced Compression等特性大大丰富了Data Guard的功能和在实践领域 ...

  4. 【原】Configuring Oracle Data Guard In Physical Standby Database

    作者:david_zhang@sh [转载时请以超链接形式标明文章] http://www.cnblogs.com/david-zhang-index/p/5042640.html参照文档:https ...

  5. [Oracle][DATAGUARD] PHYSICAL STANDBY环境里,使用CATALOG管理Primary和Standby

    1.先使用控制文件构筑好PHYSICAL STANDBY环境(Primary:Single 11.2.0.4,Standby Single 11.2.0.4) 2.构筑好Catalog用的服务器(Ca ...

  6. [Oracle][DATAGUARD] 关于确认PHYSICAL STANDBY的同期状况的方法

    补上简单的确认PHYSICAL STANDBY的同期状况的方法: ODM TEST CASE===================Name = TC#1010_3 ####Primary#### SQ ...

  7. oracle 11g physical standby switchover

    简介 SWITCHOVERS主要是在计划停机维护时用来降低DOWNTIME,如硬件维护.操作系统升级或是数据库rolling upgrade, 也可用来进行特殊情况下的数据库迁移. SWITCHOVE ...

  8. ORACLE 11.2.0.4 Single To Single Data Guard 安装 physical standby

    [root@ORACLE ~]# su - oracle [oracle@ORACLE ~]$ sqlplus / as sysdba . 查看主库归档模式: SQL> select log_m ...

  9. ORACLE Physical Standby DG 之switch over

    DG架构图如下: 计划,切换之后的架构图: DG切换: 主备切换:这里所有的数据库数据文件.日志文件的路径是一致的 [旧主库]主库primarydb切换为备库standby3主库检查switchove ...

随机推荐

  1. ATM-db-dnhandler

    import os,jsonfrom conf import settings def select(name): user_path = os.path.join(settings.BASE_DB, ...

  2. 【CSS】css控制模块到顶层或底层

    举例子,分别有div1和div2现要把div1控制在div2的顶层,可以这样做: } div.div2{} 两个要点:一.设置div的position为absolute,即绝对定位.二.z-index ...

  3. linux批量替换

    sed -i "s/李三/李四/g"  -r result/*       将result文件夹下的所有文件中的李三替换成李四 sed命令下批量替换文件内容  格式: sed -i ...

  4. 动态规划:HDU1712-ACboy needs your help(分组背包问题)

    ACboy needs your help Time Limit : 1000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Othe ...

  5. 批量导出ppt中内嵌的图片

    某个ppt中很多页,然后插入了很多图片,且图片都是被压缩的,看起来非常费劲,所以想着一次性把图片另存为,找了接近一个小时,终于被我找到啦,分享给大家: 1.直接把ppt的后缀修改为rar 2.解压ra ...

  6. Python 信号处理 signal 模块

    Table of Contents 1. signal模块简介 1.1. signal简单示例 1.2. signal说明 1.2.1. 基本的信号名 1.2.2. 常用信号处理函数 2. signa ...

  7. 【POI 2010】反对称 Antisymmetry

    题目: 对于一个 $0/1$ 字符串,如果将这个字符串 $0$ 和 $1$ 取反后,再将整个串反过来和原串一样,就称作「反对称」字符串.比如 $00001111$ 和 $010101$ 就是反对称的, ...

  8. 【清华集训】小Y和地铁

    图已挂,前往luogu 题目: 小 $\rm Y$ 是一个爱好旅行的 $\rm OIer$.一天,她来到了一个新的城市.由于不熟悉那里的交通系统,她选择了坐地铁.她发现每条地铁线路可以看成平面上的一条 ...

  9. Windows网络编程笔记3 ---- 邮槽和命名管道

    邮槽和命名管道的使用方法也很简单,只需几个有限的函数就可以实现双方的通信. 第三.邮槽 邮槽----进程间通信机制. 通过邮槽客户进程可以将消息通过广播给一个或多个服务进程.这是一个单向通信机制,缺点 ...

  10. linux常用的日志分析脚本

    linux实用的日志分析脚本 日志分析 随意的tail一个access_log文件,下面是一条经典的访问记录 /Dec/::: +] “GET /query/trendxml/district/tod ...