本篇文章为大家展示了oracle expdp作业外表报错ORA-20011&KUP-11024&ORA-29913该怎么办,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
oracle数据库告警ORA-20011&KUP-11024&ORA-29913,
相关处理如下:
操作系统版本:rhel 2.6.39-400.17.1.el6uek.x86_64
set pagesize 2000
col owner form a30
col created form a25
col last_ddl_time form a25
col object_name form a30
col object_type form a25
SQL> select OWNER,OBJECT_NAME,OBJECT_TYPE, status,
2 to_char(CREATED,'dd-mon-yyyy hh34:mi:ss') created,
3 to_char(LAST_DDL_TIME, 'dd-mon-yyyy hh34:mi:ss') last_ddl_time
4 from dba_objects
5 where object_name like 'ET$%';
OWNER OBJECT_NAME OBJECT_TYPE STATUS CREATED LAST_DDL_TIME
—————————— —————————— ————————- ——- ————————- ————————-
EXPDP ET$01D400370001 TABLE VALID 09-oct-2015 23:11:41 09-oct-2015 23:11:41
EXPDP ET$01D3186F0001 TABLE VALID 18-dec-2015 02:20:04 18-dec-2015 02:20:04
EXPDP ET$01C303530001 TABLE VALID 15-mar-2015 00:45:46 15-mar-2015 00:45:46
EXPDP ET$01B7017F0001 TABLE VALID 15-mar-2015 00:42:03 15-mar-2015 00:42:03
EXPDP ET$01982C090001 TABLE VALID 08-oct-2015 23:51:06 08-oct-2015 23:51:06
EXPDP ET$00251AEF0001 TABLE VALID 29-dec-2015 00:50:20 29-dec-2015 00:50:20
6 rows selected.
SQL> select owner, TABLE_NAME, DEFAULT_DIRECTORY_NAME, ACCESS_TYPE
from dba_external_tables
order by 1,2;
OWNER TABLE_NAME DEFAULT_DIRECTORY_NAME ACCESS_
—————————— —————————— —————————— ——-
EXPDP ET$00251AEF0001 EXPDATA CLOB
EXPDP ET$01982C090001 EXPDATA CLOB
EXPDP ET$01B7017F0001 EXPDATA CLOB
EXPDP ET$01C303530001 EXPDATA CLOB
EXPDP ET$01D3186F0001 EXPDATA CLOB
EXPDP ET$01D400370001 EXPDATA CLOB
SYS ALERT_LOG_VIEW BDUMP CLOB
–查询外部表,报的错误和alert日志一样
SQL> select count(*) from EXPDP.ET$00251AEF0001;
select count(*) from EXPDP.ET$00251AEF0001
*
ERROR at line 1:
ORA-29913: error in executing ODCIEXTTABLEOPEN callout
KUP-11024: This external table can only be accessed from within a Data Pump job.
SQL>
–查看外部表定义
SQL> desc ET$00251AEF0001
ERROR:
ORA-04043: object ET$00251AEF0001 does not exist
3、清理DataPump jobs。
SQL> select 'drop table '||owner||'.'||object_name||' purge ;' from dba_objects where object_name like 'ET$%';
'DROPTABLE'||OWNER||'.'||OBJECT_NAME||'PURGE;'
—————————————————-
drop table EXPDP.ET$01D400370001 purge ;
drop table EXPDP.ET$01D3186F0001 purge ;
drop table EXPDP.ET$01C303530001 purge ;
drop table EXPDP.ET$01B7017F0001 purge ;
drop table EXPDP.ET$01982C090001 purge ;
drop table EXPDP.ET$00251AEF0001 purge ;
6 rows selected.
SQL> drop table EXPDP.ET$01D400370001 purge ;
drop table EXPDP.ET$01D3186F0001 purge ;
drop table EXPDP.ET$01C303530001 purge ;
drop table EXPDP.ET$01B7017F0001 purge ;
drop table EXPDP.ET$01982C090001 purge ;
drop table EXPDP.ET$00251AEF0001 purge ;
Table dropped.
SQL>
Table dropped.
SQL>
Table dropped.
SQL>
Table dropped.
SQL>
Table dropped.
SQL>
Table dropped.
由以上信息可知,数据泵的外部表产生的时间分别是2015年3月份和10月份,经沟通得知该地市数据库服务
器发生过重装和机房搬迁:
猜测:可能当时数据库重装和机房搬迁,数据库使用过数据泵备份而数据泵作业没有成功退出,导致数据泵
作业外部表残留,影响到数据库统计信息收集,处理方法就是删除数据泵作业残留外部表。个人觉得比较奇
怪的是数据泵作业外部表实体已经不存在,DDL定义已经不存在,但是外部表明却存在,应该是数据库字典
信息错误。
上述内容就是oracle expdp作业外表报错ORA-20011&KUP-11024&ORA-29913该怎么办,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/204017.html