我申请这个blog是为了督促自己,把自己平时的一些想法和思考结果保留下来。 本博客所有内容均为原创,如有转载请注明作者和出处

数据泵导出出现ORA-31623错误

上一篇 / 下一篇  2012-02-07 23:23:55 / 个人分类:ORACLE

客户数据库在调整SGA后,导出出现ORA-31623错误。

 

 

Oracle对于这个错误的描述为:

ORA-31623: a job is not attached to this session via the specified handleITPUB个人空间L!}.F3H(m
Cause: An attempt to reference a job using a handle which is invalid or no longer valid for the current session.
u| R-mcD%^Z1[;qx0Action: Select a handle corresponding to a valid active job or start a new job.

从这个错误看不出导致问题的真正原因,不过从告警日志中可以发现进一步的信息:

Tue Jan 17 19:30:08 2012
x&} {2C:E&w0Errors in file /opt/oracle/diag/rdbms/mobiledb_n/mobiledb/trace/mobiledb_ora_17167.trc (incident=84810):
;J$|{vM9U0ORA-04031: unable to allocate 56 bytes of shared memory ("streams pool","unknown object","streams pool","fixed allocation callback")
:y"vp@)@8w0Incident details in: /opt/oracle/diag/rdbms/mobiledb_n/mobiledb/incident/incdir_84810/mobiledb_ora_17167_i84810.trcITPUB个人空间v{T,Z6V
Use ADRCI or Support Workbench to package the incident.
"Ca'H3s:IpL+[FR0See Note 411.1 at My Oracle Support for error and packaging details.ITPUB个人空间Jr+}:X` g+{.Yf?
Tue Jan 17 19:30:11 2012ITPUB个人空间o:^*fKVS%NNK D:NH
Dumping diagnostic data in directory=[cdmp_20120117193011], requested by (instance=1, sid=17167), summary=[incident=84810].
#oA:_$fv;_5@0Tue Jan 17 19:30:12 2012ITPUB个人空间F6PHo;a vY
Sweep [inc][84810]: completed
rv9r n;P0Sweep [inc2][84810]: completed

数据库在尝试分配STREAMS POOL的时候出现了ORA-4031错误。此时查询V$MEMORY_RESIZE_OPS视图,发现同一时间大量的STREAMS POOL扩展失败的记录,Oracle尝试分配STREAMS POOL但是目前数据库的内存采用了在SGA_TARGET下手工分配的方式,为了避免Oracle内存的动态调整,所有的内存组件已经将内存全部使用,因此STREAMS POOL无法获取到空间。

解决问题的方法很简单,手工收缩DB_CACHE_SIZESHARED_POOL_SIZE的值,分配给STREAMS POOL,就可以避免这个错误,不过数据泵的导出还要使用STREAMS POOL,还是第一次发现这个问题。

 


TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

Open Toolbar