在Dataguard中,可以将standby备库切换为snapshot快照数据库,在切换为snapshot数据库后,备库将置于可读写的模式。可用于模拟业务功能测试。在使用完成之后,可以将快照数据库切换为物理备库。在此期间,备库可以接受主库传输过来的日志,但是不能应用日志,需要处于物理备库的时候才可以应用。
(一)将物理备库切换为快照数据库
1.备库配置快速恢复区
alter system set db_recovery_file_dest_size=10g; set db_recovery_file_dest='/u01/app/oracle/fast_recovery_area/adgdb';
2.备库关闭redo apply应用
--在关闭之前,备库的开启状态为:READ ONLY WITH APPLY
--关闭redo apply后,备库的开启状态为:READ ONLY
alter database recover managed standby database cancel;
3.切换为快照数据库
执行转换为快照数据库后,备库的开启状态为:MOUNTED
database convert to snapshot standby;
开启备库后,数据库开启状态为:READ WRITE
database open;
查看状态:
SQL> select open_mode,database_role,protection_mode,protection_level from v$database; OPEN_MODE DATABASE_ROLE PROTECTION_MODE PROTECTION_LEVEL ------------------ ---------------- -------------------- -------------------- READ WRITE SNAPSHOT STANDBY MAXIMUM AVAILABILITY MAXIMUM AVAILABILITY
在快照数据库上进行读写操作,发现不仅可以读,还可以写入数据
select * from lijiaman.test01;
ID NAME
-------- --------------------
1 lijiaman
2 gegeman
3 man
4 a
SQLinsert into lijiaman.test01 values(5,b');
row created.
SQLcommit;
Commit complete.
(二)将快照数据库切回物理备库
1.关闭备库,将备库启动到mount状态
shutdown immediate
start mount
2.执行切回命令
to physical standby;
3.再次关闭备库,启动到open状态,开启实时应用
关闭备库
immediate
启动数据库到open状态
startup
开始备库实时应用
database using current logfile disconnect;
4.查看备库状态
> select name,open_mode,protection_mode ;
NAME OPEN_MODE DATABASE_ROLE PROTECTION_MODE
------- -------------------- ---------------- --------------------
ADGDB READ ONLY WITH APPLY PHYSICAL STANDBY MAXIMUM AVAILABILITY
5.这个时候,再回去查看test01表信息,发现处于snapshot数据库时insert的数据已经不存在
4 a
【完】
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。