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

Oracle 恢复dmp文件到数据库表中 【数据系列 1】Mac恢复dmp文件数据到数据库表软件环境:Mac电脑上安装的docker中安装的并且运行的镜像,参考自该博客docker安装oracle我所运行安装的oracle版本为:OracleDatabase11gExpressEditionRelease11.2.0.2.0-64bitProductionPL/SQLRelease11.2.0.2.0-ProductionCORE 11.2.0.2.0 ProductionTNSforLinux:Version11

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文件是必须要对版本号进行修改的。
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/35834.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注