Oracle导入导出数据时的常见错误


这篇文章主要讲解了“Oracle导入导出数据时的常见错误”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深免费云主机域名入,一起来研究和学习“Oracle导入导出数据时的常见错误”吧!1. exp导出提示”PLS-00302:必须说明SET_NO_OUTLINES 组件”如果客户端是Oracle 11g,而服务器端是Oracle 9i,执行exp就会有如下错误:Export:Release11.1.0.6.0-Productionon星期五7月1521:40:582011Copyright(c)1982,2007,Oracle.AllrightsreservedEXP-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 handleIMP-00000: Import terminated unsuccessfully
这是因为文件导出用的expdp,而导入时用的imp,所以导出导入格式不一样。3. 执行imp导入提示“IMP-00003”imp导入提示,IMP-00017: following statement failed withoracleerror 2298:”ALTER TABLE “A” ENABLE CONSTRAINT REFEREN” “REF_A””IMP-00003: ORACLE error 2298 encounteredORA-02298: cannot validate (REFERENCE_O) – parent keys not foundIMP-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子句,或者找出不规则的数据,清除之后再重新创建约束。4. 执行imp导入提示”IMP-00013″执行imp导入操作,提示,IMP-00013: only a DBA can import a file exported by another DBAIMP-00000: Import terminated unsuccessfully
原因就是exp导出的时候,用的DBA角色的账号,因此要求导入的账号,需要含有DBA角色。但一般很有可能,要导入账号是普通账号,没有DBA角色,也不可能临时被授予,这就比较费劲。
可能的解决方案:1. 导出用户,执行导出前临时revoke DBA角色,完成导出后再授予DBA角色。2. 授予导入用户DBA的角色。3. 授予导入用户imp_full_database的角色。每种方案,可能适用于不同的场景。比如方案1,可以算是临时的方案,但看着就不是很专业,对于一些测试库,要求不高,可以随意一些。方案2,这就会让导入的用户,有一些高级别的操作许可,仅仅为了导入数据这么做,实际上增加了一些风险。方案3,没有授予DBA角色,但一些环境下,可能不会允许随意授予角色。感谢各位的阅读,以上就是“Oracle导入导出数据时的常见错误”的内容了,经过本文的学习后,相信大家对Oracle导入导出数据时的常见错误这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是百云,小编将为大家推送更多相关知识点的文章,欢迎关注!

相关推荐: 一款在线ER模型设计工具,支持MySQL、SQLServer

给大家介绍一款在线ER模型生成的工具,可以针对多种数据库的DDL文件在线生成ER模型图表,支持MySQL、SQLServer、Oracle、PostgreSQL等数据库。主要功能如下:数据库ER模型图。 调整编辑区域显示比例,适配合适的大小首先访问 https…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 01/06 10:19
下一篇 01/06 10:19