技术开发 频道

Step by step 配置Oracle Stream

  5问题诊断

  5.1 如何知道捕捉(Capture)进程是否运行正常?以strmadmin身份,登录主数据库,执行如下语句:

  SQL> SELECT CAPTURE_NAME,

  2 QUEUE_NAME,

  3 RULE_SET_NAME,

  4 NEGATIVE_RULE_SET_NAME,

  5 STATUS

  6 FROM DBA_CAPTURE;

  结果显示如下:

  CAPTURE_NAME QUEUE_NAME

  RULE_SET_NAME NEGATIVE_RULE_SET_NAME STATUS

  CAPTURE_PROD PROD_QUEUE

  RULESET$_14 ENABLED

  ENABLED

  如果STATUS状态是ENABLED,表示Capture进程运行正常;如果STATUS状态是DISABLED,表示Capture进程处于停止状态,只需重新启动即可;如果STATUS状态是ABORTED,表示Capture进程非正常停止,查询相应的ERROR_NUMBER、ERROR_MESSAGE列可以得到详细的信息;同时,Oracle会在跟踪文件中记录该信息。

  5.2 如何知道

  Captured LCR是否有传播GAP?以strmadmin身份,登录主数据库,执行如下语句:

  SQL> SELECT CAPTURE_NAME, QUEUE_NAME, STATUS, CAPTURED_SCN,

  APPLIED_SCN

  2 FROM DBA_CAPTURE;

  结果显示如下:

  CAPTURE_NAME

  ----------------------------------------------QUEUE_

  NAME

  ---------------------

  STATUS

  CAPTURED_SCN APPLIED_SCN

  -----------------------

  CAPTURE_PROD

  17023672 17023672

  PROD_QUEUE ENABLED

  如果

  APPLIED_SCN小于CAPTURED_SCN,则表示在主数据库一端,要么LCR没有被dequeue,要么Propagation进程尚未传播到从数据库一端。

  5.3 如何知道Appy进程是否运行正常?

  以strmadmin身份,登录从数据库,执行如下语句:

  SQL> SELECT apply_name, apply_captured, status FROM dba_apply;

  结果显示如下:

  APPLY_NAME APPLY_ STATUS

  APPLY_H10G YES ENABLED

  如果STATUS状态是ENABLED,表示Apply进程运行正常;如果STATUS状态是DISABLED,表示Apply进程处于停止状态,只需重新启动即可;

  如果STATUS状态是ABORTED,表示Apply进程非正常停止,查询相应的ERROR_NUMBER、ERROR_MESSAGE列可以得到详细的信息;同时,可以查询DBA_APPLY_ERROR视图,了解详细的Apply错误信息。

  6 结篇

  通过如上的测试可以看出stream的功能还是十分强大的,通过配置Oracle Stream可以更大的提升数据库的可用性和安全性,如此一个好用且不用花费高昂额外费用的功能还是很值得

  一用的。

0
相关文章