EXP-00003: 未找到段 (13,115) 的存储定义

低版本导出高版本产生的问题

一、网上解决办法:

正文:

使用Oracle9i(版本:9.2.0.1.0)的客户端exp命令导出Oracle10g的数据库,当表中有BLOB或CLOB类型的字段时,会报如下的错误:

    ---------

    EXP-00003: 未找到段 (13,115) 的存储定义

    ---------

无法成功导出表。


经过查找资料和测试,发现可能是版本差异造成的一个问题。


经过如下操作可以修正该问题:


1.修改Oracle客户端的文件catexp.sql。

  catexp.sql文件在Oracle客户端安装路径:../ora92/rdbms/admin/中。

  在修改之前,备份catexp.sql文件。

  打开catexp.sql文件,找到视图“exu9tne”。

  然后把语句“UNION ALL select * from sys.exu9tneb”加入到视图exu9tne定义的最后一行。

  形成如下样子:

    ---------

  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

  /

    ---------


2.以sys帐号执行该脚本:

 

  ----------

  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
  /

  GRANT SELECT ON sys.exu9tne TO PUBLIC;

  ----------

 

经过如上操作,即可在Oracle9i的客户端使用exp命令成功导出Oracle10g的数据库中含有BLOB或CLOB字段类型的表。

二、另外一种:

       在导出exp命令中 设置缓存 buffer 即可。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

权子。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值