expdp时候出错:ORA-31626,ORA-31637,ORA-39062,ORA-31613


今天有朋友在数据库上进行expdp 碰到错误如下:
Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
ORA-31626: job does not exist
ORA-31637: cannot create job SYS_EXPORT_SCHEMA_01 for user TEMP_EPAY
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95
ORA-06512: at "SYS.KUPV$FT", line 1569
ORA-39062: error creating master process DM00
ORA-31613: Master process DM00 failed during startup


看样子是DM00进程出问题了。

操作系统是Red Hat Enterprise Linux Server release 6.3 (Santiago),数据库是11.2.0.3

查询MOS,一般情况下如果alert日志,发现错误
ORA-00020: maximum number of processes (1500) exceeded
ORA-20 errors will not be written to the alert log for the next minute.
原来是进程数满了导致DM00进程不能启动
处理办法是
1.查看trace文件名字叫做DMxx 在dump目录($ORACLE_HOME/diag/rdbms/<instance_name>/<ORACLE_SID> /trace )创建失败的时间是不是和expdp导出发生ORA-20的时间一致
2.增加PROCESSES的值

但是检查alert日志没有发现
倒是发现数据库不停的报ORA-27300,ORA-27301,ORA-27302的错误,如下


Wed Sep 25 17:48:40 2013
Process J000 died, see its trace file
kkjcre1p: unable to spawn jobq slave process
Errors in file /home/oracle/diag/rdbms/epaytest/epaytest/trace/epaytest_cjq0_3210.trc:
Process startup failed, error stack:
Errors in file /home/oracle/diag/rdbms/epaytest/epaytest/trace/epaytest_psp0_2905.trc:
ORA-27300: OS system dependent operation:fork failed with status: 11
ORA-27301: OS failure message: Resource temporarily unavailable
ORA-27302: failure occurred at: skgpspawn3
Process J000 died, see its trace file
kkjcre1p: unable to spawn jobq slave process
Errors in file /home/oracle/diag/rdbms/epaytest/epaytest/trace/epaytest_cjq0_3210.trc:
Process startup failed, error stack:
Errors in file /home/oracle/diag/rdbms/epaytest/epaytest/trace/epaytest_psp0_2905.trc:
ORA-27300: OS system dependent operation:fork failed with status: 11
ORA-27301: OS failure message: Resource temporarily unavailable
ORA-27302: failure occurred at: skgpspawn3
Process J000 died, see its trace file
kkjcre1p: unable to spawn jobq slave process

Wed Sep 25 17:48:40 2013
Process J000 died, see its trace file
kkjcre1p: unable to spawn jobq slave process
Errors in file /home/oracle/diag/rdbms/epaytest/epaytest/trace/epaytest_cjq0_3210.trc:
Process startup failed, error stack:
Errors in file /home/oracle/diag/rdbms/epaytest/epaytest/trace/epaytest_psp0_2905.trc:
ORA-27300: OS system dependent operation:fork failed with status: 11
ORA-27301: OS failure message: Resource temporarily unavailable
ORA-27302: failure occurred at: skgpspawn3
Process J000 died, see its trace file
kkjcre1p: unable to spawn jobq slave process
Errors in file /home/oracle/diag/rdbms/epaytest/epaytest/trace/epaytest_cjq0_3210.trc:
Process startup failed, error stack:
Errors in file /home/oracle/diag/rdbms/epaytest/epaytest/trace/epaytest_psp0_2905.trc:
ORA-27300: OS system dependent operation:fork failed with status: 11
ORA-27301: OS failure message: Resource temporarily unavailable
ORA-27302: failure occurred at: skgpspawn3
Process J000 died, see its trace file
kkjcre1p: unable to spawn jobq slave process

至此问题已经很明显了,是ORA-27300导致的数据库无法fork进程,是因为每用户的最大进程数设置太小了
需要做参数调整
  AIX: maxuproc
  HP and Solaris: maxuprc
  Solaris 10: project.max-lwps
  Linux: nproc (/etc/security/limits.conf)

因此,把  nproc值从原来的1024改到4096


By dbseeker
=========================================================================
-- The End --



你可能感兴趣的:(oracle,expdp,ORA-27300,ORA-39062,ORA-31613)