做数据的导入导出操作,最常用的就是imp/exp和impdp/expdp,经常会碰见各种错误,之前总结过一些,《解决导入过程中出现的ORA-02289错误》、《生产数据导入测试环境碰见的一些问题》。

补充一些最近碰见的错误。

1. exp导出提示"PLS-00302:必须说明SET_NO_OUTLINES 组件"

如果客户端是Oracle 11g,而服务器端是Oracle 9i,执行exp就会有如下错误:

Export: Release 11.1.0.6.0 - Production on 星期五 7月 15 21:40:58 2011

Copyright (c) 1982, 2007, Oracle.  All rights reserved

EXP-00056: 遇到 ORACLE 错误 6550

ORA-06550: 第 1 行, 第 41 列:

PLS-00302: 必须说明 'SET_NO_OUTLINES' 组件

ORA-06550: 第 1 行, 第 15 列:

PL/SQL: Statement ignored

EXP-00000: 导出终止失败

Oracle不同版本导入导出存在一些问题,比如从Oracle 9i中exp出来的dmp文件(在安装有oracle 9i的机器上使用exp命令),可以imp到Oracle 11g中去(装有Oracle 11g的机器),但是反过来确实不行。

同时,不能直接在客户端(安装有Oracle 11g)上使用exp命令向服务器端(Oracle 9i)上的数据库发出请求导出数据到客户端机器上,就会提示“PLS-00302”。

这就是所谓向下兼容。

2. imp导入dmp文件时报错"IMP-00038"

执行imp导入操作,提示,

IMP-00038: Could not convert to environment character set’s handle

IMP-00000: Import terminated unsuccessfully

这是因为文件导出用的expdp,而导入时用的imp,所以导出导入格式不一样。

3. 执行imp导入提示“IMP-00003”

imp导入提示,

IMP-00017: following statement failed with oracle error 2298:

"ALTER TABLE "A" ENABLE CONSTRAINT REFEREN" "REF_A""

IMP-00003: ORACLE error 2298 encountered

ORA-02298: cannot validate (REFERENCE_O) - parent keys not found

IMP-00017: following statement failed with ORACLE error 2298:

Import terminated successfully with warnings.

原因有可能是在导出的时间某个表已经被导出了,可是他外键关联有数据变化,导致不一致,所以报错。

根本原因,exp不能保证事务的完整性,例如导出主表,随后在主表增加记录,然后在子表增加记录,提交,这是很可能的。

解决方案是在导出指令中,加入参数consistent=y,默认为no,其目的就是保持一致的作用。例如,

$ exp system/oracle file=/home/oracle/exp.dmp owner=oracle consistent=y

如果没用consistent=y,已经完成了导入,存在违反约束的数据,此时就是需要创建约束,可以采用novalidate子句,或者找出不规则的数据,清除之后再重新创建约束,可以参考《Oracle违反约束数据的workaround》和《表中已存重复数据的情况,如何增加唯一性约束?》。

4. 执行imp导入提示"IMP-00013"

执行imp导入操作,提示,

IMP-00013: only a DBA can import a file exported by another DBA

IMP-00000: Import terminated unsuccessfully

原因就是exp导出的时候,用的DBA角色的账号,因此要求导入的账号,需要含有DBA角色。但一般很有可能,要导入账号是普通账号,没有DBA角色,也不可能临时被授予,这就比较费劲。

可能的解决方案:

1. 导出用户,执行导出前临时revoke DBA角色,完成导出后再授予DBA角色。

2. 授予导入用户DBA的角色。

3. 授予导入用户imp_full_database的角色。

每种方案,可能适用于不同的场景。比如方案1,可以算是临时的方案,但看着就不是很专业,对于一些测试库,要求不高,可以随意一些。方案2,这就会让导入的用户,有一些高级别的操作许可,仅仅为了导入数据这么做,实际上增加了一些风险。方案3,没有授予DBA角色,但一些环境下,可能不会允许随意授予角色,例如建荣曾举了一个案例,《对IMP-00013问题的思考(r3笔记第71天)》。

因此可以说没有最佳方案,只有最合适方案,针对不同的场景,选择最适合的,这才是最重要的。

如果朋友们碰见了一些其他和导入导出相关的错误或者坑,可以文末回复,提醒所有朋友,避免再次入坑,或者可以迅速跳出坑。

