exp/imp遇到的问题
来源:互联网 发布:网页美工工资 编辑:程序博客网 时间:2024/06/14 16:10
这两天在用oracle 的 exp/imp工具时遇到了一些问题,困扰了我很长时间,现在终于解决了,特此记录下来。
源服务器: oracle 9.2.0.6.0
目标服务器: oracle 9.2.0.1.0
问题一:EXP-00003: 未找到段 (****) 的存储定义
原因: 客户端和服务器版本不一致
解决办法:
1. 升级客户端
2.改视图,这一段是网上找到的
当使用9205以前版本的exp程序去9205及以上的数据库中去导出带LOB字段的表时, 会遇到一个错误, 错误信息为"EXP-00003 : 没找到段的存贮定义 .....", 事实上这是一个Oracle的Bug, 可以通过监时地更改视图"exu9tne"的定义来临时解决问题, 如下所示:
在导出前, 连接到SYS用户, 运行以下SQL:
CREATE OR REPLACE VIEW exu9tne (
tsno, fileno, blockno, length) AS
SELECT ts#, segfile#, segblock#, length
FROM sys.uet$
WHERE ext# = 1
UNION ALL
SELECT * FROM SYS.EXU9TNEB
/
导出完成后, 运行以下命令来还原视图的定义, 下面贴的是Oracle 9用的, 10g的还是请访问Metalink来确定, 或者在运行前一个命令之前, 从USER_VIEWS中将原视图的定义查出来, 这样做也是DBA一个很好的习惯.
CREATE OR REPLACE VIEW exu9tne (
tsno, fileno, blockno, length) AS
SELECT ts#, segfile#, segblock#, length
FROM sys.uet$
WHERE ext# = 1
3. 如果表中没有BLOB字段,有时也会出现这个错误,设定参数compress=y可以解决,不需要改视图。
问题二:imp 时停止,无反映
原因: 存储过程写的有问题
解决:
这个问题困扰我最长的时间,一共16M的数据,导入时在表导完后就停止不动了,只能重启服务器进程。在网上找了好多帖子,基本上都是说增大回退段,增加表空间,设置自动归档等等,但我的数据才这么点,根本就不是这个原因,更令人奇怪的是,另一个schema下的200多M数据却很顺利的导进了。
后来在重启服务的时间,注意到dos窗口中显示一个package编译未完成,就想是不是包的问题。将此包从源服务器上删掉后,重新导出,再导入时果然可以了。那就查这个包吧,最后查不查去,问题竟出在一个 select语句上,select "ss" || count(*) into v_a from aa ; 就是这个语句,在源服务器上编译时完全正常,但到本地服务器上编译会导致死锁。在count(*)前加上to_char()就好了,不知道这是什么原因。可能是版本问题吧,
- exp/imp遇到的问题
- imp/exp使用遇到的问题
- 在exp/imp导入导出的时候遇到的问题
- 不同版本数据库的exp/imp问题
- exp,imp问题
- exp,imp问题
- exp,imp问题
- exp/imp 空表少表问题
- 【EXP/IMP】问题总结
- exp/imp的Bug??
- imp/exp的使用方法
- imp exp的使用
- EXP IMP的使用
- oracle 的exp imp
- exp、imp的特点
- oracle imp/exp 字符集问题
- 【EXP/IMP】EXP/IMP过程中的字符集问题
- [转]【EXP/IMP】EXP/IMP过程中的字符集问题
- ArcGIS 9.2将支持SVG格式
- TinyXml Documentation 2.5.1
- 错误大杂烩
- 面向移动设备的摄像定位导航系统
- 一个能动态调用webservice的类 (c#)
- exp/imp遇到的问题
- 9003错误,sqlserver无法启动,HELP!!!十万火急~~~!!http://topic.csdn.net/t/20060708/09/4867769.html
- 软件工程师的困惑
- 情感故事(我的一根肋骨)
- 摘抄--技术态度
- SQL中让某列的字段作为返回结果的列名 (比如物品,日期,数量)
- GridView如何更新批量数据和单条记录(downmoon)?
- 使用DIV取代FrameSet:研究鲜果首页
- TinyXml 指南