欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Oracle 10g中导出到Oracle 9的问题小结

程序员文章站 2022-05-29 11:56:01
...

最近遇到个问题,Oracle 10G的数据库导出后,其实在9I中导入是有问题的,于是尝试装了个9I,去连10G后,用9I的EXP命令导出,谁知道导出

最近遇到个问题,Oracle 10G的数据库导出后,其实在9I中导入是有问题的,于是

尝试装了个9I,去连10G后,用9I的EXP命令导出,谁知道导出后还是错误,BLOB字段都丢失,

遇到错误,为:

EXP-00003: 未找到段

于是最后找到了方法

1、升级client端到9.2.0.5以上。
我使用9208/10.1.0.4的exp导出一个含有BLOB和CLOB的表,能导出所有数据!

2、替代解决办法:
在导出前, 连接到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

导出完成后,再复原这个view(定义可以通过user_views看到) 对于Oracle9i和Oracle10g这个定义都相同:

CREATE OR REPLACE VIEW exu9tne (
tsno, fileno, blockno, length) AS
SELECT ts#, segfile#, segblock#, length
FROM sys.uet$
WHERE ext# = 1

Oracle 10g中导出到Oracle 9的问题小结