1、从主库辅助数据库文件到standby数据库
$ rman target / auxiliary sys/oracle@rheldg1/rtdg1
2、复制数据库
RMAN> duplicate target database for standby from active database nofilenamecheck;
3、或者主库已有数据库备份,也可以执行下列命令从备份中复制数据库
RMAN> duplicate target database for standby dorecover nofilenamecheck;
--特别备注: 如果duplicate 命令指定dorecover选项,则在还原之后会进行恢复操作,恢复活动的归档日志和增量备份,从备份中复制数据库,一般推荐这样。
4、复制完成后,standby数据库会从nomount状态被加载到mount状态下。
正常开启和关闭DATA GUARD的相关流程:
1、 alter database recover managed standby database cancel;【停止standby数据库redo日志应用】
2、关闭主库
3、关闭standby库
启动顺序则恰好相反
1、启动standby数据库;
2、启动主数据库;
3、开启standby数据库的redo日志应用
监控standby日志的传输服务
1、查询standby数据库 standby redo log 的使用情况
select thread#,sequence#,archived,status from v$standby_log;
在主库执行查询日志序列号
select thread#,sequence#,status from v$log;
从上面结果对比,主库的current 联机redo日志与standby 数据库的active状态的standby redo日志序列号,就可以检验出redo传输服务是否启用了实时传输。
手动解决日志缺失
物理standby数据库日志缺失查询sql:
select * from v$archive_gap;
THREAD# LOW_SEQUENCE# HIGH_SEQUENCE#
------------ ------------------------ -----------------------
1 7 10
上面结果表明 standby数据库线程1的序列7到10是当前缺失的日志
通过在standby数据库查询以下sql,同样可以验证日志的实时应用情况
select process,status,thread#,sequence#,block#,blocks from v$managed_standby where process != 'ARCH';
在standby数据库上,管理日志应用服务
1、在前台启动redo apply 应用
alter database recover managed standbydatabase;
2、在后台启动redo apply 日志应用
alter database recover managed standby database disconnect from session;
disconnect from session 表示redo apply会在后台会话中运行
以上2中redo apply 都只会会在主库发生log switch时才能在standby数据库应用日志。
3、 执行以下sql在standby数据库,表示启动redo实时应用
alter database recover managed standby database using current logfile disconnect from session;【在后台启动redo log 实时应用模式】
4、停止redo apply
SQL> alter database recover managed standby database cancel;
--The End--
$ rman target / auxiliary sys/oracle@rheldg1/rtdg1
2、复制数据库
RMAN> duplicate target database for standby from active database nofilenamecheck;
3、或者主库已有数据库备份,也可以执行下列命令从备份中复制数据库
RMAN> duplicate target database for standby dorecover nofilenamecheck;
--特别备注: 如果duplicate 命令指定dorecover选项,则在还原之后会进行恢复操作,恢复活动的归档日志和增量备份,从备份中复制数据库,一般推荐这样。
4、复制完成后,standby数据库会从nomount状态被加载到mount状态下。
正常开启和关闭DATA GUARD的相关流程:
1、 alter database recover managed standby database cancel;【停止standby数据库redo日志应用】
2、关闭主库
3、关闭standby库
启动顺序则恰好相反
1、启动standby数据库;
2、启动主数据库;
3、开启standby数据库的redo日志应用
监控standby日志的传输服务
1、查询standby数据库 standby redo log 的使用情况
select thread#,sequence#,archived,status from v$standby_log;
在主库执行查询日志序列号
select thread#,sequence#,status from v$log;
从上面结果对比,主库的current 联机redo日志与standby 数据库的active状态的standby redo日志序列号,就可以检验出redo传输服务是否启用了实时传输。
手动解决日志缺失
物理standby数据库日志缺失查询sql:
select * from v$archive_gap;
THREAD# LOW_SEQUENCE# HIGH_SEQUENCE#
------------ ------------------------ -----------------------
1 7 10
上面结果表明 standby数据库线程1的序列7到10是当前缺失的日志
通过在standby数据库查询以下sql,同样可以验证日志的实时应用情况
select process,status,thread#,sequence#,block#,blocks from v$managed_standby where process != 'ARCH';
在standby数据库上,管理日志应用服务
1、在前台启动redo apply 应用
alter database recover managed standbydatabase;
2、在后台启动redo apply 日志应用
alter database recover managed standby database disconnect from session;
disconnect from session 表示redo apply会在后台会话中运行
以上2中redo apply 都只会会在主库发生log switch时才能在standby数据库应用日志。
3、 执行以下sql在standby数据库,表示启动redo实时应用
alter database recover managed standby database using current logfile disconnect from session;【在后台启动redo log 实时应用模式】
4、停止redo apply
SQL> alter database recover managed standby database cancel;
--The End--
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28211342/viewspace-2129702/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/28211342/viewspace-2129702/