oracle导入java包时出错,Oracle导入导出的常见错误相关推荐

  1. python 导包 numpy_导入Python包时出错(例如Numpy)

    我正在使用一个计算群集,无法访问整个群集.因此,我尝试在本地(在我的"home"目录中)安装python的包,但是从脚本导入它们时遇到了问题.在 我试图更新我的路径和PYTHONP ...

  2. Maven:导入Oracle的jar包时出现错误

    QUESTION:Maven:导入Oracle的jar包时出现错误 目录 QUESTION:Maven:导入Oracle的jar包时出现错误 ANSWER: 一:问题分析 二:解决方案 ANSWER: ...

  3. powerpovit oracle,在 SharePoint Server 2013 PowerPivot Oracle 数据源配置服务时出错

    在 SharePoint Server 2013 PowerPivot Oracle 数据源配置服务时出错 2021/3/15 适用于: SharePoint Server 2013 本文内容 症状 ...

  4. python导入自定义包时无法导入自己定义的包

    python导入自定义包时 显示找不到包,如下图 处理方法如下: 点击文件夹选择工作目录 点击后就可以正常导包啦

  5. apk安装,解析包时出错

    apk安装,解析包时出错是当时手机版本过低,需升级手机版本,或者下载apk的历史版本.豌豆荚里可以安装APP的历史版本,APP和手机系统的版本低利于数据抓取.

  6. impdp 不兼容_oracle - Oracle:使用impdp导入数据库转储时出错:Data Pump客户端与数据库版本12.1.0.2.0不兼容 - 堆栈内存溢出...

    我们从Oracle DB v12创建了一个数据库转储. 1使用expdp(导出数据泵)v12.1实用程序,现在我想将其导入另一个DB v12. 1使用impdp(导入数据泵)工具. 对于杂项. 我需要 ...

  7. 导入java项目时,出现红色感叹号的解决办法

    右击项目,然后右击项目Build Path-->Counfiger Build Path,左边java Build Path-->右边标签 Libraries-> 右边选第四个Add ...

  8. jsp页面导入java包能干嘛_在JSP中如果要导入java.util.*包要使用什么指令

    [判断题]扶梯满载上行时,所需总功率等于驱动梯级所需的功率乘以传动总效率. [判断题]电梯制动器闸瓦应均匀,其四角处间隙平均值两侧各不大于0.7mm. [多选题]以下()触点断开会使MC线圈断电. [ ...

  9. java中怎么快速导入一个包_Eclipse中快速导入jar包的方法

    如何在Eclipse中快速导入jar包呢?下面就一起来学习Eclipse中快速导入jar包的方法吧,熟悉一下它的基本操作, 相信对各位小伙伴们一定会有所帮助的哦. Eclipse中快速导入jar包的方 ...

最新文章

  1. Nginx热部署详解
  2. localBlock在java_将java.util.Date转换为java.time.LocalDate
  3. TCP的拥塞控制--慢启动,拥塞避免,快重传,快速恢复
  4. Mongodb带验证的主从复制架构
  5. mysql教程清华课后答案_mysql学习之路_sql
  6. idea内存溢出解决_各种OOM代码样例及解决方法
  7. inputstreamreader 编码不完整_素材编码对剪辑效率的影响
  8. python CGI编程Apache配置
  9. SpringBoot:@ConfigurationProperties注解使用与源码
  10. vertical-align和line-height的深入应用
  11. [转] 丢了自己,要记得找回了~~我们80后的那些忧伤
  12. 安装Python和Anaconda
  13. 次世代3D游戏建模高效技巧,高薪不会跑!
  14. 数学建模Latex简易模板
  15. [历朝通俗演义-蔡东藩-前汉]第002回 诛假父纳言迎母 称皇帝立法愚民
  16. C++——素数(质数)专题训练
  17. 最小二乘法直线拟合、圆拟合
  18. 无法下载eclipse || 下载eclipse被墙 的解决方案
  19. 计算机的随想作文500字,新年随想作文500字(通用5篇)
  20. windows11编译OpenCV4.5.0 with CUDA(附注意事项)

热门文章

  1. 打上花火中文谐音歌词_【1分钟学会闽南语歌】茄子蛋-《浪子回头》-闽南语音译歌词视频...
  2. cat 常用的日志分析架构方案_芯片失效分析常用方法及解决方案
  3. 程序异常是python语言基本控制结构_计算机二级python 知识点篇(程序的控制结构)...
  4. web自动化如何在不同浏览器运行_Web自动化测试:元素的基础操作和浏览器基础操作...
  5. 数学之美 系列十六 (下)- 不要把所有的鸡蛋放在一个篮子里 最大熵模型
  6. Ubuntu复制相同的目录结构(不复制文件)
  7. c语言最长公共子序列_LCS(最长公共子序列)
  8. qt中json构造一个数组_告别撸单元格!我来分享Excel中如何利用一条公式得到一个数组...
  9. 决策树随机森林GBDT
  10. ES6,Array.copyWithin()函数的用法