使用默认架构将转储文件导入另一个数据库

时间:2014-04-04 01:03:09

标签: sql oracle oracle11g datapump impdp

我有以下命令将转储文件导入到具有不同架构的另一个数据库(DB_B)。 Oracle的数据泵导入

impdp SYSTEM/PASSWORD DUMPFILE=dpump_dir1:expfull.dmp FULL=y LOGFILE=dpump_dir2:full_imp.log
来自DB_A的

expfull.dmp包含许多不同的角色,用户,表空间和其他角色,而DB_B只是一个基本的数据库,我想导入我的expfull.dmp,它只包含创建数据库时的默认用户,角色等。我为了获得DB_A的精确匹配而采取的常规步骤是在每次导入数据库时​​创建这些用户和表空间中的每一个。是否有一个命令/标志,它只是自动导入expfull.dmp的所有内容到DB_B而不经过我刚才描述的所有常规步骤?我在google和oracle网站上检查过remap_schema会以某种方式做到这一点。但我不确定它是如何工作的,或者它是否符合我的要求。任何建议/帮助都非常感谢提前。

1 个答案:

答案 0 :(得分:0)

我认为有一种方法可以自动执行,就像在imp / exp中使用full = y一样导入所有内容,所以你必须通过指定你想要的位置将表空间从一个重映射到另一个他们去。他们不必像以下那样:

impdp scott/tiger DIRECTORY=DBEXPDIR DUMPFILE=DBEXPDIR:export.dpdmp LOGFILE=DBEXPLOG:daily_import.dplog CONTENT=ALL TABLE_EXISTS_ACTION=TRUNCATE REMAP_SCHEMA=PRODDB:PROD_COPY REMAP_TABLESPACE=INDEX:INDEX_DEV REMAP_TABLESPACE=DATA:DATA_DEV REMAP_TABLESPACE=DATA2:DATA_DEV  REMAP_TABLESPACE=DATA3:DATA_DEV