1

我有以下命令将转储文件导入具有不同架构的另一个数据库(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 会以某种方式做到这一点。但我不确定它是如何工作的或者它做我想要的。任何建议/帮助都非常感谢提前感谢。

4

1 回答 1

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
于 2014-04-04T10:18:34.233 回答