ORA-20011 ORA-29913 KUP-11024故障处理

在日常巡中发现alert日志有出现

ORA-20011: Approximate NDV failed: ORA-29913: error in executing ODCIEXTTABLEOPEN callout
KUP-11024: This external table can only be accessed from within a Data Pump job.

经查,此错误产生原因是在做datadump时候,oracle在产生三个临时表储存临时信息。err$,et$,sys_import_xxx....当在数据泵在未正常中止后,比如人为中止,造成datadump的临时外部表没有正常清理,或者是外部表文件被删除后,没有清理外部表的定义,就会造成oracle在做统计信息job时出现如此错误。

可通过如下查询语句来查看oracle的ET$临时表对象

select * from dba_objects  where object_name like 'ET$%'; 

查询属于datadump生成的外部表

select *  from dba_external_tables;

导致该问题的原因应该是在迁移时候,系统会创建外部表,导入结束后,正常情况下,系统会将数据文件删除后删除表的定义,但是系统只删除了数据文件并没有删除表的定义,或者删除表的定义时出现了问题,导致此错误的发生。

解决办法如下:

sqlplus / as  sysdba
drop table owner.tables purge;

资料来源

 

posted @ 2022-09-24 09:19  小年青。  阅读(736)  评论(0编辑  收藏  举报