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. php中处理字符串的常见函数

    编写程序的时候,经常要处理字符串,最基本就是字符串的查找,在php检测字符串中是否包含指定字符串可以使用正则,如果你对正则不了解,那么有几个函数可以为您提供方便. 1. strstr strstr() ...

  2. 并查集:HDU5326-Work(并查集比较简单灵活的运用)

    Work HDU原题地址:http://acm.hdu.edu.cn/showproblem.php?pid=5326 Time Limit: 2000/1000 MS (Java/Others) M ...

  3. Redis实现之复制(二)

    PSYNC命令的实现 在Redis实现之复制(一)这一章中,我们介绍了PSYNC命令和它的工作机制,但一直没有说明PSYNC命令的参数以及返回值.现在,我们了解了运行ID.复制偏移量.复制积压缓冲区以 ...

  4. Flask 中蓝图的两种表现形式

    最近在学Flask,特有的@X.route 很适合RESTfuld API, 一般小型应用,在一个py文件中就可以完成,但是维护起来比较麻烦. 想体验Django那样的MVT模式, 看到 Flask提 ...

  5. Careercup - Microsoft面试题 - 5485521224597504

    2014-05-12 06:19 题目链接 原题: Given an input list of lists.. flatten the list. For e.g. {{,}, {}, {,}} . ...

  6. leetcode 【 Find Minimum in Rotated Sorted Array 】python 实现

    题目: Suppose a sorted array is rotated at some pivot unknown to you beforehand. (i.e., 0 1 2 4 5 6 7  ...

  7. Windows网络编程笔记6 --- WinSock I/O 控制方法

    Windows提供了两种方式“套接字模式”和“套接字I/O模型”,可对一个套接字上的I/O行为加以控制.套接字模式用于决定在随一个套接字调用时,那些 Winsock函数的行为.其中的模型包括括sele ...

  8. MFC深入浅出读书笔记第二部分1

    第六章 MFC程序的生死因果 MFC学习过程,这个方法不错,条例清晰. 1.CWinApp  -- 取代WinMain地位 WinMain函数的功能由CWinApp的三个函数实现 virtual BO ...

  9. html之表单标签

    表单标签的属性: 用于向服务器传输数据 表单能够包含input元素,比如文本字段,复选框,单选框,提交按钮等等 表单还可以包含textarea(简介之类的),select(下拉),fieldset和l ...

  10. 如何从fragment跳到activity再从activity返回(finish()方法返回)刷新fragemnt页面

    代码改变世界 如何从fragment跳到activity再从activity返回(finish()方法返回)刷新fragemnt页面 广播方法实现Fragment页面刷新 fragment中重写onA ...