要把同事机子上的一个库还原到自己的机子上,结果同事给的DMP文件没法用。突然想到人家的是Oracle 10G,咱还停留在Oracle 9I阶段。用自己的9I客户端重新备份,结果EXP-00003错误。在网上查了一下是表中使用了BLOB字段造成的(貌似此字段要是没有存储数据的话也不影响),顺便找到找到了解决办法,使用后,记录如下:
1.使用SYS用户登录Oracle 10g,执行如下SQL更新view
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.在装Oracle 9I的机器上EXP操作
3.在装Oracle 9I的机器上IMP操作
4.记得给Oracle 10G把视图改回来
CREATE OR REPLACE VIEW exu9tne (
tsno, fileno, blockno, length) AS
SELECT ts#, segfile#, segblock#, length
FROM sys.uet$
WHERE ext# = 1