沙箱备库

首页    知识库    典型案例    沙箱备库

所谓沙箱备库,是和主库断开网络连接的备库或者是从备份影像恢复出来的数据库,可以手工回放主库产生的归档日志,沙箱备库可以提供只读服务,必要时可以切换成主库角色,一旦切换成主库模式且发生写入操作,将不能变回原主库的沙箱备库。

 

配置沙箱备库

以从备份影像恢复方式构建沙箱备库为例,假定沙箱备机已经安装并创建初始数据库,集群名称为yashandb,主库备份影像所在目录为/backup/full,操作用户为组YASDBA成员。

 

1更改配置参数:SANDBOX_STANDBY

yasql / as sysdba -c "alter system set SANDBOX_STANDBY=true scope=spfile"

2nomout 方式重启实例,删除初始创建的数据库

yasboot cluster restart -m nomount -c yashandb

yasql / as sysdba -c "drop database including archivelog"

3恢复数据库

yasql / as sysdba -c "restore database from '/backup/full'"

4将恢复出来的数据库转换成standby角色,并且open

yasql / as sysdba -c "alter database convert to physical standby"

yasql / as sysdba -c "alter database open"

5检查数据库角色及打开模式,结果应该为STANDBY,READ_ONLY

yasql / as sysdba -c "select database_role, open_mode from v\$database"

 

注册归档日志

首先需要将主库产生的归档日志传到沙箱备机所在服务器,以arch_0_8.ARC为例

yasql / as sysdba -c "alter database register archivelog 'arch_0_8.ARC'"

 

回放归档日志

下面命令启动后台回放任务并退出

yasql / as sysdba -c "alter database recover managed standby database disconnect from session"

之后新注册的归档日志回自动被回放,如停止回放可执行下面命令

yasql / as sysdba -c "alter database recover managed standby database cancel"

 

查看回放状况

yasql / as sysdba -c "select * from v\$recovery_status"

 

将沙箱备库强制升成主库

需要在回放任务启动的情况下,发出下面命令

yasql / as sysdba -c "alter database failover"

 

注意

沙箱备库只能回放归档日志,主库的活动日志中的交易不能实时同步

浏览量:0