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

备份Oracle 10g的库 在Oracle 9i中还原

程序员文章站 2024-02-15 21:17:52
...

要把同事机子上的一个库还原到自己的机子上,结果同事给的DMP文件没法用。突然想到人家的是Oracle 10G,咱还停留在Oracle 9I阶段

要把同事机子上的一个库还原到自己的机子上,结果同事给的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

备份Oracle 10g的库 在Oracle 9i中还原