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


最近遇到个问题,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

相关内容