开启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.主库切换归档,验证备库是否可以应用
|