0
点赞
收藏
分享

微信扫一扫

EXP、IMP、EXPDP、IMPDP命令

萨摩斯加士奇 2022-02-13 阅读 94
oracle

目录

1.EXP、IMP和EXPDP、IMPDP命令的介绍和区别

2.EXP、IMP命令的使用

3.EXP、IMPDP命令的使用

4.使用中遇到的错误及解决方式


1.EXP、IMP和EXPDP、IMPDP命令的介绍和区别

1.1、EXP、IMP命令的介绍

exp/imp是oracle提供的一个对数据库进行逻辑备份的客户端工具。利用这个工具可以把数据库按表空间、用户或某些表保存到操作系统下的一个二进制文件里。这个二进制文件与平台无关,利用这个特性可以完成数据的跨平台的迁移。

1.2、EXPDP、IMPDP命令的介绍

数据泵导出使用工具EXPDP将数据库对象的元数据(对象结构)或数据导出到转储文件中。而数据泵导入则是使用工具IMPDP将转储元件中的元数据及其数据导入Oracle数据库中。假设emp表被意外删除,那么可以使用IMPDP工具导入emp的结构信息和数据。

数据泵包括导出表、导出模式、导出表空间和导出全数据库四种模式,需要注意的是EXPDP工具只能将导出的转储文件放在directory对象对应的OS目录中,而不能直接指定转储文件躲在的OS目录。

1.3、两者的区别

  • exp和imp是属于客户端工具,expdp和impdp 属于服务端工具

  • 数据泵工具运行于服务器端,相比客户端的exp/imp其性能更好,并能实现exp/imp的全部功能

  • 通过使用exclude,include,content等参数,数据泵可以为数据及数据对象提供更细微级别的选择性

  • 通过设定数据库版本号,数据泵expdp/impdp可以兼容老版本的数据库系统

  • 通过estimate_only参数,数据泵可以预估导出作业所需的磁盘空间

  • 支持导入时重新映射功能(即将对象导入到新的目标数据文件、架构及表空间等)

2.EXP、IMP命令的使用

2.1exp命令的使用

-- 本地数据库
exp 用户名/密码 file=路径\文件名.dmp full=y ignore=y

--远程数据库数据导出
exp 用户名/密码@ip:port\数据库实例名 file=路径\文件名.dmp full=y

有三种主要的方式(完全、用户、表)

  1. 完全。使用system导出整个数据库注意:不是某个表空间或用户,是整个数据库

2. 用户

方式一:直接用QC用户登录、导出

 方式二:使用system用户登录,但是要指定用户名

 3.表

 

full=y:表示导出完全的数据库。当然如果要执行完全导出,必须具有特殊的权限,比如dba或sys

2.2imp命令的使用

imp 用户名/密码 FILE=D:\oracle_test\文件名.dmp full=y ignore=y

加上ignore=y选项,如果表数据没有主键冲突,会追加进去。如果表数据有主键冲突,则导入报错。但是加上ignore=y后,导入的速度就会变慢,因为如果导入的数据和已存在的数据存在大量相同,每有一个相同就会报一次错误,但是这个错误不影响导入数据这个过程。

同样也是有三种导入方式,具体命令内容如下

1.完全

imp system/123456 ignore=y full=y file=exp_table.dmp log=exp_table.log

2.用户

imp QC/123456 ignore=y full=y file=exp_table.dmp log=exp_table.log

3.表

这里的test用户是指被导入的用户,意味着将QC用户中的某个表的dmp文件导入test用户中

imp test/123456 ignore=y full=y file=exp_table.dmp log=exp_table.log

3.EXPDP、IMPDP命令的使用

数据泵导出包括四种模式:

1、导出表

2、导出模式。将一个或多个模式中的所有对象结构及数据存储到转储文件中。要求用户必须具有·     DBA角色或EXP_FULL_DATABASE角色

3、导出表空间

4、导出全数据库

注意:EXPDP工具只能将导出的转储文件存放在directory对象对应的OS目录中,而不能直接指定转储文件所在的OS目录。

首先,建立directory对象。directory对象可以让用户在Oracle数据库中灵活地对文件进行读写操作,极大地提高了Oracle的易用性和可扩展性。

 

4.使用中遇到的错误及解决方式

举报

相关推荐

0 条评论