日期:2014-05-17  浏览次数:20721 次

如何根据源端导出的schema,在目标端创建表与表空间
我要expdp用导出schema的方式导出某个schema下的所有对象,对象存在在不同的表与表空间里,目标端是一个空库,我得查找到源端导出文件都存在在哪些表与表空间里,并且根据查询的结果在目标端建立相应的表与表空间。
该脚本该如何编写?
schema 脚本 数据泵

------解决方案--------------------
--1.按schema导出后,你不需要新建立表等对象,但要建立tablesapce
--2.根据schema名称,得到其下对象所使用的表空间,进一步获取建立表空间的参考脚本
SELECT to_char(dbms_metadata.get_ddl('TABLESPACE', tablespace_name))
  FROM (SELECT DISTINCT T.tablespace_name
          FROM Dba_Segments t
         WHERE t.owner = '大写schema名称');

------解决方案--------------------
Dba_Segments是一个系统视图
通过该语句可以得create tablespace ...的语句,可稍作修改(如数据文件路径)就可以在sql执行环境中执行。

先在目标空数据库创建表空间后,再用impdp导入

至于一些基础的东西,先买本基础的书系统学习一下。