INTRODUCTION
Snapshot standby database是ORACLE 11g的新特性。允许Physical standby短时间的使用read write模式。
Snapshot standby是由Physical standby 全新转换而来,可以独立于primary 处理事务,同时能够不断地从primary接受redo data,归档redo data以备后用维护保护。
Snapshot Standby Database的特性:
(1) Snapshot standby接收并归档redo data,但不应用redo data。
(2) Snapshot standby转换回physical standby后,开始应用之前接收并归档的redo data.
(3) 主库传输过来的redo data一直被归档存放起来。
(4) 转换回physical standby后,所有的本地更新操作将会被丢弃。
(5) 如果primary移动到新的DB分支(如flashback database,open resetlogs),snapshot standby database会从新的DB分支继续接受redo data.
(6) Snapshot standby不能作为switchover或者failover的目标库。Snapshot standby必须转换回Physical standby才能执行角色转换。
(7) DG配置中的一个Standby发生switchover或者failover角色转换为primary后,Snapshot standby可以接受角色转换后的新的primary database 的redo data.
(8) Snapshot standby不能为最大保护模式的DG配置中唯一的standby.
注意:一旦snapshot standby被激活的时间超出了primary 的最大负载时间,再次的本地更新操作将会产生额外的异常。
转换物理备库为快照备库
1.打开physical standby闪回区
SQL> alter system set db_recovery_file_dest_size=1G;
SQL> alter system set db_recovery_file_dest='/oradata/snapshot';
2.停止活动状态的日志应用
SQL> recover managed standby database cancel;
3.启动数据库到mount节点
SQL> shutdown immediate;
SQL> startup mount;
4.装换physical standby为snapshot standby
SQL> alter database convert to snapshot standby;
5.打开数据库
如果在转换的工程中,物理备库被dismount,则重启物理备库。
SQL> alter database open;
SQL> select open_mode,database_role from v$database;
OPEN_MODE DATABASE_ROLE
-------------------- ----------------
READ WRITE SNAPSHOT STANDBY
转换快照备库为物理备库
1.打开数据库至mount状态
SQL> shutdown immediate
SQL> startup mount;
2.转换snapshot standby为physical standby
SQL> alter database convert to physical standby;
3.restart数据库,开启日志应用
SQL> shutdown immediate
SQL> startup mount;
SQL> alter database open read only;
SQL> select open_mode,database_role from v$database;
OPEN_MODE DATABASE_ROLE
-------------------- ----------------
READ ONLY PHYSICAL STANDBY
4.开启日志应用
SQL> recover managed standby database using current logfile disconnect;