NinGoo's Notes | Database & Datawarehouse
===========================================================
===========================================================


从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 bytes
Fixed Size 1247732 bytes
Variable Size 83887628 bytes
Database Buffers 50331648 bytes
Redo 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 bytes
Fixed Size 1247732 bytes
Variable Size 83887628 bytes
Database Buffers 50331648 bytes
Redo 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 VALID
LOG_ARCHIVE_DEST_2 VALID
LOG_ARCHIVE_DEST_3 INACTIVE
LOG_ARCHIVE_DEST_4 INACTIVE
LOG_ARCHIVE_DEST_5 INACTIVE
LOG_ARCHIVE_DEST_6 INACTIVE
LOG_ARCHIVE_DEST_7 INACTIVE
LOG_ARCHIVE_DEST_8 INACTIVE
LOG_ARCHIVE_DEST_9 INACTIVE
LOG_ARCHIVE_DEST_10 INACTIVE

已选择10行。

备库检查相关进程
SQL> select process,status from v$managed_standby;

PROCESS STATUS
------------------ ------------------------
ARCH CONNECTED
ARCH CONNECTED
MRP0 WAIT_FOR_LOG
RFS IDLE

(需要引用, 请注明出处: http://ningoo.itpub.net)

NinGoo 发表于:2006.11.29 15:38 ::分类: ( Oracle ) ::阅读:(1450次) :: 评论 (1) ::收藏此页到365Key
re: oracle10g Data Guard新特性:物理备库也可以read/write [回复]

5.将主库到备库的归档目的地的状态设置为defer
SQL> alter system set log_archive_dest_state_2=defer;

系统已更改。

我在测试过程中这一步是可以省略,设为ENABLE的话只要STANDBY读写打开后还是不会将归档传过来的。这样做虽然说某种意义来说可以更加好地利用好STANDBY,不过STANDBY的意义也就得不到保证了。真要这样做的话需要在主库那边再设置一个归档路径归档至备用库的存储,这样才能保证STANDBY的高可用性。

blue_prince 评论于: 2006.12.12 15:49

发表评论
标题

在此添加评论
表情符号: smile laughing tongue angry crying sad wassat wink

称呼

邮箱地址(可选)

个人主页(可选)

 authimage


自我介绍
新闻聚合
博客日历
文章归档...
最新发表...
最新评论...
最多阅读文章...
最多评论文章...
博客统计...
Blog信息
网站链接...