开启STANDBY库为READ WRITE
1.取消主库传送归档
SQL> alter system set log_archive_dest_state_2=defer;
2.取消备库应用日志
SQL> alter database recover managed standby database cancel;
3.修改相关参数
SQL> alter system db_recovery_file_dest='/oracle/fast_recovery_area'; SQL> alter system set db_recovery_file_dest_size=30G; SQL> alter system set db_flashback_retention_target=1440;
4.打开FLASHBACK
SQL> alter database flashback on;
5.创建还原点
SQL> create restore point before_flashback guarantee flashback database;
6.激活STANDBY DATABASE
SQL> alter database activate standby database;
7.如果DG不是最大性能,则修改为最大性能
SQL> startup force mount; SQL> alter database set standby database to maximize performance;
SQL> alter database open;
8.查看数据库状态
SQL> select open_mode,database_role from v$database; OPEN_MODE DATABASE_ROLE -------------------- ---------------- READ WRITE PRIMARY
此时,STANDBY库已经开启为READ WRITE
将READ WRITE状态重新返回为STANDBY
1.将数据库启动至mount状态
SQL> startup force mount;
2.闪回
SQL> flashback database to restore point before_flashback;
3.将数据库修改为STANDBY
SQL> alter database convert to physical standby;
4.打开数据库
SQL> startup force mount;
5.删除还原点(删除还原点需要数据库在mount状态,不可以是OPEN READ ONLY状态),关闭FLASHBACK
SQL> drop restore point before_flashback; SQL> alter database flashback off;
6.打开数据库并应用日志
SQL> alter database open read only; SQL> alter database recover managed standby database disconnect;
7.主库开启日志传输
SQL> alter system set log_archive_dest_state_2=enable;
8.主库切换归档,验证备库是否可以应用
参考:http://www.oracle.com/us/solutions/sap/wp-ora4sap-flashback11g-1-303814.pdf