完成Oracle数据库dmp备份文件的导入

一、概述

  1. 什么是dmp文件?
    dmp文件主要是从数据库导出的一种文件
  2. 它主要用来做什么的?
    主要作用就是用来备份数据库
  3. 利用什么方式进行导入、导出呢?
    一般会用exp命令来导出,用imp命令来导入也就是恢复数据库。

二、操作

  1. 需求
    将由Oracle其他库已导出的dmp文件导入到Oracle生产库(dmp文件是从远端服务器主机上进行下载的)
  2. 问题
    当我通过PL/SQL工具中Import Tables加载本地事先下载好的文件,点击Import按钮后,Log日志显示导入错误信息,具体如图片所示:
    在这里插入图片描述
    说明:因为我安装的数据库是Oracle 11g的,事先从别的库导出来的dmp文件版本是Oracle 12c的,所以将12c的文件(高版本)导入到11g(低版本)库中是不兼容的,但将低版本的文件导入到高版本的库中是可以兼容的。
  3. 解决办法
    (1)我们可以通过安装AlxcTools工具来转换版本就可以轻松愉悦的解决
    (2)想要下载的小伙伴可以点击此处进行下载,欢迎点击此处
  4. 补充
    我们除了可以采用PL/SQL工具栏中Import Tables进行导入,我们一般常用做法是通过命令行进行dmp文件的导入
SERVICE_NAME(服务名)以及DATABASE(数据库名)都可以通过本地C:\Oracle\app\menglei\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora文件里面找到(此处是我的本地路径)
//tables=()括号中写入要导入库中的哪几个表名称,你可以指定
imp SERVICE_NAME@DATABASE file=C:\TEMP_ENB.dmp fromuser=gis touser=gis tables=(TEMP_11_BX, TEMP_12_BX)

注意:

  1. 接下来我来演示一下怎么通过cmd命令行进行操作
    (1)command + R,打开cmd窗口
    (2)将上述imp命令粘贴到窗口中,点击回车。这个时候会提示输入口令(该口令为你要将dmp文件导入生产库的密码,不要理解错;我刚开始以为是我安装的oracle时候,当时设置的用户口令,但是我还将这个口令忘记了)
    在这里记录一下,如有需要的小伙伴可以参考:
若Oracle忘记密码怎么办?
打开cmd,输入sqlplus /nolog,回车;
输入“conn / as sysdba”;
输入“alter user sys identified by 新密码”
  1. 总结
    以上就是我在工作当中,所遇到的一些问题。如果我的文章对您有一丢丢的帮助,对于我来说都是在不断前行过程中莫大的欣慰,如果哪块内容有不对地方也希望得到大家的指点,最后希望我和大家一起加油、进步!!!
发布了23 篇原创文章 · 获赞 15 · 访问量 6265

猜你喜欢

转载自blog.csdn.net/xiaoleilei666/article/details/104635630