可以使用传输表空间技术来实现,转贴一个例子给你:
下面是一个简单的小例子:
SQL> EXEC SYS.DBMS_TTS.TRANSPORT_SET_CHECK('TEST', TRUE);
PL/SQL 过程已成功完成。
SQL> SELECT * FROM SYS.TRANSPORT_SET_VIOLATIONS;
VIOLATIONS
----------------------------------------------------------------
Index YANGTK.IND_T_NAME in tablespace TEST points to table YANGTK.T in tablespace YANGTK
SQL> ALTER INDEX IND_T_NAME REBUILD TABLESPACE YANGTK;
索引已更改。
SQL> EXEC SYS.DBMS_TTS.TRANSPORT_SET_CHECK('TEST', TRUE);
PL/SQL 过程已成功完成。
SQL> SELECT * FROM SYS.TRANSPORT_SET_VIOLATIONS;
未选定行
SQL> ALTER TABLESPACE TEST READ ONLY;
表空间已更改。
E:>exp """/@test as sysdba""" file=trans.dmp transport_tablespace=y tablespaces=test triggers=n constraints=y grants=y
 
Export: Release 9.2.0.1.0 - Production on 星期四 1月 13 16:47:24 2005
 
Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.
 
 
连接到: Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, Oracle Label Security, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production
已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集
注: 将不会导出表数据(行)
关于导出可传输的表空间元数据...
用于表空间 TEST...
. 正在导出群集定义
. 正在导出表定义
. . 正在导出表                            TEST
. 正在导出引用完整性约束条件
. 结束导出可传输的表空间元数据
在没有警告的情况下成功终止导出。
 
SQL> ALTER TABLESPACE TEST READ WRITE;
表空间已更改。
E:>copy e:oracleoradatatesttest.dbf e:oracleoradatayangtktest.dbf
已复制         1 个文件。
 
E:>imp """/@yangtk as sysdba""" file=trans.dmp transport_tablespace=y datafiles='e:oracleoradatayangtktest.dbf' tablespaces=test tts_owners=yangtk
 
Import: Release 9.2.0.1.0 - Production on 星期四 1月 13 16:53:26 2005
 
Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.
 
 
连接到: Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, Oracle Label Security, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production
 
经由常规路径导出由EXPORT:V09.02.00创建的文件
关于导入可传输表空间元数据...
已经完成ZHS16GBK字符集和AL16UTF16 NCHAR 字符集中的导入
. 正在将SYS的对象导入到 SYS
. 正在将YANGTK的对象导入到 YANGTK
. . 正在导入表                          "TEST"
成功终止导入,但出现警告。
 
SQL> CONN YANGTK/YANGTK@YANGTK
已连接。
SQL> ALTER TABLESPACE TEST READ WRITE;
表空间已更改。