8.2 Oracle数据库还原
数据库还原说明:
数据库还原是想要将从服务器92数据库中导出的数据,还原到91服务器中,作为数据库的备份文件。
一、Oracle数据库还原方法一:(使用impdp还原)
1.使用该方法导入数据库需要先建立一个distory目录
(1)打开电脑运行cmd,登录到Oracle数据库
sqlplus/nolog 用户名/密码@数据库实例名
--例:sqlplus/nolog TESTZSL/TESTZSL@orcl
(2)连接成功之后,创建逻辑目录,该命令不会在操作系统创建真正的目录,最好以system等管理员创建。
create directory 目录名 as '目录路径'
--例:create directory dpdata1 as 'd:\test\dump';
(3)查看管理理员目录(同时查看操作系统是否存在,因为Oracle并不关心该目录是否存在,如果不存在,则出错)
select * from dba_directories;
--例:select * from dba_directories
(4)给scott用户赋予在指定目录的操作权限,最好以system等管理员赋予。
grant read,write on directory 目录名 to 需要赋值的用户名
--例:grant read,write on directory dpdata1 to scott;
(5)还原数据
还原数据的脚本如下:
@echo off
echo ================================================
echo Windows环境下Oracle数据库的自动还原脚本
echo ================================================
::impdp 用户名/密码@数据库实例名 directory=还原目录 dumpfile=还原的文件名.dmp logfile=还原的日志名.log
::还原的时候只需要根据自己的需求更改上面内容的中文部分即可。
impdp TESTZSL/TESTZSL@orcl directory=mydata dumpfile=TESTZSL.dmp logfile=TESTZSL.log
也可按指定的表或用户进行数据还原
1)导到指定用户下
impdp scott/tiger DIRECTORY=dpdata1 DUMPFILE=expdp.dmp SCHEMAS=scott;
2)改变表的owner
impdp system/manager DIRECTORY=dpdata1 DUMPFILE=expdp.dmp TABLES=scott.dept REMAP_SCHEMA=scott:system;
3)导入表空间
impdp system/manager DIRECTORY=dpdata1 DUMPFILE=tablespace.dmp TABLESPACES=example;
4)导入数据库
impdp system/manager DIRECTORY=dpdata1 DUMPFILE=full.dmp FULL=y;
impdp 用户名/密码@数据库实例名 directory=还原目录 dumpfile=还原的文件名.dmp logfile=还原的日志名.log
--例:impdp TESTZSL/TESTZSL@orcl directory=dpdata1 dumpfile=TESTZSL.dmp logfile=TESTZSL.log FULL=y;
5)追加数据
impdp system/manager DIRECTORY=dpdata1 DUMPFILE=expdp.dmp SCHEMAS=system TABLE_EXISTS_ACTION
二、Oracle数据库还原方法二:(使用imp还原)
1.首先先在91服务器上找到92的共享文件夹,然后打开电脑的cmd,输入命令
@echo off
echo ================================================
echo Windows环境下Oracle数据库还原脚本
echo ================================================
::imp 用户名/密码@数据库实例名 file=导出文件 file=导出日志文件 full=y表示全部执行
impdp TESTZSL/TESTZSL@192.168.1.91/orcl DIRECTORY=mydata DUMPFILE=TESTZSL.dmp FULL=y
2.耐心等待数据的导入
3.导入数据完成
4.打开91服务器上的Oracle数据库,查看其中的表,和92服务器中数据库中的表做对比,看是否一样。若一样则表明导入成功。
三、设置任务计划,每天自动还原数据库
1.首先打开电脑控制面板,找到系统和安全

2.找到管理工具,点击打开

3.找到任务计划程序,双击打开

4.在右侧找到创建基本任务

5.然后填写人物的名称和描述

6.选择每天

7.设置每日什么时候,每个几天发生一次

8.然后选择启动程序

9.填入需要执行的脚本所在的路径

10.然后点击完成

11.打开任务计划程序库,找到刚刚新建的任务双击

12.设置不管用户是否登录都执行,然后点击确定

13.最后填入电脑的登录名和密码,就完成了每天定时自动备份数据库文件。

注:imp和impdp还原区别:
1.IMP是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用。
2.IMPDP是服务端的工具程序,他们只能在ORACLE服务端使用,不能在客户端使用。
3.IMP只适用于EXP导出的文件,不适用于EXPDP导出文件;IMPDP只适用于EXPDP导出的文件,而不适用于EXP导出文件。