当前位置: 首页 > news >正文

OracleDatabase——数据库表空间dmp导出与导入

由于公司的程序一直部署在客户现场内网,内网调试难度高,一般是有备份还原数据库的需求,这里简记备份(导出)数据库dmp文件与恢复(导入)的步骤。

一、导出dmp文件

exp与expdp命令异同

相同点:exp与expdp命令都是备份数据库的。

不同点

1、expdp效率更高,exp是串行备份的,但expdp是并行备份的。

2、二者导出机制不同,exp导出的是文本型,expdp导出的是二进制,所以expdp导出的dmp文件是要小于exp导出的。

3、二者导出的dmp需要对应不同的导入命令,exp对应imp,expdp对应impdp。

4、exp不需要指定逻辑目录对象(directory),而expdp需要指定。

5、exp/imp可在客户端执行,而expdp/impdp只能在服务端执行。

6、oracle11g后exp不导出空表,expdp可以。

exp导出指定用户(表、视图、存储过程、同义词)到dmp文件

一般适用于单个用户只有一个表空间的情况

exp 用户名/密码@127.0.0.1:1521/ORCLCDB file=备份文件.dmp log=操作日志.log

expdp导出指定用户(表、视图、存储过程、同义词)到dmp文件

#创建备份目录
mkdir -p /tmp/dbbackup
#登录sqlplus,创建逻辑目录DB_BACKUP,映射物理目录/tmp/dbbackup
create or replace directory DB_BACKUP as '/tmp/dbbackup';
#为备份的用户授权逻辑目录读写权限
grant read,write on directory DB_BACKUP to 备份的用户名;
#导出备份文件到/tmp/dbbackup下
expdp 用户名/密码@127.0.0.1:1521/orclcdb directory=DB_BACKUPdumpfile=备份文件.dmpschemas=用户名logfile=操作日志.logcluster=Nexclude=grantexclude=STATISTICScompression=ALL

二、导入dmp文件

确定dmp文件是用exp与是expdp导出的

由于exp与expdp导出的文件都是dmp,而这两者导出的dmp格式不同,导入命令也不同(exp导出的用imp导入,expdp导出的用impdp导入),需要进行区分,以下是简单区分的办法:

#如果显示以TEXPORT开头,则是EXP导出的;如果是乱码则是expdp导出的。
head -n 1 备份文件.dmp

同表空间不同用户恢复表空间命令

exp导出dmp使用imp恢复,方法如下:

imp 目标用户名/密码@127.0.0.1:1521/ORCLCDB fromuser=源用户名 touser=目标用户名 file=备份文件.dmp log=操作日志.log ignore=y

expdb导出dmp使用impdp恢复,方法如下:

impdp 目标库用户名/密码@127.0.0.1:1521/ORCLCDB remap_schema=源用户名:目标用户名directory=dmp文件所在的目录dumpfile=备份库文件名.dmplogfile=操作日志.log

不同表空间不同用户恢复表空间命令

exp导出dmp使用imp恢复,方法如下:

#全局替换dmp文件中表空间名,减少导出时需transport_tablespace的麻烦
sed -i "s/源表空间名/目标表空间名/g" 备份库文件名.dmp
#导入
imp 目标用户名/密码@127.0.0.1:1521/ORCLCDB fromuser=源用户名 touser=目标用户名 file=备份文件.dmp log=操作日志.log ignore=y

expdb导出dmp使用impdp恢复,方法如下:

#创建备份目录
mkdir -p /tmp/dbbackup
#登录sqlplus,创建逻辑目录DB_BACKUP,映射物理目录/tmp/dbbackup
create or replace directory DB_BACKUP as '/tmp/dbbackup';
#为备份的用户授权逻辑目录读写权限
grant read,write on directory DB_BACKUP to 备份的用户名;
#导入
impdp 目标库用户名/密码@127.0.0.1:1521/ORCLCDB remap_tablespace=源表空间:目标表空间remap_schema=源用户名:目标用户名directory=DB_BACKUPdumpfile=备份库文件名.dmplogfile=操作日志.log
http://www.lryc.cn/news/33940.html

相关文章:

  • 20张图带你彻底了解ReentrantLock加锁解锁的原理
  • Dockerfile构建Springboot镜像
  • 从深分页查询到覆盖索引
  • Go语言学习的第三天--下部分(Gin框架的基础了解)
  • JDK的动态代理(powernode 文档)(内含源代码)
  • 第1章 多线程基础
  • Linux基本指令(一)
  • el-dialog子组件在mounted周期内获取不到dom?
  • 第九章 opengl之光照(光照贴图)
  • JDK动态代理(powernode CD2207 video)(内含教学视频+源代码)
  • 【Linux】Sudo的隐晦bug引发的一次业务问题排查
  • Java VisualVM 安装 Visual GC 插件图文教程
  • 【C语言】详解静态变量static
  • SpringBoot整合ElasticSearch实现模糊查询,排序,分页,高亮
  • YARN基本架构
  • 【C++复习】类和对象全知识点总结
  • 基于轻量级YOLOv5开发构建汉字检测识别分析系统
  • leetcode-每日一题-66(简单题,数组)
  • LeetCode295之数据流的中位数(相关话题:优先队列)
  • 助你加速开发效率!告别IDEA卡顿困扰的性能优化技巧
  • Java设计模式-适配器模式
  • Linux 练习六 (IPC 管道)
  • 合并两个有序链表(精美图示详解哦)
  • 33 JSON操作
  • 三八妇女节快乐----IT女神活动随笔
  • 【PSO-PID】使用粒子群算法整定PID参数控制起动机入口压力值
  • 当代数据分析指南:激发商业洞见的七个方法(上)
  • javaWeb核心02-JSP、EL、JSTL、MVC
  • spring-boot+mybatis-plus连接Oracle数据库,及查询相关数据
  • 电商使用CRM系统有什么好处,如何选择