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

这篇具有很好参考价值的文章主要介绍了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_BACKUP
    dumpfile=备份文件.dmp
    schemas=用户名
    logfile=操作日志.log
    cluster=N
    exclude=grant
    exclude=STATISTICS
    compression=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=备份库文件名.dmp
    logfile=操作日志.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恢复,方法如下:文章来源地址https://www.toymoban.com/news/detail-806784.html

#创建备份目录
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_BACKUP
    dumpfile=备份库文件名.dmp
    logfile=操作日志.log

到了这里,关于OracleDatabase——数据库表空间dmp导出与导入的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MySQL 数据库文件的导入导出

    目录 数据库的导出 导出整个数据库 导出数据库中的数据表 导出数据库结构 导出数据库中表的表结构 导出多个数据库 导出所有数据库 数据库的导入 mysqldump -h IP地址 -P 端口 -u 用户名 -p 数据库名 导出的文件名 用管理员权限打开cmd进入MySQL的bin目录下,根据自己情况调整  

    2024年02月13日
    浏览(59)
  • (2)数据库mongodb 终端 和 vscode创建数据库 数据导入导出

    可视化工具:  Robo 3T | Free, open-source MongoDB GUI (formerly Robomongo) mongodb安装官网 :MongoDB: The Developer Data Platform | MongoDB 文档: 安装 MongoDB - MongoDB-CN-Manual (mongoing.com) 配置环境变量: 是为了扩大调用命令的范围 具体步骤 :我的电脑点右键-属性-高级系统设置-环境变量-系统变量

    2024年02月09日
    浏览(59)
  • sql server的导入、导出数据库

    1、连接服务器  2、选中需要导出的数据库,任务-生成脚本  3、选择该数据库中具体的某些表  4、指定保存为文本文件、选择文件保存路径,以及生成的脚本文件名 6、点击选择高级设置,在“要编写脚本的数据的类型”中选择“架构和数据”,点击确定按钮。 选择下一步

    2024年02月09日
    浏览(58)
  • postgresql导入导出数据库的一些问题

    就创建一个空库,啥也不用管,也不用添加 postgis 之类的扩展 如果是不同节点之间迁移,建议先创建之前的用户,如果没有之前的用户导入时会导致表所有者是postgres

    2024年02月17日
    浏览(43)
  • C#将数据库数据导出到Excel & 将Excel文件导入到数据库

    1、读取Excel数据并写入到SQLServer数据库中; 2、将SQLServer数据库中的数据写入到Excel表中; 以下部分程序代码:  完整代码程序及配套测试数据库数据如下: https://download.csdn.net/download/XueJiaoKui/85331183 https://download.csdn.net/download/XueJiaoKui/85331183

    2024年02月16日
    浏览(46)
  • 基于Luckysheet实现的协同编辑在线表格支持在线导入数据库,前端导出,前端导入,后端导出

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 提示:这里可以添加本文要记录的大概内容: 这两年,在线表格协作工具越来越火,但开源界一直没有相关的实现,被垄断在几个大厂手上,随着Luckysheet 的横空出世,开源界终于也有一个漂亮能打的在

    2024年02月11日
    浏览(59)
  • mysql,mysqldump数据库导入导出sql文件

    在使用MySQL数据库时,经常需要备份和恢复数据库,通过导出sql文件备份和直接执行sql文件恢复是非常便捷的方式。本篇博客主要介绍如何对MySQL数据库通过cmd命令导出和导入sql文件。 导出sql文件可以使用mysqldump。主要有如下几种操作: ①导出整个数据库 (包括数据库中的数

    2023年04月10日
    浏览(63)
  • Neo4j导出和导入数据库

    Neo4j 4.x版本和5.x版本的导出导入有区别,这里分开来讲。 导入导出之前要先 关闭 neo4j服务。 进入 $NEO4J_HOME%/bin 目录执行如下数据库导出命令: 提示: 其中 neo4j.db 是你需要导出的默认数据库。可以去 conf 文件中查看,默认数据库是哪一个。

    2024年02月16日
    浏览(45)
  • postgis数据库导出csv表再导入postgis

    直接拖过去 再导入postgis数据库中

    2024年02月10日
    浏览(49)
  • 基于.Net开发的数据库导入导出的开源项目

    在项目开发过程中,我们经常碰到从数据库导入导出的需求,虽然这样的功能不是很复杂,但是往往我们都会碰到一些问题。 比如导入的Excel格式问题、Excetl中图片导入问题,导出的需求为了方便客户查看,会面临更多个性化的需求,为了满足这些需求,开发还是比较繁琐的

    2024年02月02日
    浏览(58)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包