Oracle 恢复dmp文件到数据库表中 【数据系列 1】

Mac 恢复dmp文件数据到数据库表

软件环境:Mac电脑上安装的docker中安装的并且运行的镜像,参考自该博客docker安装oracle
我所运行安装的oracle版本为:

Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
PL/SQL Release 11.2.0.2.0 - Production
CORE 11.2.0.2.0 Production
TNS for Linux: Version 11.2.0.2.0 - Production
NLSRTL Version 11.2.0.2.0 - Production

安装好以后需要通过语句将电脑上的dmp文件拷贝到docker镜像中相应的目录中

执行步骤:

  1. 首先需要查看电脑上已经运行过哪些镜像,且启动oracle镜像。

docker ps -a

在这里插入图片描述
2. 启动镜像

docker start 3c4b6430ef81

在这里插入图片描述

  1. 将dmp文件拷贝到之前创建的文件夹中
docker cp /Users/qinglutaxue/Desktop/ZKFJJS.dmp 
recursing_edison:/u01/app/oracle/product/11.2.0/xe/oracle_test
  1. 进入镜像,执行导入语句

docker exec -it 3c4b6430ef81 /bin/bash

在这里插入图片描述
下面这句imp语句是重点:

imp cox/cox123456 file=/u01/app/oracle/product/11.2.0/xe/oracle_test/ZKFJJS.dmp
buffer=10240000 commit=yes 
tables=YBJS_ZHOUKOU1,YBJS_ZHOUKOU2,YBJS_ZHOUKOU3 
touser=cox ignore=y

在这里插入图片描述
这句im导入语句的写入非常重要,你可能一开始写的是这个语句

imp cox/cox123456 file=/u01/app/oracle/product/11.2.0/xe/oracle_test/ZKFJJS.dmp ignore=y full=y;

但是它大概率可能会运行失败,但是失败他会有提示的。

而上一句imp语句中,buffer指的是扩充的表空间;tables指的是dmp文件中所包含的表明,这个表明可以根据运行失败的提示看到
在这里插入图片描述
此时看到如上图所示的 import terminated successfully with warnings.语句的时候,就表示已经导入成功,虽然他还会提示 abnormal end of export file 但是此时查看数据库表,已经有数据了。那么此时目的就达到了。

备注:你可能会用到的。
由于这个dmp是从其他人得到的,所以我使用了UltraEdit 来查看dmp的版本号,发现是
在这里插入图片描述
V12版本的,但是由于我安装的是V11的版本,所以我需要在这里将这个版本号修改为V11,然后我才去操作的上述步骤。至于不修改能不能成功还没有进行尝试。

2022年03月18日09:00:45 更新:
亲测,在我的Oracle版本下,如果不对这个dmp文件的版本号进行修改的话,是无法运行成功的。所以如果需要在11版本下导入12c的版本的dmp文件是必须要对版本号进行修改的。
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

踏雪须眉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值