【问题标题】:Oracle: using impdp from a full DB expdpOracle:使用来自完整数据库 expdp 的 impdp
【发布时间】:2011-11-25 07:57:32
【问题描述】:

我有一个完整的数据库转储(所有架构、系统等...) 现在我只想导入这个文件的一个模式,这可能吗?

到目前为止,我得到了这个命令:

impdp sysadm/sysadm@sysadm schemas=sysadm directory=dp_dir dumpfile=export.dmp logfile=export.log 

这行得通吗? 问题是,在这个转储文件中有一些模式已经被使用,我无法覆盖它们(我可以,但恢复它们对我来说会很痛苦)

感谢帮助

【问题讨论】:

    标签: oracle import impdp


    【解决方案1】:

    它应该像你展示的那样工作。您可能还想查看 TABLE_EXISTS_ACTION 参数以提供额外的温暖模糊性。这样您就可以跳过已经存在的表。

    也就是说,您当然会在开始之前备份您的数据库吗?或者如果恢复起来真的很痛苦,也许您可​​以创建另一个测试数据库来尝试一下?

    【讨论】:

    • 到目前为止,我们使用了 exp 和 imp,但现在我得到了一个 DP 转储,我们确实删除了用户并创建了一个新用户。所以我现在也这样做了。要创建一个新的数据库,我的 IT 管理员会杀了我:/ 我们已经订购了一个,但没有得到它。好吧,我会试试看:-D
    • IMO,用于导入/导出的数据泵类似物是一个很大的改进。它们速度更快并提供更多功能。唯一的缺点是它们是基于服务器的,因此您的输出文件是在数据库所在的服务器上创建的,这可能需要在导入之前将文件移动到不同的服务器。
    • 好吧,我将它导入到另一台服务器上。它是第 3 次的转储。党公司所以这应该没有问题。 atm 它的工作,所以让我们看看发生了什么:-D
    • 你现在必须在 11g2 中使用数据泵,否则它不会导出空表。
    • @tsells,嗯,你能用QUERY参数不选择行吗?
    【解决方案2】:
        "impdp system/*****@nsd1 directory=DATA_PUMP_DIR parfile=exclude_schemas_parfile.par REMAP_SCHEMA=old_schema:new_schema remap_tablespace=Schema1_TS_TABLES:Schema2_TS_TABLES  dumpfile=schema1.dmp LOGFILE=schema1_import.log"
    
    .par file enteries look like this:
    
    exclude=SCHEMA:"='CTXSYS'"
    exclude=SCHEMA:"='ORDDATA'"
    exclude=SCHEMA:"='OWBSYS_AUDIT'"
    .
    .
    get list of all schemas from schema1 (using system user).
    
    
    Thanks
    

    【讨论】:

      猜你喜欢
      • 2011-11-23
      • 2021-02-19
      • 2011-10-11
      • 2017-09-22
      • 1970-01-01
      • 2013-03-14
      • 2017-07-31
      • 2020-11-25
      • 1970-01-01
      相关资源
      最近更新 更多