Oracle运维笔记之有关外部表的ORA-20011错误

简介: Oracle运维笔记之有关外部表的ORA-20011错误

最近测试服务器在迁移后,每天的22点多就会出现以下错误:

Wed Nov 04 22:17:48 2020
DBMS_STATS: GATHER_STATS_JOB encountered errors. Check the trace file.
Errors in file /oracle/app/diag/rdbms/ofsaa/ofsaa1/trace/ofsaa1_j001_54452.trc:
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.

从错误信息上看,是在对外部表收集统计信息时出现的错误。通过oerr ora命令没有找到20011的相关信息,接下来就只有查看MOS了。在文档1274653.1,ORA-20011 ORA-29913 and ORA-29400 with Associated KUP-XXXXX Errors from DBMS_STATS.GATHER_STATS_JOB中,是这样介绍错误原因的:

图片.png

内部表文件丢失,但是数据库字典信息中由于某些原因没有及时更新,仍然保留着内部表的信息。当用DBMS_STATS收集该内部表的统计信息时,调用内部表信息,但由于文件已经不存在导致了报错。
看到这里也就确定了问题所在,测试库有一张外部表,在迁移后,外部表文件没有迁移到新服务器上,还在之前的服务器,这就导致了在新服务器上只有外部表的定义,而没有文件,所以在收集统计信息时才会报错。
在知道原因后,跟测试人员确认,得知这张外部表不是必要的表,那么只需要在数据库中删除掉这张外部表了,参考MOS的步骤如下:
1.定位外部表的文件路径

define owner
undefine table_pattern
select el.table_name, el.owner, dir.directory_path||'/'||dir.directory_name "path"
from dba_external_locations el, dba_directories dir
where el.owner like '%ETL_ADMIN%'
and el.directory_owner = dir.owner
and el.directory_name = dir.directory_name
order by 1, 2;

2.锁定收集统计信息或删除表

DBMS_STATS.LOCK_TABLE_STATS ('ownname','tabname');
AND/OR
DROP TABLE ownname.tabname;

相关文章
|
7月前
|
运维 Oracle 容灾
Oracle dataguard 容灾技术实战(笔记),教你一种更清晰的Linux运维架构
Oracle dataguard 容灾技术实战(笔记),教你一种更清晰的Linux运维架构
|
7月前
|
运维 Linux Docker
Docker笔记(个人向) 简述,最新高频Linux运维面试题目分享
Docker笔记(个人向) 简述,最新高频Linux运维面试题目分享
|
3月前
|
运维 Java 关系型数据库
【Java笔记+踩坑】SpringBoot基础2——运维实用
SpringBoot程序的打包与运行、临时配置、多环境配置、日志
【Java笔记+踩坑】SpringBoot基础2——运维实用
|
4月前
|
运维 Oracle 前端开发
Oracle 11g RAC集群日常运维命令总结
Oracle 11g RAC集群日常运维命令总结
109 2
|
4月前
|
SQL 运维 Oracle
入门级Oracle 11g日常运维命令总结
入门级Oracle 11g日常运维命令总结
169 1
|
4月前
|
应用服务中间件 API 网络安全
运维笔记:宿主机转发实现多容器复用CA证书
运维笔记:宿主机转发实现多容器复用CA证书
48 4
|
4月前
|
数据采集 运维 监控
运维笔记:流编辑器sed命令用法解析
运维笔记:流编辑器sed命令用法解析
69 5
|
4月前
|
运维 安全 网络安全
运维笔记:基于阿里云跨地域服务器通信
运维笔记:基于阿里云跨地域服务器通信
202 1
|
4月前
|
SQL 存储 关系型数据库
运维笔记.MySQL.基于mysqldump数据备份与恢复
运维笔记.MySQL.基于mysqldump数据备份与恢复
72 0
|
6月前
|
Oracle 关系型数据库 数据库
oracle基本操作笔记分享
oracle基本操作笔记分享
43 0

推荐镜像

更多