Qracle高级复制维护中要注意的方面
2007-05-11 12:21:34 来源:WEB开发网核心提示: 要查询某张表在哪个复制组中,将table_name 替换成表名,Qracle高级复制维护中要注意的方面(3),注意表名一定要大写,查看分布式状态:select job,what,next_sec,this_sec,last_sec,failures,broken from dba_jobs
要查询某张表在哪个复制组中,将table_name 替换成表名,注意表名一定要大写。
查看分布式状态:
select job,what,next_sec,this_sec,
last_sec,failures,broken from dba_jobs;
failures 小于16,broken 为N 表示分布式状态正常
查看数据库连接
select * from dba_db_links;
恢复传播复制任务
当连接复制环境中数据库的网络出现问题,可能会造成复制任务的停止。具体现象表现为本地数据库的更新操作没有发布到远地数据库中。当出现这种情况时,请参考前面提到的查看分布式状态的方法,检查复制任务是否正常。如果failures 大于等于16,broken 为Y 表示分布式状态不正常,需要恢复传播复制任务。
exec dbms_job.run(jobno);
-- jobno 为在dba_jobs 表中ailures 大于等于16,broken 为Y 的job。
查看执行出错的事务,当分布式数据库出现不正常时,请执行下列语句,并根据查询的error_msg 来解决问题。
select distinct origin_tran_db,destination,error_msg from deferror;
尝试执行出错的事务,根据查询的error_msg 解决了网络无法连接等问题后,请执行下列语句,并拷贝生成的拼接exec 语句在客户端执行。
select ' exec dbms_defer_sys.execute_error
( ' ' ' || DEFERRED_TRAN_ID || ' ' ' , ' ' ' ||
DESTINATION || ' ' ' )' from deferror;
删除执行出错的事务,可能会遇到这样一种状况,尝试执行出错的事务,该事务依旧执行不成功。如果此时deferror 表中的error_msg 都是“NO DATA FOUND”的错误,那么可以考虑删除执行出错的事务。请特别注意,必须确认已经解决了出错原因,并在每个分布式节点都尝试执行出错的事务后,才可以删除再次执行出错的事务,否则会造成分布式数据库的数据不一致。
更多精彩
赞助商链接