oracle如何导入dmp文件并覆盖原有数据

Posted 路过的雨

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle如何导入dmp文件并覆盖原有数据相关的知识,希望对你有一定的参考价值。

  1. 重复导入已存在的数据库,有以下两种导入方法IMP和IMPDP;

    技术图片
  2. 2

    IMP导入的时候 :如果已经存在此表, 会告诉你无法创建此表,因为表已经存在。同时使用参数 full=y ignore=y 那就是全部导入,把dmp里的所有数据插入到表里面。换句话说会有重复,如果该表有主键,重复的会因为违反约束,导入不成功,但不重复的能够进去,这种情况是追加覆盖进去了。

    技术图片
  3. 3

    数据备份,使用命令:

    exp user/user file=d:user.dmp full=y

    恢复时,使用命令:

    imp user/user FILE=d:user.dmp fromuser=user touser=user full=y ignore=y

    技术图片
  4. 4

    IMPDP导入的时候 :用参数table_exists_action=replace 进行删除后覆盖;

    table_exists_action选项:{skip 是如果已存在表,则跳过并处理下一个对象;append是为表增加数据;truncate是截断表,然后为其增加新数据;replace是删除已存在表,重新建表并追加数据}

    技术图片
  5. 5

    数据备份,使用命令:

    expdp user/user directory=dump_dir dumpfile=schema.dmp logfile=schema.log schemas=user job_name=exp_user_schema恢复时,使用命令:impdp user/user directory=dump_dir dumpfile=schema.dmp logfile=schema.log  table_exists_action=replace schemas=user content=all job_name=imp_schema 

    技术图片
  6.  

以上是关于oracle如何导入dmp文件并覆盖原有数据的主要内容,如果未能解决你的问题,请参考以下文章

oracle用imp还原数据库时能覆盖原来数据库吗?

ORACLE 数据导入多个dmp时,后一个dmp数据内容会不会覆盖前一个dmp内容?

oracle如何给指定的用户导入dmp

如何在Oracle中建表空间、建用户并导入dmp文件详解

后缀为dump的文件如何导入oracle 10中?

oracle dmp导入后还需要建立表空间吗?