小知识:解决EXP-00003的报错
时间:2022-07-22
本文章向大家介绍小知识:解决EXP-00003的报错,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
客户有个需求:某用户程序(含exp导出任务)报错EXP-00003,这个错误并不会影响整个导出任务的结束,但由于是晚上的定时任务,该错误会触发夜间告警。客户想通过数据库层面来规避掉此错误。 事实上,这个错误是比较普遍的,我们知道Oracle 11g有一个延迟段创建的特性,这个特性在最佳实践一般是建议关闭的,但由于默认是开启,大部分环境还是默认值。如果我们直接通过网络去搜索这个错误,也会得到一些答案,给出的解决方案有两种,一是关闭该特性(但是这对之前的空表无效),二是给空表主动插入一条数据(这在实际生产环境实际是不现实的)。 客户的数据库环境是11.2.0.4,我在自己测试环境顺手验证了下,结果发现并不会报错EXP-00003。 依次确认:
- 1.延迟段创建的参数是默认值,即没有关闭;
- 2.实验的空表没有对应的段;
--1.参数默认设置:
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
deferred_segment_creation boolean TRUE
--2.查看两张测试表对应的段,发现T_NULL没有对应的段:
sys@CRMDB> select segment_name, owner from dba_segments where owner='JINGYU' and segment_name in('T1','T_NULL');
SEGMENT_NAME OWNER
------------------------------ ------------------------------
T1 JINGYU
但导出空表T_NULL(没有对应段)可以成功,并不会报错:EXP-00003
[oracle@jystdrac2 ~]$ exp jingyu/jingyu file=test001.dmp tables=t_null,t1
Export: Release 11.2.0.4.0 - Production on Mon Jul 27 17:09:43 2020
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Tes
Export done in AL32UTF8 character set and AL16UTF16 NCHAR character set
About to export specified tables via Conventional Path ...
. . exporting table T_NULL 0 rows exported
. . exporting table T1 7 rows exported
Export terminated successfully without warnings.
难道说Oracle已经解决了这个问题?那客户遇到的情况呢?这是怎么回事? 事实上,了解到客户程序用到的是windows平台,安装的是一个32位的Oracle 11.2.0.1 版本的Windows客户端。 程序使用exp导出时调用的是这个客户端,还是会报错。 那其实解决方案就简单了,结合客户一些其他需求,还是选择安装32位的客户端,只不过我们可以将版本换成11.2.0.4,这样再次测试,就不会再报错EXP-00003。 而这个现象其实官方还有篇MOS文章有说明:
- Error During Schema Level Export - EXP-00003: no storage definition found for segment(0, 0) (Doc ID 1969081.1)
很多客户对客户端的版本不太care,而事实上客户端版本选择稳定版也是有必要的,比如文中的问题,如果一开始就安装了11.2.0.4版本的客户端,就不会有这个问题了。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 一天一大 leet(最佳买卖股票时机含冷冻期)难度:中等-Day20200710
- 一天一大 leet(戳气球)难度:困难-Day20200719
- 一天一大 leet(不同的二叉搜索树 II)难度:中等-Day20200721
- 组合游戏系列5: 井字棋、五子棋AlphaGo Zero 算法实战
- 一天一大 leet(最小路径和)难度:中等-Day20200723
- 一天一大 leet(二叉树的最大深度)难度:简单-Day20200728
- 生产者消费者模式的三种实现方式
- java中的阻塞队列
- java虚拟机
- 重构:保持Dockerfile整洁的5个技巧
- spring boot启动过程
- 如何构造jvm的堆溢出和栈溢出
- 一日一技:导入父文件夹中的模块并读取当前文件夹内的资源
- Matpotlib绘图遇到时间刻度就犯难?现在,一次性告诉你四种方法
- Windows NetLogon权限提升漏洞(CVE-2019-1424) 复现