原因:在用expdp进行备份导出时,由于系统空间不足,引起数据泵job失败现象:--在查看expdp导出日志时,出现空间不足错误
Additional information: 4
Additional information: 30743249
Additional information: -1
ORA-31693: Table data object "NTICKET"."TK_TASKINFO_FINISH_DT":"P1306" failed to load/unload and is being skipped due to error:
ORA-29913: error in executing ODCIEXTTABLEPOPULATE callout
ORA-19502: write error on file "/databack/expdp/89/89_EXP141112.DMP", block number 30743505 (block size=4096)
ORA-27072: File I/O error
Linux-x86_64 Error: 28: No space left on device
--停掉expdp job后,再次执行导出时,出下面的错误
[oracle@bakdbserver ~]$ /databack/sh/expdp_11_wxxq_cc.sh
Export: Release 11.2.0.3.0 - Production on Mon Jan 26 17:04:12 2015
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, Automatic Storage Management, OLAP, Data Mining
and Real Application Testing options
ORA-31634: job already exists
ORA-31664: unable to construct unique job name when defaulted
解决:
1. 在进行expdp备份时,设置JOB_NAME参数,指定一个在dba_datapump_jobs中没有不存在的一个job_name
2. 也可以清理dba_datapump_jobs表的记录
--查询可以清理的job表并生成drop SQL
select'drop table ' owner_name '.' job_name ';'
from dba_datapump_jobs
where state = 'NOT RUNNING'
--清理后再次dba_datapump_jobs确认清理成功
SELECT owner_name, job_name, operation, job_mode,
state, attached_sessions
FROM dba_datapump_jobs
ORDERBY 1,2;
若不成功,按下面的方法再次清理
SQL> sqlplus system/oracle
SQL> exec dbms_datapump.stop_job(dbms_datapump_attach('SYS_EXPORT_TABLE_01','TICKET'));
--转自