Oracle 11 g物理dataguard之快照备用

  

在oracle 10 g要准备一个读写备用的数据库还是很繁琐的,准备好dataguard后得手动创建还原点,手动停日志传送,手动激活并强制打开,测试完了,如果主备的视交叉上核差太多,你还得做增量备份追,统计了下需15步,和搭一个物理备用的步骤差不多了,所以用的极少。到11 g里终于解放了,启用快照备库只需3步(当然中间重启的次数不算),恢复到实时应用备用也只需2步,日志还是继续传,需要镜像库测试的朋友,可以放心用了(用dataguard鲍克更简单)。当然转换成快照备份,是有些附加条件的(没有的参照前文去搭建一个):
1数据库闪回得打开;
2 db_recovery_file_dest_size还是要有足够的空间的;
3如果使用的保护模式是最大限度的保护模式,必须有其他的备用与之相匹配,否则小心主库宕机。
手动做的步骤如下:
1检查闪回

  
 <代码>完成;选择flashback_on、database_role open_mode v $数据库;
  FLASHBACK_ON DATABASE_ROLE OPEN_MODE
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  没有物理备用只读应用 
  

当前待机状态是只读应用状态,这个时候需要终止申请过程,并且切换回山状态,否则是不允许进行转换动作的。

  
 <代码>完成;立即关闭;
  数据库关闭。
  数据库下马。
  ORACLE实例关闭。
  完成;启动挂载;
  ORACLE实例开始。
  完成;改变数据库闪回;
  改变数据库闪回
  *
  误差在1号线:
  ora - 38706:不能打开闪回数据库日志记录。
  ora - 38709:恢复区域未启用。 
  

报错了,这个错误好解决:

  
 <代码>完成;显示参数db_recovery_file
  
  的名字                                  类型值
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  db_recovery_file_dest字符串
  db_recovery_file_dest_size大整数51000米
  完成;改变系统设置db_recovery_file_dest=/数据的;
  完成;改变数据库闪回;
  完成;从v $选择flashback_on数据库;
  FLASHBACK_ON
  ------------------
  是的 
  

2转换   

 <代码>完成;改变数据库转换为快照备用;
  完成;改变数据库开放; 
  

有兴趣的可以看下alert_sid。日志
结束:备用重做日志文件归档
RESETLOGS不完全恢复后,直到改变1974538
重置RESETLOGS激活ID 1974538 (0 x631d14b8)
在线日志/数据/db/onlinelog/group_1.261.899048765:线程1组1以前清除
在线日志/数据/db/onlinelog/group_2.260.899048765:线程1组2之前清除
在线日志/数据/db/onlinelog/group_3.277.899049819:线程2组3以前清除
在线日志/数据/db/onlinelog/group_4.278.899049819:线程2组4以前清除
在线日志/数据/db/onlinelog/group_5.280.908381663:线程1组5以前清除
在线日志/数据/db/onlinelog/group_6.281.908381749:线程1组6之前清除
在线日志/数据/db/onlinelog/group_7.282.908381877:线程1组7以前清除
检查下当前数据库状态:

  
 <代码>完成;选择open_mode、database_role protection_mode v $数据库;
  
  OPEN_MODE DATABASE_ROLE PROTECTION_MODE
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  阅读写快照备份最大可用性 
  

已经变成可写状态,查询flash_back开始的SCN:

  
 <代码>完成;从v $ flashback_database_log选择oldest_flashback_scn oldest_flashback_time;
  
  OLDEST_FLASHBACK_SCN OLDEST_FLASH
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1974537 17-MAY-17  
  

从这里开始可以对备库进行任何操作:

  
 <代码>完成;select * from all_objects创建表测试;
  创建表。
  完成;select count(*)从测试;
  COUNT (*)
  ----------
  14629
  完成;删除表STAGE_TERADATA_OFFLINE_PKEYS清洗;
  表下降。 
  

切回:
1关库,切换

  
 <代码>完成关闭立即
  完成启动山;
  完成;改变物理备用数据库转换; 
  

这里查看alert_sid。日志可以看到
闪回恢复开始
闪回恢复完整
下降保证恢复点
删除了还原点
2关库,关闪回,启用实时应用

  
 <代码>完成立即关闭;
  完成启动山;
  完成修改数据库闪回;
  完成修改数据库开放;
  完成恢复管理备用数据库使用当前日志文件从会话断开
  完成选择open_mode database_role、protection_mode current_SCN v $数据库;
  OPEN_MODE DATABASE_ROLE PROTECTION_MODE CURRENT_SCN
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  只读应用物理备用最大可用性1977350 

Oracle 11 g物理dataguard之快照备用