服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > 数据库技术 > Oracle技术 > Oracle开发 > 查看文档

"physical standby"置于read/write状态

从oracle 10g开始,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

扫描关注微信公众号