完成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. 总结
    以上就是我在工作当中,所遇到的一些问题。如果我的文章对您有一丢丢的帮助,对于我来说都是在不断前行过程中莫大的欣慰,如果哪块内容有不对地方也希望得到大家的指点,最后希望我和大家一起加油、进步!!!
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、提供oracle数据库备份脚本,导出dmp文件 2、定时任务由操作系统提供的支持,在操作系统中设置定时任务,由操作系统定期执行脚本 3、补充。压缩包脚本有点问题,不能删除旧的备份文件。需要自动删除历史备份文件请用最新脚本: @echo off @echo ================================================ @echo windows环境下Oracle数据库的自动备份脚本 @echo 说明:启动备份时,需要配置以下变量 @echo 1、BACKUP_DIR 指定要备份到哪个目录 @echo 2、ORACLE_USERNAME 指定备份所用的Oracle用户名 @echo 3、ORACLE_PASSWORD 指定备份所用的Oracle密码 @echo 4、ORACLE_DB 指定备份所用的Oracle连接名 @echo 5、BACK_OPTION 备份选项,可以为空,可以为full=y,可以为owner=a用户,b用户 等等.... @echo 6、RAR_CMD 指定RAR命令行压缩工具所在目录 @echo ================================================ rem 以下变量需要根据实际情况配置 set BACKUP_DIR=D:\tools\oracle_bak\backup230 set ORACLE_USERNAME=PLATADMIN set ORACLE_PASSWORD=123456 set ORACLE_DB=ORCL set BACK_OPTION=owner=PLATADMIN set RAR_CMD="D:/Program Files/WinRAR/Rar.exe" rem for /f "tokens=1,2" %%a in ('date/t') do set TODAY=%%a rem set BACK_NAME=%ORACLE_DB%_%TODAY%(%time:~0,2%时%time:~3,2%分)_ set BACK_NAME=%Date:~0,4%%Date:~5,2%%Date:~8,2%%Time:~0,2%%Time:~3,2%%Time:~6,2% set BACK_FULL_NAME=%BACKUP_DIR%/%BACK_NAME% rem 开始备份 exp %ORACLE_USERNAME%/%ORACLE_PASSWORD%@%ORACLE_DB% %BACK_OPTION% file="%BACK_FULL_NAME%.dmp" log="%BACK_FULL_NAME%exp.log" rem 压缩并删除原有文件 %RAR_CMD% a -df "%BACK_FULL_NAME%back.rar" "%BACK_FULL_NAME%.dmp" "%BACK_FULL_NAME%exp.log" rem 删除15天前的备份文件 forfiles /p %BACKUP_DIR% /s /m *.rar /d -15 /c "cmd /c del @file"

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值