oracle expdp作业外表报错ORA-20011KUP-11024ORA-29913
相关处理如下:
操作系统内核:rhel 2.6.39-400.17.1.el6uek.x86_64
数据库版本:oracle 11.2.0.4
问题描述:数据库对数据泵作业残余外部表收集统计信息报错:ORA-20011&KUP-11024&ORA-29913
告警日志报错信息如下:
09/01/2018 22:00:10 DBMS_STATS: GATHER_STATS_JOB encountered errors. Check the trace file.
ORA-20011: Approximate NDV failed: ORA-29913: error in executing ODCIEXTTABLEOPEN callout
Tue Jan 09 22:00:10 2018
KUP-11024: This external table can only be accessed from within a Data Pump job.
Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_j003_333.trc
查看告警日志提示的trc跟踪文件orcl_j003_333.trc
Trace file /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_j003_333.trc
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1
System name: Linux
Node name: cis.db
Release: 2.6.39-400.17.1.el6uek.x86_64
Version: #1 SMP Fri Feb 22 18:16:18 PST 2013
Machine: x86_64
Instance name: orcl
Redo thread mounted by this instance: 1
Oracle process number: 57
Unix process pid: 333, image: oracle@cis.db (J003)
*** 2018-01-09 22:00:10.612
*** SESSION ID:(634.22947) 2018-01-09 22:00:10.612
*** CLIENT ID:() 2018-01-09 22:00:10.612
*** SERVICE NAME:(SYS$USERS) 2018-01-09 22:00:10.612
*** MODULE NAME:(DBMS_SCHEDULER) 2018-01-09 22:00:10.612
*** ACTION NAME:(ORA$AT_OS_OPT_SY_152) 2018-01-09 22:00:10.612
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.
*** 2018-01-09 22:00:10.612
DBMS_STATS: GATHER_STATS_JOB: GATHER_TABLE_STATS('"EXPDP"','"ET$01B7017F0001"','""', ...)
DBMS_STATS: 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.
*** 2018-01-09 22:00:10.656
DBMS_STATS: GATHER_STATS_JOB: GATHER_TABLE_STATS('"EXPDP"','"ET$01C303530001"','""', ...)
DBMS_STATS: 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.
*** 2018-01-09 22:00:10.686
DBMS_STATS: GATHER_STATS_JOB: GATHER_TABLE_STATS('"EXPDP"','"ET$01982C090001"','""', ...)
DBMS_STATS: 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.
*** 2018-01-09 22:00:10.711
DBMS_STATS: GATHER_STATS_JOB: GATHER_TABLE_STATS('"EXPDP"','"ET$01D400370001"','""', ...)
DBMS_STATS: 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.
*** 2018-01-09 22:00:10.735
DBMS_STATS: GATHER_STATS_JOB: GATHER_TABLE_STATS('"EXPDP"','"ET$01D3186F0001"','""', ...)
DBMS_STATS: 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.
*** 2018-01-09 22:00:10.759
DBMS_STATS: GATHER_STATS_JOB: GATHER_TABLE_STATS('"EXPDP"','"ET$00251AEF0001"','""', ...)
DBMS_STATS: 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.
处理方法:
1、DBMS_STATS job 运行时,没有DataPump job运行
SQL> !ps -ef|grep expdp
oracle 28440 28067 0 09:49 pts/0 00:00:00 /bin/bash -c ps -ef|grep expdp
oracle 28442 28440 0 09:49 pts/0 00:00:00 grep expdp
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 hh24:mi:ss') created,
3 to_char(LAST_DDL_TIME, 'dd-mon-yyyy hh24: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
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-20011KUP-11024ORA-29913相关推荐
- Oracle全库导入表报错 ORA-39126
使用Oracle自带的impdp导入数据的时候报错,如上图, 出现这个原因是由于导入了系统表,再导入的时候更改 参数 TABLE_EXISTS_ACTION=TRUNCATE 即可 转载于:https ...
- expdp 导出sys用户下的表报错ORA-39165 和ORA-39166
expdp 导出 sys 用户下的表报错 ORA-39165 和 ORA-39166 [oracle@orcltest ~]$ expdp \'/ AS SYSDBA\' directory=DATA ...
- ORA-29913,ORA-29400,KUP-00554,KUP-01005,KUP-01007 oracle外部表报错解决记录
@ORA-29913,ORA-29400,KUP-00554,KUP-01005,KUP-01007 oracle外部表报错解决记录TOC 今天新建完oracle外部表,看了语法没错误,看了数据文件和 ...
- oracle 监听服务正常,连接报错 ora 12541
问题描述: 数据库监听服务正常运行,使用sql plus 连接数据库超级慢或无法连接,时不时报错 ORA 12541 问题原因: oracle 数据库监听服务日志过大 解决办法 将监听停止掉 删除 $ ...
- Oracle expdp和impdp
文章目录 1.EXPDP/IMPDP用法详解 1.1.expdp/impdp模式 1.2.监控expdp/impdp任务 2.EXPDP/IMPDP使用技巧和案例 2.0.使用技巧 2.1.库.表空间 ...
- oracle12542,Oracle 11Gr1监听报错 TNS-12542 12560 00512
Oracle 11Gr1监听报错 TNS-12542 12560 00512 环境:Oracle 11Gr1+Linux Redhat 5 重启机器后,数据库监听启动报错如下: TNS-12542: ...
- oracle ora 604,ORA-01092:ORACLE实例终止,强制断开连接 ORA 00704 00604 00942
天萃荷净 有网友咨询数据库启动报 ora-01092:ORACLE 实例终止.强制断开连接 数据库版本 Trace file d:\app\administrator\diag\rdbms\orcl\ ...
- 生成MySQL数据库表报错:Error Code: 1022. Can't write; duplicate key in table '#sql-e88_23'
生成MySQL数据库表报错SQL: alter table position add constraint FK_Reference_1 foreign key (partner_id) ...
- db2数据库建表的时候主键怎么建_DB2数据库建表报错
一.建表.表加主键.加索引报错 1.Error Code: -542, SQL State: 42831 涉及的字段必须加上 not null. 2.Error Code: -574, SQL Sta ...
- linux oracle lrm00109,Oracle报ORA-01078和LRM-00109错解决方法
Oracle报ORA-01078和LRM-00109错解决方法 创建实例后,进入sqlplus启动报错: sqlplus / as sysdba; SQL*Plus: Release 11.1.0.6 ...
最新文章
- 和tp数据库_CAN / CAN FD传输层(TP)详解
- 别挖我的墙脚!乔布斯生前邮件竟爆出秘密协议
- Phone重绘机制drawRect 转
- 批处理命令 For循环命令具体解释!
- Java黑皮书课后题第4章:*4.5(几何:正多边形的面积)正多边形是一个具有n条边的多边形,它每条边的长度都相等,而且所有角的度数也相等。编写程序,提示用户数输入边个数和边长,然后显示它的面积
- 使用SAPGUI画图
- 如何从 dump 文件中提取出 C# 源代码?
- [C++STL]queue容器用法介绍
- [css] 一个项目中有很多无用的css代码,怎么找到并清除这些无用的代码?
- HDU 6168 Numbers 思维 水题
- SQL Server 2005中设置Reporting Services发布web报表的匿名访问
- react 组件怎么公用_在React中的组件之间共享数据
- python 将一个列表切割成随机指定长度的多个列表
- 常用排序算法(三)直接插入排序
- css之限制文本行数,超出部分显示 “...“
- picasa android 缓存,从android应用上传到picasa
- 【CCF】关于NOI Online测试有关事项的问答
- C#编译报错:名称必须是命名空间名
- Python视频制作 MoviePy框架afx音频效果示例
- vue 根据链接生成二维码(功能实现)
热门文章
- openstack项目中遇到的各种问题总结 其二(云主机迁移、ceph及扩展分区)
- Vulnhub靶机:GEMINI INC_ 1
- 快速解决Springboot打包完项目jar包后遇到的问题(1):“Error java: 程序包xxx不存在。
- 2020-05-05
- excel文件压缩 定位条件 对象
- PCL:getCircumcircleRadius ❤️ 计算三角形外接圆半径
- POJ 2242 The Circumference of the Circle G++ 海伦公式 三角形外接圆半径公式 背
- Matlab将底色改为白色
- 课程设计题七:交通灯控制器
- 【挨踢人物传】向立天:从电视编导到技术总监,只要努力,你也能铸就传奇(第七期)...