我昨天expdp 导出 因太慢 停止了 导出 expdp 会话有些异常 datapump_job state='stop pending' 中,我急着就干掉了哪些进程了,结果就出现queue队列进程q00x 进程 持有 library cache: mutex X
设置参数 aq_tm_processes=0 后 q000 进程就消失了,但是不是最终解决方法,并且也影像之后在expdp 导出 就会卡住
第二天早上,我刚一就 创建了 需要的导出的数据表,然后expdp ,就卡住了,重新设置了aq_tm_processes=1 就是正常了
奇怪的q000x 进程有异常了
SQL> select s.inst_id,s.sid,s.event,s.program,s.blocking_session,p.spid,s.p1 from gv$session s,gv$process p where ( s.process='28803'or wait_class#<>6 ) and s.paddr=p.addr and s.inst_id=p.inst_id;
INST_ID SID EVENT PROGRAM BLOCKING_SESSION SPID P1
---------- ---------- --------------------------------------------- ---------------------------- ---------------- ------------------------ ----------
1 710 library cache: mutex X oracle@db-01 (Q000) 2078 675267867
1 31 wait for unread message on broadcast channel ude@db-01 (TNS V1-V3) 28804 1.7366E+10
1 808 direct path read oracle@db-01 (DW00) 2193 90
查看 p1 obj 对象
SQL> select kglnaown, kglnaobj
2 from x$kglob
3 where kglnahsh = &p1;
Enter value for p1: 985005581
old 3: where kglnahsh = &p1
new 3: where kglnahsh = 985005581
KGLNAOWN KGLNAOBJ
---------- ----------------------------
SYS KUPC$C_1_20181211095029
最后也没有怎么处理,最新的expdp 导出成功后,这个异常进程,可能新的expdp 会话修复了之前异常的信息了吧