客户的数据库中遇到如下错误:
Errors in file /oracle/admin/cdx/bdump/cdx2_j000_663594.trc:
ORA-12012: error on auto execute of job 42780
ORA-27468: "EXFSYS.RLM$EVTCLEANUP" is locked by another process
伴随这个错误还出现了大量的ORA-04031 错误:
Thu Dec 30 01:27:23 2010
Errors in file /oracle/admin/cdx/bdump/cdx2_cjq0_958586.trc:
ORA-04031: unable to allocate ORA-04031: unable to allocate 4064 bytes of shared memory ("shared pool","select a.obj# OBJOID, a.clas...","sga heap(1,0)","kglsim heap")
ORA-04031: unable to allocate ORA-04031: unable to allocate 4064 bytes of shared memory ("shared pool","select a.obj# OBJOID, a.clas...","sga heap(1,0)","kglsim heap")
ORA-04031: unable to allocate ORA-04031: unable to allocate 4064 bytes of shared memory ("shared pool","select a.obj# OBJOID, a.clas...","sga heap(1,0)","kglsim heap")
ORA-04031: unable to allocate ORA-04031: unable to allocate 3896 bytes of shared memory ("shared pool","select a.obj# OBJOID, a.clas...","sga heap(1,0)","kglsim object batch")
bytes of shared memory ("","","","")
bytes of shared memory ("","","","")
ORA-04031: unable to allocate OR bytes of shared memory ("","","","")
ORA-04031: unable to allocate ORA-04031: unable to allocate 4064 bytes of shared memory ("shared pool","select a.obj# OBJOID, a.clas...","sga heap(1,0)","kglsim heap")
数据库中的这些JOB是做什么的呢?
These jobs under EXFSYS schema are related to the Expression Filter feature in 10G.
The Expression Filter feature can be installed on an Oracle10G Standard or Enterprise Edition
database. It is supplied as a set of PL/SQL packages, a Java package, a set of dictionary tables,
and catalog views. All these objects are created in a dedicated schema named EXFSYS. This schema
is not part of the typical installation of the database and will not exist before the Expression Filter is installed.
如果数据库不使用这个特性,可以Disable EXFSYS模式:
1. Login as SYSDBA
2. @$ORACLE_HOME/rdbms/admin/catnoexf.sql
参考Metalink: 444766.1
诊断故障时,可以手工执行任务:BEGIN
dbms_scheduler.run_job(job_name => 'EXFSYS.RLM$EVTCLEANUP', use_current_session => FALSE);
END;
/可以通过10046事件跟踪诊断其具体不能完成之原因,更改use_current_session=>TRUE测试(参考Metalink Note:473551.1)。
这篇博客主要讨论了Oracle数据库中遇到的两个错误:ORA-12012与ORA-04031。ORA-12012涉及EXFSYS模式下的自动执行作业,而ORA-04031是关于共享内存分配失败。错误与数据库中的Expression Filter特性有关。为了解决这些问题,可以尝试禁用EXFSYS模式,或者通过执行特定的DBMS_SCHEDULER任务进行诊断和修复。同时,建议使用10046事件跟踪来深入调查问题原因。
950

被折叠的 条评论
为什么被折叠?



