Oracle的expdp和impdp的使用方法
时间:2022-07-24
本文章向大家介绍Oracle的expdp和impdp的使用方法,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
expdp/impdp和exp/imp的区别
- exp和imp是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用。
- expdp和impdp是服务端的工具程序,他们只能在oracle服务端使用,不能在客户端使用。
- imp只适用于exp导出的文件,不适用于expdp导出文件;impdp只适用于expdp导出的文件,而不适用于exp导出文件。
- 对于10g以上的服务器,使用exp通常不能导出0行数据的空表,而此时必须使用expdp导出。
expdp 导出步骤
1. 创建逻辑目录,在服务器上创建真实的目录用于存放数据文件
2. 使用管理员用户system登录sqlplus
3. 创建逻辑目录,此步不会在OS上创建真正的目录
create directory data_dir as '/home/oracle/datadir'
4. 检查刚才创建的管理员目录是否存在
select * from dba_directories where directory_name = 'DATA_DIR';
5. 用system管理员给你的指定用户(要导出的表所属用户)赋予在该目录的操作权限。
grant read,write on directory data_dir to xxx;
6. 用户expdp导出数据,共有以下六种方案
- 第一种,导出全量数据
expdp user/pwd@orcl file=expdp.dmp directory=data_dir full=y log=expdp.log;
- 第二种,schemas按用户导出
expdp user/pwd@orcl
schemas=user file=expdp.dmp directory=data_dir log=expdp.log
- 第三种,按表空间导出
expdp user/pwd@orcl
tablespace=tbs1,tbs2 file=expdp.dmp directory=data_dir log=expdp.log
- 第四种,导出指定表
expdp user/pwd@orcl
directory=data_dir tables=tb1,tb2 file=expdp.dmp log=expdp.log
- 第五种,导出指定表的指定分区(限分区表使用)
expdp user/pwd@orcl directory=data_dir tables=(tb_pt:par_1,tb_pt:par_2) file=expdp.dmp log=expdp.log
- 第六种,按查询条件导出
expdp user/pwd@orcl directory=data_dir tables=tb1='where rowid='xxx'' file=expdp.dmp log=expdp.log
impdp 导入步骤
用impdp导入对应上述expdp的六种方式:
- 第一种,全量导入数据库
impdp user/pwd directory=data_dir file=impdp.dmp full=y log=impdp.log
- 第二种,同名用户导入,从用户A导入到用户A
impdp A/pwd directory=data_dir schemas=A file=impdp.dmp log=impdp.log
- 第三种,1. 从A用户中把表table1和table2导入到B用户中
impdp B/pwd directory=data_dir tables=A.table1,A.table2 remap_schema=A:B file=impdp.dmp log=impdp.log
2. 将表空间TBS01、TBS02、TBS03导入到表空间A_TBS,将用户B的数据导入到A,并生成新的oid防止冲突
impdp A/pwd directory=data_dir remap_tablespace=TBS01:A_TBS,TBS02:A_TBS,TBS03:A_TBS remap_schema=B:A FULL=Y transform=oid:n file=impdp.dmp logfile=impdp.log
- 第四种,导入表空间
impdp user/pwd directory=data_dir tablespaces=tbs1 file=impdp.dmp file=impdp.log
- 第五种,导入表的某个分区
impdp user/pwd directory=data_dir tables=(tb_pt:par_1,tb_pt:par_2) file=impdp.dmp log=impdp.log
- 第六种,追加数据
impdp user/pwd directory=data_dir file=expdp.dmp schemas=system table_exists_action=replace logfile=impdp.log
--table_exists_action:导入对象已存在时执行的操作。有效关键字:SKIP,APPEND,REPLACE和TRUNCATE
- thrift:swift项目笔记
- Java常用类(五)之集合工具类Collections
- Windows8小技巧(1)—Map Network Drive
- mysql: Illegal mix of collations (utf8_unicode_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for opera
- tomcat 8.5.9.0 解决catalina.out过大的问题
- 物联网是如何驱动网络变革的?——上
- Java常用类(四)之数组工具类Arrays
- java.lang.NoSuchMethodError: javax.servlet.http.HttpServletRequest.isAsyncStarted()Z 的解决
- JS魔法堂:定义页面的Dispose方法——[before]unload事件启示录
- HashSet/HashMap详解
- Ajax大显身手
- bash编程之xargs实用技巧
- 表单验证和正则表达式
- ELK日志系统:Elasticsearch + Logstash + Kibana 搭建教程
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 浅析白盒审计中的字符编码及SQL注入
- JS做类型检测到底有几种方法?看完本文就知道了!
- HDwiki时间延迟盲注及利用代码
- JS作用域和变量提升看这一篇就够了
- 不知道怎么提高代码复用性?看看这几种设计模式吧!
- 框架源码中用来提高扩展性的设计模式
- 不知道怎么提高代码质量?来看看这几种设计模式吧!
- 手写React的Fiber架构,深入理解其原理
- emlog后台作者权限SQL注入
- 手写一个Redux,深入理解其原理
- 手写一个React-Redux,玩转React的Context API
- 使用React-Router实现前端路由鉴权
- 手写React-Router源码,深入理解其原理
- 深入Node.js的模块加载机制,手写require函数
- Redux异步解决方案之Redux-Thunk原理及源码解析