Oracle详解:exp/imp和expdp/impdp的区别

Oracle详解:exp/imp和expdp/impdp的区别

结论:

在10g之前,传统的导出和导入分别使用EXP工具和IMP工具,从10g开始,不仅保留了原有的EXP和IMP工具,还提供了数据泵导出导入工具EXPDP和IMPDP。

1、exp和expdp最明显的区别就是导出速度的不同。expdp导出是并行导出。(如果把exp导出比喻为一个工人在挖土,那么expdp就相当于一个挖掘机在挖土)

2、exp和expdp导出不止是速度的不同,同时导出机制也完全不同,所有用expdp导出的dmp文件只能用impdp的方式导入。

3、EXP和IMP是客户端工具程序,它们既可以在可以客户端使用,也可以在服务端使用。

4、EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLE服务端使用,不能在客户端使用。

5、命令使用的区别,expdp命令新增了目录对象directory,file替换为dumpfile,log替换成logfile,还添加了一个reuser_dumpfile=ture参数

其中:

数据泵取只能在服务器端运行,客户端只能用来连接服务器启动导入导出操作

即:从192.168.10.201执行248导出命令后,导出的数据存储在248上。也就是201只是调用了248的expdp命令而已;

一、exp/imp详解

在cmd窗口执行,命令格式:

exp|imp 用户名/密码@IP地址:端口/服务名 file='路径/文件名.dmp' log='路径/文件名.log' full=y|tables=(表一,表二)|owner=(用户1,用户2)

注意:full/tables/owner:全导、按表导出、按用户导。只能一次使用其中一种

例子:

如果是单实例数据库本机上执行,且用的是1521端口,可以省略@IP和端口和实例名

exp/imp  lkq/kaikai tables=scot.emp file=‘C:\kk\kktable.dmp’ log=‘C:\kk\kktable.log’ 

在这里插入图片描述

告警是因为exp工具的环境变量和数据库里的环境变量字符集不一样导致的,解决如下:

出现EXP-00091之后,我们采用的解决方案如下:
1、查看database中的NLS_CHARACTERSET的值
a、select * from nls_database_parameters t where t.parameter=‘NLS_CHARACTERSET’;
b、select * from v$nls_parameters where parameter=‘NLS_CHARACTERSET’;
PARAMETER VALUE


NLS_CHARACTERSET ZHS16GBK
2、根据第一步查出来的NLS_CHARACTERSET(即ZHS16GBK)来设定
windows环境:cmd > set NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
linux环境:Shell > export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

二、数据泵expdp/impdp详解

数据泵expdp/impdp

可以直接把上面exp命令换成expdp,imp换成impdp,命令会自动转换成数据泵模式!而且无报错!

自动新增目录对象,file转换为dumpfile,log换成logfile,还添加了一个reuser_dumpfile=ture参数

在这里插入图片描述

当然,上面只是纯粹方便看出改动的地方

整理一下expdp导出流程:

1、创建dmp导出目录

create directory 目录名 as '目录路径'
--例:create directory expdp_dmp as 'D:/expdp_dmp'

2、查看当前创建的所有dmp导出目录 (验证看是否创建成功)

select * from dba_directories
--例:select * from dba_directories

3、为创建的目录赋权限

grant read,write on directory 目录名 to 需要赋值的用户名
--例:grant read,write on directory expdp_dmp to aaa;

4、导出

expdp 用户名/密码@数据库实例名 directory=导出目录 dumpfile=导出的文件名.dmp logfile=导出的日志名.log
--例:expdp aaa/aaaa@orcl directory=expdp_dmp dumpfile=aaa20170417.dmp logfile=aaa20170417.log 
  • 6
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
OGG(Oracle GoldenGate)是Oracle数据库的一种高性能、实时数据复制和数据集成解决方案。它可以从源数据库捕获事务日志,并将这些日志传输到目标数据库,实现实时数据同步。OGG的实现原理是通过读取源数据库的redo日志或归档日志,将变更数据以SQL语句或二进制格式传输到目标数据库,然后在目标数据库上重新执行这些变更操作,从而实现数据的同步。 ADG(Active Data Guard)是Oracle数据库的一种高可用性解决方案,它通过在备用数据库上启用只读访问,实现实时数据保护和查询功能。ADG的实现原理是在备用数据库上应用源数据库的redo日志,实时保持备用数据库与源数据库的数据一致性,并将读取请求路由到备用数据库,从而实现实时数据保护和查询功能。 DG(Data Guard)是Oracle数据库的一种灾备解决方案,它通过在备用数据库上应用源数据库的归档日志,实现数据的异地备份和恢复功能。DG的实现原理是将源数据库的归档日志传输到备用数据库,然后在备用数据库上应用这些归档日志,从而实现数据的异地备份和恢复功能。 RAC(Real Application Clusters)是Oracle数据库的一种集群解决方案,它可以将多个服务器组成一个集群,共享数据库和资源,提高数据库的可用性和性能。RAC的实现原理是通过共享存储和共享网络,实现多个服务器数据库的同时访问,从而提高数据库的可用性和性能。 XTTS(Cross-Platform Transportable Tablespaces)是Oracle数据库的一种跨平台传输表空间的解决方案。它可以将表空间从一个平台迁移到另一个平台,实现跨平台的数据迁移。XTTS的实现原理是通过将表空间的数据文件导出为通用的数据文件格式,然后将这些数据文件导入到目标平台的数据库中,从而实现跨平台的数据迁移。 exp/impexpdp/impdpOracle数据库的导出和导入工具,用于将数据库对象和数据导出到文件,然后再从文件中导入到另一个数据库中。exp/imp是传统的导出和导入工具,expdp/impdp是数据泵导出和导入工具。它们的实现原理是通过将数据库对象和数据转换为特定的导出文件格式,然后通过导入工具将这些文件中的对象和数据导入到目标数据库中。 Rman(Recovery Manager)是Oracle数据库的备份和恢复工具,它可以对数据库进行全量备份、增量备份和日志备份,并提供了灵活的恢复选项。Rman的实现原理是通过读取数据库的数据文件和日志文件,将备份数据存储到备份设备中,并在需要恢复时,根据备份数据和日志文件进行恢复操作,从而实现数据库的备份和恢复。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值