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

article/2025/10/23 6:52:16

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 

http://chatgpt.dhexx.cn/article/6jnu29ZU.shtml

相关文章

使用expdp(非本地)远程导出数据

背景: 前段时间,需要从异地一个测试数据库中将测试数据(一张表)导入本地库,表数据量大约500万,字段160多个,开始用了exp/imp方式,速度奇慢,不能忍,于是转而使用expdp/impdp方式。 e…

运维 —— expdp、impdp

一、exp/imp与expdp/impdp 1)exp和imp是客户端工具程序,它们既可以在可以客户端使用,也可以在服务端使用。 2)expdp和impdp是服务端的工具程序,他们只能在ORACLE服务端使用, 不能在客户端使用。 3)字符集的问题到expdp/impdp数据泵已经消除…

expdp / impdp 用法详解

一、注意事项: EXP和IMP是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用。 EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLE服务端使用,不能在客户端使用。 IMP只适用于EXP导出的文件,不适…

expdp/impdp 数据泵导入导出

业务场景: 在工作中,涉及到oracle数据库迁移,使用navicat等其他工具 容易报错,一系列问题很麻烦,今天记录一下操作流程及个人理解(文章参考了很多文档和博客); EXPDP数据导出 请自…

rest_framework--过滤器filters--搜索

rest_framework–过滤器filters–搜索 view from rest_framework.pagination import PageNumberPagination from rest_framework import mixins from rest_framework import viewsets from rest_framework import filtersfrom .models import Goods from .serializers import G…

gateway整合filters

Unable to find GatewayFilterFactory with name AddRequestParamter 首先确定你要做的是用nacos整合gateway,然后使用gateway配置filters对请求进行修改。 一、首先在gateway微服务的application.yml或者bootstrap.yml文件进行filter的配置 // A code block ser…

php apply filters,WordPress学习——apply_filters()详解

前两天学习了 add_filters() 函数,详见>>> WordPress学习——add_filter()详解 ,今天趁热打铁再来学习下它的使用。一般情况下 add_filters() 有两种方式触发,一种是当程序运行到特定时候 WordPress 程序会判断用户是否对某些参数做了新的定义,如果有则优先使用用…

filters过滤器

这是通过过滤器写的一个只显示10个字的效果图。 1):什么时候用到过滤器? 绑定一些复杂数据类型的时候用到过滤器 2):以下两种方式定义过滤器: 第一种:Vue.filter()定义全局过滤器&#xff0…

vue filters的使用

filters 过滤器:「Vue.js 允许你自定义过滤器,可被用于一些常见的文本格式化。过滤器可以用在两个地方:双花括号插值和 v-bind 表达式 (后者从 2.1.0 开始支持)。过滤器应该被添加在 JavaScript 表达式的尾部,由“管道”符号指示&…

【前端】Vue---过滤器filters详解

一、认识过滤器: 格式化数据的一个工具 过滤器的作用:用于文本格式化,仅仅作为格式化操作,不做复杂的业务处理过滤器的使用方式:通过管道符号(|)来使用过滤器的使用位置:mustache插值和v-bing的表达式 二、过滤器的使用 //如何使用使用过滤器?我们用一个叫做管道…

Fiddler工具 — Fiddler过滤器(Filters)详解

1、Filters介绍 Filters:过滤器,帮助我们过滤请求。 如果需要过滤掉与测试项目无关的抓包请求,更加精准的展现抓到的请求,而不是杂乱的一堆,那功能强大的 Filters 过滤器能帮到你。 总结:Filters过滤器的…

Vue项目中过滤器(filters)的用法

过滤器使用场景 在调取接口的返回数据的时候,我们经常能够得到各种Number类型的数据。 这种格式的数据,很多时候都是表明对应的类型。 如果直接返回到页面上展示,对于操作人员来讲,没有任何意义。 所以,一般的情况…

vue初学篇----过滤器(filters)

过滤器使用&#xff0c;直接上代码 <template><div class"filters"><h1 v-text"filtersTitle"></h1><input v-model"filtersText"/><div>{{filtersText | filtersTextChange}}</div></div> <…

mysql删掉数据库失败_如何删除MySQL数据库?

mysql删掉数据库失败 MySQL is a very popular opensource database it is used by a lot of different types and size companies. In this post, we will look at how to drop or delete MySQL databases? MySQL是一种非常流行的开源数据库,许多类型和规模的公司都在使用它…

数据库如何删除数据

1、drop (删除表)&#xff1a;删除内容和定义&#xff0c;释放空间。简单来说就是把整个表去掉.以后要新增数据是不可能的,除非新增一个表。 drop语句将删除表的结构被依赖的约束&#xff08;constrain),触发器&#xff08;trigger)索引&#xff08;index);依赖于该表的存储过程…

Mongo删除数据库/集合

Mongo 删除数据库/集合 1.使用mongo 连接数据库 2.show dbs 查看所有的数据库 3.删除mongo数据库 1.先切换到mongo数据库 use mongo 2.执行 db.dropDatabase()命令 结果:{ "dropped" : "mongo", "ok" : 1 } 3.执行show dbs 发现mongo库已被删…

mysql 如何删除数据库中所有的表

方法1&#xff1a; SELECT concat(DROP TABLE IF EXISTS , table_name, ;) FROM information_schema.tables WHERE table_schema mydb;mydb换成你想删除的数据库的名字 这样可以生成一个批量处理的sql语句&#xff0c;你需要再运行一次这个结果集 就可以删除所有的表而不删除…

Oracle数据库----删除数据库

一、使用DBCA删除数据库 1、单击“开始”→“Oracle_OraDB12Home1”→“Database Configuration Assistant”&#xff0c;进入删除步骤的第一步&#xff0c;选择“删除数据库”。 2、单击“下一步”按钮&#xff0c;如图所示。在数据库列表中选择需要删除的数据&#xff0c;例…

PostgreSql强制删除数据库的操作

记得先断开数据库 先执行这个SQL语句 SELECT pg_terminate_backend(pg_stat_activity.pid) FROM pg_stat_activity WHERE datname你的数据库的名字 AND pid<>pg_backend_pid();再执行 DROP DATABASE 你的数据库的名字;

MySQL删除数据库的命令_删除数据库的命令是什么?

删除数据库的命令是“DELETE DATA”,具体格式为“DROP DATABASE [IF EXISTS] 数据库名;”,可以删除数据库中的所有表格并同时删除数据库。如果要使用“DROP DATABASE”,需要获得数据库DROP权限。 当数据库不再使用时应该将其删除,以确保数据库存储空间中存放的是有效数据。…