ITPub博客

首页 > 数据库 > Oracle > 11gR2 Active Data Guard 闪回 - flashback database / snapshot standby - 2

11gR2 Active Data Guard 闪回 - flashback database / snapshot standby - 2

原创 Oracle 作者:tolywang 时间:2014-05-06 15:21:40 1 删除 编辑

二,11g 使用snapshot方式设置Data Guard闪回

     snapshot standby是11g引入的新特性,它不需要开启flashback database特性,就可以让physical standby数据库以read-write模式开启,而后可以退回到standby模式,所有open模式下的数据库中的更改的数据都会还原到之前的状态。

     显然,原理上Snapshot Standby功能是基于闪回数据原理的,因此任何导致闪回数据库无法回退的动作在这里也是被限制的,否则Snapshot Standby数据库将无法回到曾经的备库恢复状态。
比如:
a.  控制文件重建
b.  数据文件shrink
c.  表空间删除
d.  介质损坏


2.1  Convert到snapshot standby的步骤

1) 如果数据库是RAC, 那么关闭所有节点,开启一个节点上的实例到mount模式。
SQL> shutdown immediate;
SQL> startup mount; 

2) 关闭自动应用恢复(managed recovery)
SQL> alter database recover managed standby database cancel;

3) Convert standby数据库到snapshot standby.
在convert之前,我们先查询一下物理standby数据库flashback_on是否开启,发现是NO . 
SQL> select flashback_on from v$database;
 
FLASHBACK_ON
——————
 NO

Convert到snapshot standby,再次查看数据库的falshback_on状态。
SQL> alter database convert to snapshot standby;
SQL> alter database open;
 
SQL> select flashback_on from v$database;
 
FLASHBACK_ON
----——————
RESTORE POINT ONLY


可以发现flashback_on状态变成 RESTORE POINT ONLY,这和使用担保还原点(Guaranteed Restore Points)状态类似 .也就是说convert to snapshot standby命令相当于创建了一个担保还原点, 不过这个还原点的名字是什么 ? Oracle后期做convert to physical standby的时候又是如何找到还原点并操作的 ?

我们查询 V$RESTORE_POINT视图,可以发现一个NAME值为"SNAPSHOT_STANDBY_REQUIRED_05/05/2014 09:05:50"的还原点,其他字段如TIME, SCN分别对应了时间及当时的SCN, 字段GUARANTEE_FLASHBACK_DATABASE为YES, 表示上面的猜测(相当于创建了一个担保还原点)是正确的。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/35489/viewspace-1155135/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
Oracle , MySQL, SAP IQ, SAP HANA, PostgreSQL, Tableau 技术讨论,希望在这里一起分享知识,讨论技术,畅谈人生 。

注册时间:2007-12-10

  • 博文量
    5595
  • 访问量
    14695716