4.确认逻辑备用数据库正常工作
一旦你创建了逻辑备用数据库,并启动了日志转移服务,可能你需要确定一下主数据库的修改已经成功转移到备用数据库上了。为了查看归档的日志文件已经被备用数据库所接收,首先,需要确定在备用数据库下存在归档的日志文件。在主数据库上归档少量的日志文件,然后检查备用数据库。
第一步 确定归档日志文件在备用数据库上已经注册了
SQL>select sequence#,first_time,next_time,dict_begin,dict_end from dba_logstdby_log order by sequence#;
第二步 在主数据库上归档一些日志
SQL>alter system archive log current;
第三步 再次查询dba_logstdby_log视图
SQL>select sequence#,first_time,next_time,dict_begin,dict_end from dba_logstdby_log order by sequence#;
查看是否有新的归档日志记录。如果有,就说明成功注册到备用数据库了。这些日志现在可以开始被应用了。
第四步 确定重做日志的已经被正确应用了在逻辑备用数据库上,查询dba_logstdby_status视图确定重做数据已经被正确应用了。
SQL>select name,value from v$logstdby_stats where name='coordinator state';
如果结果是initializing,则说明日志应用服务已经准备好应用SQL操作了,但是从重做日志来的数据还没有应用到逻辑备用数据库上。
逻辑备用数据库如果有很多表,那么初始化的过程会需要几个小时,但是,一旦初始化结束,后面的应用重做日志会快很多。
第五步 查询v$logstdby视图,确定当前SQL应用活动
SQL>select type,high_scn,status from v$logstdby;
一旦在逻辑备用数据库上,coordinator进程开始应用重做日志,v$logstdby视图通过在status显示applying状态表明正在应用重做日志。high_scn会不断增加。
第六步 检查日志应用服务的进行到的程度
SQL>select applied_scn,newest_scn from dba_logstdby_progress;
如果applied_scn与newest_scn相同,这就意味着所有重做日志里的可用数据都被应用了。这些值可以与dba_logstdby_log视图里的first_change#的值做比较,来得知有多少日志信息已经被应用了以及有多少没应用。