服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Oracle - oracle覆盖导入dmp文件的2种方法

oracle覆盖导入dmp文件的2种方法

2021-06-21 17:56飞-鸟 Oracle

oracle如何覆盖导入dmp文件呢?很多朋友对这一问题不是很清楚,今天小编通过分享oracle覆盖导入dmp文件的2种方法,感兴趣的朋友跟随小编一起看看吧

使用imp、impdp方式导入数据

1.使用imp导入数据

打开cmd窗口,然后直接敲入一下命令即可,需要注意的是,要事先把dmp文件放到正确的路径中去

?
1
imp yx_base/11@yx_192.168.xx.xx file = e:\yxb\yx_base.dmp log = e:\yxb\yx_base.log full = y

2.使用impdp导入数据

(1)进入数据库服务器或本机打开cmd或shell命令界面,执行如下命令

?
1
sqlplus sys/11@192.168.xx.xx/onaet as sysdba

oracle覆盖导入dmp文件的2种方法

(2)创建目录对象,如:create or replace directory dump_dir as 'd:\fzb';(以管理员账号登录创建)

创建好目录后退出,输入exit,然后回车

oracle覆盖导入dmp文件的2种方法

oracle覆盖导入dmp文件的2种方法

(3)在操作系统上创建相应的目录

如在d盘目录下建立文件夹fzb

oracle覆盖导入dmp文件的2种方法

(4)将dump文件放入对应文件夹,然后执行如下命令(导入哪个库的文件就用哪个库来登录进行导入操作)

?
1
impdp gd_base/11@192.168.xx.xx/oanet  directory=dump_dir dumpfile=gd_base.dmp schemas=gd_base

oracle覆盖导入dmp文件的2种方法

ps:下面看下oracle如何导入dmp文件并覆盖原有数据。

重复导入已存在的数据库,有以下两种导入方法imp和impdp;

oracle覆盖导入dmp文件的2种方法

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

oracle覆盖导入dmp文件的2种方法

数据备份,使用命令:

?
1
expuser/userfile=d:\user.dmp full=y

恢复时,使用命令:

?
1
imp user/userfile=d:\user.dmp fromuser=user touser=userfull=y ignore=y

oracle覆盖导入dmp文件的2种方法

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

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

oracle覆盖导入dmp文件的2种方法

数据备份,使用命令:

expdpuser/userdirectory=dump_dirdumpfile=schema.dmplogfile=schema.logschemas=userjob_name=exp_user_schema恢复时,使用命令:impdpuser/userdirectory=dump_dirdumpfile=schema.dmplogfile=schema.logtable_exists_action=replaceschemas=usercontent=alljob_name=imp_schema

oracle覆盖导入dmp文件的2种方法

以上就是oracle覆盖导入dmp文件的2种方法的详细内容,更多关于oracle导入dmp文件的资料请关注服务器之家其它相关文章!

原文链接:https://www.cnblogs.com/Treasures/p/10025461.html

延伸 · 阅读

精彩推荐