【问题标题】:imp/exp database in oracleoracle中的imp/exp数据库
【发布时间】:2013-09-14 10:59:50
【问题描述】:

我有 oracle 数据库版本“oracle orahome 81”的 dmp 文件,我只想导入数据而不是表或视图...等因为我在 pc1 上导出 dmp 文件,我想在 pc2 上导入数据但是pc2 已经有旧数据库,我想将元数据导入 pc2 因为数据库已经存在,所以当使用这个命令时:

imp username/password@orcl file=d:\backup.dmp full=y 

错误显示我已经存在数据库,所以我无法将新数据导入 pc2 那么如何解决这些问题呢?

【问题讨论】:

  • “我只想导入数据而不是表或视图”和“我想导入元数据”是矛盾的。假设您只想将数据导入 PC2 中的现有表中,这些表是否为空,如果不是,新数据是否会与现有数据共存,或者您是否希望将其替换?使用帮助显示示例错误;在这种情况下,您是否收到大量“对象已存在”消息?

标签: database oracle backup


【解决方案1】:

您应该能够指定要忽略的索引=N 和约束=N。

您可以使用 imp 获取可用选项

imp help=y

有一个选项 DATA_ONLY=Y,但我不确定它是否存在于您的 oracle 版本中。

【讨论】:

    【解决方案2】:

    如果对象已经存在并且它们是空的,或者除了已经存在的数据之外,还可以安全地导入您正在导入的数据,您可以使用IGNORE flag

    指定应如何处理对象创建错误。如果你接受 默认IGNORE=n,然后导入日志或显示对象创建 在继续之前出错。

    如果您指定 IGNORE=y,则 Import 会忽略对象创建错误 当它试图创建数据库对象,并继续没有 报告错误。

    在导入期间没有删除现有数据的选项,因此如果存在现有数据并且您希望将其替换,则需要先清空表(可能使用truncate)。显然,请确保您真的不想要任何要删除的内容。

    【讨论】:

      猜你喜欢
      • 2011-09-30
      • 2018-04-21
      • 2014-05-15
      • 1970-01-01
      • 1970-01-01
      • 2011-01-30
      • 1970-01-01
      • 2011-06-15
      • 2023-02-18
      相关资源
      最近更新 更多