细化解析:物理备库也可以 read/write
来源:岁月联盟
编辑:zhuzhu
时间:2007-09-05
从Oracle10g开始,physical standby也可以临时的置于read/write状态,以便用于开发,测试以及做报表等,然后再通过flashback到先前的时间点,继续应用主库的归档。 下面通过一个实验演示整个过程: 1.设置闪回恢复区 SQL> alter system set db_recovery_file_dest_size=2G;系统已更改。SQL> alter system set db_recovery_file_dest='e:/oracle/back';系统已更改。 |
2.取消备库的自动恢复状态 SQL> alter database recover managed standby database cancel;数据库已更改。 |
3.创建一个还原点 SQL> create restore point restore_point_test guarantee flashback database;还原点已创建。 |
4.在主库归档当前日志,确保前一步创建还原点的scn的归档日志已经传到备库 SQL> alter system archive log current;系统已更改。 |
5.将主库到备库的归档目的地的状态设置为defer SQL> alter system set log_archive_dest_state_2=defer;系统已更改。 |
6.激活备库到read/write状态 SQL> alter database activate standby database;数据库已更改。SQL> alter database open;数据库已更改。 |
7. SQL> create table t1 as select * from all_objects where rownum<101;表已创建。SQL> drop table t1;表已删除。 |
8.将数据库flashback回原来保存的还原点 SQL> startup mount force;ORACLE 例程已经启动。Total System Global Area 142606336 bytesFixed Size 1247732 bytesVariable Size 83887628 bytesDatabase Buffers 50331648 bytesRedo Buffers 7139328 bytes数据库装载完毕。SQL> flashback database to restore point restore_point_test;闪回完成。 |
9.转换成备库 SQL> alter database convert to physical standby;数据库已更改。 |
10.将备库至于自动恢复状态 SQL> startup mount force;ORACLE 例程已经启动。Total System Global Area 142606336 bytesFixed Size 1247732 bytesVariable Size 83887628 bytesDatabase Buffers 50331648 bytesRedo Buffers 7139328 bytes数据库装载完毕。SQL> alter database recover managed standby database disconnect from session;数据库已更改。 |
11.将主库到备库的归档目的地的状态设置为enable SQL> alter system set log_archive_dest_state_2=enable;系统已更改。 |
12.检查主备库,状态正常 主库检查归档目的状态SQL> select dest_name,status from v$archive_dest;DEST_NAME STATUS------------------------------ ------------------LOG_ARCHIVE_DEST_1 VALIDLOG_ARCHIVE_DEST_2 VALIDLOG_ARCHIVE_DEST_3 INACTIVELOG_ARCHIVE_DEST_4 INACTIVELOG_ARCHIVE_DEST_5 INACTIVELOG_ARCHIVE_DEST_6 INACTIVELOG_ARCHIVE_DEST_7 INACTIVELOG_ARCHIVE_DEST_8 INACTIVELOG_ARCHIVE_DEST_9 INACTIVELOG_ARCHIVE_DEST_10 INACTIVE已选择10行。备库检查相关进程SQL> select process,status from v$managed_standby;PROCESS STATUS------------------ -------------ARCH CONNECTEDARCH CONNECTEDMRP0 WAIT_FOR_LOGRFS IDLE |
|