WEB开发网
开发学院数据库Oracle Qracle高级复制维护中要注意的方面 阅读

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”的错误,那么可以考虑删除执行出错的事务。请特别注意,必须确认已经解决了出错原因,并在每个分布式节点都尝试执行出错的事务后,才可以删除再次执行出错的事务,否则会造成分布式数据库的数据不一致。

上一页  1 2 3 

Tags:Qracle 高级 复制

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接