在实际运营环境中,我们经常碰到类似这样的需求,譬如想不影响现网业务评估DB补丁在现网环境中运行的时间,或者是想在做DB切换前想连接Standby DB做实际业务运行的测试,如果在9i版本的时候,想做到这样,在不搭建新测试环境的前提下,可以将Standby DB激活后进行测试,但是激活后的Standby DB将不能再用于容灾,必须重建Standby DB。在10g以及11g之后,可以利用新特性很好的解决这个问题,激活的Standby DB可以闪回到激活前的状态,继续参与容灾,而不需要重建。

下面简单说明下实施的步骤:
1:确保设置了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。
2:取消Standby DB的同步,创建可保障的还原点。
SQL> alter database recover managed standby database cancel;
SQL> create restore point beforetest guarantee flashback database;

3:激活Standby库进行测试
SQL> alter database activate standby database;
SQL> alter database open;
测试Standby DB已激活并可写打开,之后可以开始进行测试。

4:将激活的Standby 库闪回并重新转换为Standby DB。
SQL> startup mount force
SQL> flashback database to restore point beforetest;
SQL> alter database convert to physical standby ;

5:删除之前创建的还原点并重新开启同步
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功能的一个包装而已,唯一不同的是在转换为读写模式后任然可以继续接受主库过来的归档日志。
步骤如下:
1:取消日志应用
SQL> alter database recover managed standby database cancel;

2:重启并转换成Snapshot Standby Database。
SQL> shutdown immediate;
SQL> startup mount
SQL> alter database convert to snapshot standby;

3:打开后可进行读写相关测试
SQL> alter database open;

4:重新转换成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;
SQL> alter database recover managed standby database disconnect from session;

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

Oracle DG强制激活 备库的更多相关文章

  1. oracle 利用flashback将备库激活为read wirte(10g 及上)

    oracle 利用flashback将备库激活为read wirte(10g 及上) 环境: OS: CENTOS 6.5 X64 DB: ORACLE 10.2.0.5 主库操作: SQL> ...

  2. 【Oracle】DG中物理备库、快照备库的相互转换

    一.物理备库切换快照备库 1. 如果正在运行日志应用,先停止 ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL; 2. 确保数据库为MOUN ...

  3. ORACLE Physical Standby 级联备库搭建

    搭建oracle 级联DG 现有架构:physical standby 一主二备,在此基础上,在主库下新建备库standby3.级联备库cascade 数据库版本 11.2.0.4 db_name=p ...

  4. Oracle数据库由dataguard备库引起的log file sync等待

    导读: 最近数据库经常出现会话阻塞的报警,过一会又会自动消失,昨天晚上恰好发生了一次,于是赶紧进行了查看,不看不知道,一看吓一跳,发现是由dataguard引起的log file sync等待.我们知 ...

  5. Oracle 物理和逻辑备库健康监測的一个根据

    以以下keyword眼为例: 1 物理备库健康检查根据: Tue Apr 22 16:44:51 CST 2014Media Recovery Log /data/CMS/arch_log/1_583 ...

  6. Oracle dg下掉一个从库

    1.在数据库中查找要下线的从库 SQL> show parameter log_archive_dest NAME TYPE VALUE----------------------------- ...

  7. 使用DUPLICATE 方式创建ORACLE 11G DG备库环境

    我的最佳实践 ① 手动创建好初始化参数文件: *.audit_file_dest='E:\APP\XJXU\ADMIN\ORASTAND\ADUMP'*.control_files='E:\APP\X ...

  8. Oracle DG测试failover和后续恢复报告

    Oracle DG测试failover和后续恢复报告 一.概述 二.验证过程: 2.1 A库异常关闭 2.2 B库进行failover切换为新主库 2.3 要求C库成为新主库的备库 2.4 要求A库成 ...

  9. pgsql物理复制(pgsql 备库的搭建以及角色互换,提升)

    结构图如下: Postgresql早在9.0版本开始支持物理复制,也称为流复制,通过从实例级复制出一个与主库一模一样的备库.流复制同步方式有同步,异步两种,如果主节点和备节点不是很忙,通常异步模式下备 ...

随机推荐

  1. 动画切换效果之push、pop、present、dismiss

    有时候页面跳转或视图切换的时候,需要做成特定的效果,常见的push.pop.present.dismiss效果如下,注意要添加代理 push默认动画效果 CATransition *transitio ...

  2. JS对象序列化为JSON对象的方法

    var $ = $ || {}; /** * 将JS对象序列化为JSON字符串 * @param {Mixed} o The variable to decode * @return {String} ...

  3. 查看网络连接数目(解决TIME_WAIT过多造成的问题_转)

      转自:解决TIME_WAIT过多造成的问题 (eroswang的csdn) #netstat -n | awk '/^tcp/ {++S[$NF]} END { for(a in S) print ...

  4. 信号signal编号及意义及一般处理

    SIGQUIT:停止 SIGILL:illegal instruction SIGABRT:Abort SIGFPE:Float point exception SIGPIPE:Broken pipe ...

  5. 封装常用的selenium方法

    package com.yk.userlive.base; import java.net.MalformedURLException;import java.net.URL;import java. ...

  6. 【c语言】将正数变成相应的负数,将负数变成相应的正数

    <pre name="code" class="cpp">// 将正数变成相应的负数,将负数变成相应的正数 #include <stdio.h ...

  7. db2 sequence

    我的上两个专栏中已经介绍到了与版本 8 功能相关的主题.我们可能需要在今天设计的数据库和应用程序中考虑这些功能.我们已经谈论了新的数据分区的辅助索引和附加的索引修改.在上一期中,我们了解了 DSSIZ ...

  8. @Override must override a superclass method 有关问题解决

    1.Java开发环境时 如果在使用Eclipse开发Java项目时,在使用 @Override 出现以下错误: The method *** of type *** must override a s ...

  9. FineReport---样式

    1.单元格样式 单元格样式说明 2.预定义样式 预定义样式说明 这里发现,改了样式,服务器更新Congfig,需要重启服务器,这样比较麻烦 我的操作是,先设置预定义样式,然后再点击自定义样式,操作是就 ...

  10. Exchange 2016 系统要求

    Exchange 2016 和早期版本的 Exchange Server 共存方案 Exchange 2016支持混合部署方案 Exchange 2016 的网络和目录服务器要求 目录服务体系结构: ...