oracle启动报错ora11157,ORA-20011 KUP-11024 外部表引起的错误
KUP-11024: This external table can only be accessed from within a Data Pump job.
Sat Jun 13 14:08:06 2015
Thread 1 cannot allocate new log, sequence 11157
错误原因:
外部表对应的操作系统上的外部表文件不存在了。但是,数据依然相信操作系统上的外部表文件还存在。
当DBMS_STATS运行,收集这个外部表的统计信息,由于外部表的文件不存在了,所以出现了上述错误。
外部表不存在的情况如下:
1、没有正确的清理datapump的临时外部表(使用datapump将查询结果填充到外部表的情况,http://czmmiao.iteye.com/blog/1268712)。
datapump job结束后,临时外部表应该会被删除掉。
2、外部表文件已经被删除,但是没有清理外部表的定义。
解决办法:
1、DBMS_STATS job 运行时,没有DataPump job运行
2、检查并清理孤儿DataPump jobs。
3、确定外部表属于datapump job
set linesize 200 trimspool on
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
select OWNER,OBJECT_NAME,OBJECT_TYPE, status,
to_char(CREATED,'dd-mon-yyyy hh24:mi:ss') created
,to_char(LAST_DDL_TIME , 'dd-mon-yyyy hh24:mi:ss') last_ddl_time
from dba_objects
where object_name like 'ET$%'
/
OWNER OBJECT_NAME OBJECT_TYPE STATUS CREATED LAST_DDL_TIME
------------------------------ ------------------------------ ------------------------- -------------- ------------------------- -------------------------
SCOTT ET$0071FF750001 TABLE VALID 28-feb-2015 16:12:19 04-may-2015 14:43:41
SCOTT ET$007CB0E70001 TABLE VALID 28-feb-2015 16:12:20 04-may-2015 14:43:41
SCOTT ET$008701B10001 TABLE VALID 28-feb-2015 16:12:20 04-may-2015 14:43:41
SCOTT ET$00922EAD0001 TABLE VALID 28-feb-2015 16:35:23 04-may-2015 14:43:41
SCOTT ET$009DD93B0001 TABLE VALID 28-feb-2015 16:40:11 04-may-2015 14:43:41
SCOTT ET$00A83F510001 TABLE VALID 28-feb-2015 16:50:55 04-may-2015 14:43:41
6 rows selected.
select owner, TABLE_NAME, DEFAULT_DIRECTORY_NAME, ACCESS_TYPE
from dba_external_tables
order by 1,2
/
OWNER TABLE_NAME DEFAULT_DI ACCESS_TYPE
---------- -------------------- ---------- --------------
SCOTT ET$0071FF750001 EXPDP CLOB
SCOTT ET$007CB0E70001 EXPDP CLOB
SCOTT ET$008701B10001 EXPDP CLOB
SCOTT ET$00922EAD0001 EXPDP CLOB
SCOTT ET$009DD93B0001 EXPDP CLOB
SCOTT ET$00A83F510001 EXPDP CLOB
查询外部表,报的错误和alert日志一样
SQL> select count(*) from SCOTT.ET$009DD93B0001;
select count(*) from SCOTT.ET$009DD93B0001
*
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.
外部表ET$0071FF750001的定义,看着像是datapump创建外部表。datapump导出的dmp文件作为外部表的数据文件。
CREATE TABLE "SCOTT"."ET$0071FF750001"
( "ORD_ID" NUMBER(15,0),
"ORD_NO" VARCHAR2(30),
"ORD_SEQ" NUMBER(5,0),
"ORD_CD" VARCHAR2(3),
"UNIT_SEQ" NUMBER(15,0),
"PROD_ID" NUMBER(6,0),
"UNIT_ID" NUMBER(3,0),
"WH_CD" VARCHAR2(3),
"RCPT_NO" NUMBER(15,0),
"INVC_ID" VARCHAR2(30),
"VEN_ID" NUMBER(6,0),
"ORD_QTY" NUMBER(10,0),
"CUST_ID" NUMBER(15,0),
"ORD_DATE" DATE,
"ORD_STAT_CD" VARCHAR2(3),
"COST" NUMBER(15,2),
"PRC" NUMBER(15,2),
"SPEC_PRC" NUMBER(15,2),
"TRAN_PRC" NUMBER(15,2),
"ORD_AMT" NUMBER(15,2),
"ORD_SUM_AMT" NUMBER(15,2),
"ADV_ID" NUMBER(10,0),
"MEDIA_ID" NUMBER(10,0),
"EXP_CD" VARCHAR2(20),
"SID" NUMBER(15,0),
"PRVNC_ID" VARCHAR2(10),
"CITY_ID" VARCHAR2(10),
"CNTY_ID" VARCHAR2(10),
"CUST_AGE" VARCHAR2(30),
"CUST_SEX" VARCHAR2(30),
"CUST_NM" VARCHAR2(60),
"BC_ORD_STAT_CD" VARCHAR2(30),
"OUT_CNFM_DATE" DATE,
"OVER_CNFM_DATE" DATE,
"CASH_RECEIVE" NUMBER(15,2),
"CASH_NEED" NUMBER(15,2),
"CUSER_ID" VARCHAR2(60),
"CTIME" DATE,
"UUSER_ID" VARCHAR2(60),
"UTIME" DATE,
"CENTER_CD" VARCHAR2(60),
"OLD_ORD_ID" NUMBER(15,0),
"PAY_ID" NUMBER(15,0),
"BANK_ID" NUMBER(15,0),
"ID" NUMBER(15,0),
"TRADE" NUMBER(15,4),
"UTRADE" NUMBER(15,4),
"TICKET" NUMBER(15,4),
"INTEGRAL" NUMBER(15,4),
"UINTEGRAL" NUMBER(15,4),
"ORDER_FLAG" VARCHAR2(2),
"OUT_BOUND_DATE" DATE,
"RTN_EXN_RSN_CD" VARCHAR2(7)
)
ORGANIZATION EXTERNAL
( TYPE ORACLE_DATAPUMP
DEFAULT DIRECTORY "EXPDP"
ACCESS PARAMETERS
( DEBUG = (0 , 0) DATAPUMP INTERNAL TABLE "SCOTT"."TC_BB_ORD" JO
B ( "SCOTT","IVL_CHG_98TAB_20150208",1) WORKERID 1 PARALLEL 1 VERSION '11.2.0.0
.0' ENCRYPTPASSWORDISNULL COMPRESSION DISABLED ENCRYPTION DISABLED TABLEEXISTS
)
LOCATION
( 'bogus.dat'
)
)
REJECT LIMIT UNLIMITED
4、删除属于datapump的外部表
drop table SCOTT.ET$0071FF750001 purge;
drop table SCOTT.ET$007CB0E70001 purge;
drop table SCOTT.ET$008701B10001 purge;
drop table SCOTT.ET$00922EAD0001 purge;
drop table SCOTT.ET$009DD93B0001 purge;
drop table SCOTT.ET$00A83F510001 purge;
参考:
ORA-20011 ORA-29913 and ORA-29400 with Associated KUP-XXXXX Errors from DBMS_STATS.GATHER_STATS_JOB (文档 ID 1274653.1)
How To Cleanup Orphaned DataPump Jobs In DBA_DATAPUMP_JOBS ? (文档 ID 336014.1)
转载请注明:
十字螺丝钉
http://blog.chinaunix.net/uid/23284114.html
QQ:463725310
E-MAIL:houora#gmail.com(#请自行替换为@)
oracle启动报错ora11157,ORA-20011 KUP-11024 外部表引起的错误相关推荐
- oracle启动pmon,案例:Oracle启动报错ksuapc:ORA-1033 foreground process starts before PMON
天萃荷净 Oracle数据库启动时报错:ksuapc:ORA-1033 foreground process starts before PMON,分析原因由于启动时有前台进程连接导致. 1.在11. ...
- oracle 启动报错03113,Oracle启动报错ORA-03113解决
环境:RHEL6.4 + Oracle 11.2.0.4 步骤摘要:1.启动报错ORA-031132.查看alert日志查找原因3.根据实际情况采取合理的措施,这里我 环境:RHEL6.4 + Ora ...
- oracle 启动报错03113,ORACLE启动报错ORA-03113: end-of-file on communication channel
前日夜里,帮助XX省电信,进行数据库X备一项目的上线前的调试准备工作,在备机上启动双实例数据库中的一个实例的时候报错,提示 SQL> startup ORACLE instance starte ...
- ORACLE 启动报错 ORA-00600: internal error code, arguments
虚拟机突然关闭后,启动数据库,报错: ORA-00600: internal error code, arguments: [kcratr_nab_less_than_odr], [1], [44], ...
- oracle数据库启动报错ora-27102
ORACLE启动报错 今天一大早来公司,发现数据库连不上了,重新启动报错 oracle数据库启动报错ora-27102,内存不足 查看操作系统参数: cat /etc/sysctl.conf 发现这里 ...
- oracle+exceeds,oracle 导入报错:field in data file exceeds maximum length
今天用sqlldr导入数据时候报错: " Record 1: Rejected - Error on table ks_test, column khname. Field in data ...
- mysql5.5编译安装脚本_mysql5.5 免编译安装及脚本启动报错深入
Mysql安装环境简介: 最近在做MHA.已经安装完毕heartbeat和drbd,现在准备安装Mysql. Mysql安装目录:/opt/mysql Mysql数据目录:/data/mysql 备注 ...
- Linux下MongoDB启动报错问题
Version:MongoDB 5.0.3 1.使用配置文件启动报错1: 查看日志: 原因为配置文件有错误: #mongod.conf net: bindIp: localhost,172.20.10 ...
- linux ora 01157,案例:Oracle报错ORA-01157 ORA-01110 数据启动报错RMAN恢复数据库思路
天萃荷净 rman从多份备份中还原操作,运维DBA工程师反映数据库在进行恢复时报错ORA-01157 ORA-01110,分析原因为11号数据文件需要recover 1.数据恢复ORA错误 RMAN& ...
- oracle log block size,案例:Oracle无法启动报错ORA-00218: block size 0 重建控制文件
天萃荷净 oracle数据库无法启动报错ORA-00218故障,通过重建控制文件解决文件损坏问题 遇到一个案例在数据库启动的时候报ORA-00218错误,而这个故障的引起原因是因为重建控制文件的时候, ...
最新文章
- dblink传输clob字段
- CSS未知宽高元素水平垂直居中
- 怎样用计算机二进制,二进制计算_如何用系统自带的计算器二进制十进制转换...
- 科大讯飞回应“同传造假”:承认转写人类同传,沟通不足造成误解
- Asp.Net 学习资源列表 [转]
- 【注意】LeetCode 2. Add Two Numbers
- 计算机网络数据链路层之其基础概述
- 长沙理工大学--论演员的自我修养---杨辉三角+卢卡斯定理
- linux远程调试程序,嵌入式Linux的GDB远程调试的实现
- php5.0 cms安装教程,小浣熊CMS5.0漫画系统安装教程和采集教程
- 开心电视助手v3.8最新绿色版,安卓设备远程管理工具神器
- [转]c#对象的浅拷贝和深拷贝
- 观《蓝天铁翼-红旗军演》所想到的
- 模仿支付宝支付成功特效:svg圆圈转动+打钩
- 【luogu P3426】SZA-Template(字符串)(KMP)
- 清新小学生文明礼仪PPT模板
- C#在获得客户端ip的时候,获得的ip地址为::1
- 天龙八部TLBB补丁Update目录说明
- 【slf4j】在Java中如何定义优雅的Log日志
- Spring Cloud- Ribbon设计原理
热门文章
- Python关于pandas中 ValueError: Writing 0 cols but got ”XXX“ aliases的错误
- PDF文档如何拆分并合并成新文档?
- 若干个数据首尾相连,构成一个圆环,找到连续的4个数之和最大的一段。
- 蓝光手游大师极速版 V1.0.82
- iMazing v2021绿色便携版iOS设备数据管理工具
- 近红外光谱分析的原理、技术及其分析方法
- python中fn是什么意思_Python fn
- 个人网站建设教程|本地网站环境搭建|网站制作教程
- android8.1如何升级,关于android8.1实现多个app升级时的注意事项
- 家庭智能网络防盗及远程实时监控系统