ORA-01280: Fatal LogMiner Error解决方法

来源:互联网 发布:php发送短信验证码 编辑:程序博客网 时间:2024/06/07 11:49

ORA-01280: Fatal LogMiner Error 错误
SQL> select CAPTURE_NAME,error_message,QUEUE_NAME,STATUS from dba_capture;
CAPTURE_NAME
------------------------------
ERROR_MESSAGE
--------------------------------------------------------------------------------
QUEUE_NAME STATUS
--------------- ----------
CAPTURE_MES_QBJ
ORA-01280: Fatal LogMiner Error.
MES_QUEUE_QBJ ABORTED

解决:
分配更多的内存给capture,原来是10M,改成100M,重新启动就好了。
注意这部分内存不是从streams_pool分配的,而是直接从sga分配的,_SGA_SIZE是个隐藏的capture参数。


在Metalink中记录了如下解决方案,通过停止捕获-修改参数-启动捕获过程即可解决:

exec dbms_capture_adm.stop_capture('STREAM_CAPTURE');
exec dbms_capture_adm.set_parameter('STREAM_CAPTURE','_SGA_SIZE','50');
exec dbms_capture_adm.start_capture('STREAM_CAPTURE');

这实际上是增加了捕获进程的内存空间需求。

SQL> show parameter logmnr_max_persistent_sessions
NAME      TYPE VALUE
------------------------------------ ----------- ------------------------------
logmnr_max_persistent_sessions      integer 1
logmnr_max_为1  不能为2  
可以查询这个视图
重新启动capture进程以后,查询v$streams_capture,状态一直是的enqueuing message,数据传不过去。这个状态下capture进程通过规则将lcr入队列,不知道是不是我修改了规则,使得不能入队列了?
v$streams_capture

0 0
原创粉丝点击