Oracle12c数据的逻辑备份与恢复

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

       数据库恢复是指在数据库发生故障时,使用数据库备份还原数据库,使数据库恢复到无故障状态。

       根据数据库恢复时使用的备份不同,恢复分为物理恢复逻辑恢复所谓的物理恢复就是,利用物理备份来恢复数据库,即利用物理备份文件恢复损毁文件,是在操作系统级别上进行的。逻辑恢复是指利用逻辑备份的二进制文件,使用Oracle提供的导入工具(如Impdp,Import)将部分或全部信息重新导入数据库,恢复损毁或丢失的数据。

这里主要讲一下逻辑备份与恢复。

这是针对Oracle 12c 的数据备份与恢复,在Oracle的其它版本可能有细微的不同,不过原理都是一样的。


1.用EXPEXPDB 导出某个用户

    DOS环境下输入EXPEXPDB,回车。按提示选择要导出的模式,我这里是导出用户模式。

Oracle12c数据的逻辑备份与恢复_第1张图片

 oracle数据库导出时,输入exp指令后,结果显示exp不是内部命令或外部命令。 出现这个问题的原因是系统找不到exp.exe程序,也就是没有给系统变量配置exp.exe的路径。解决办法是将exp.exe的路径配置到系统变量path中。

Oracle12c数据的逻辑备份与恢复_第2张图片

在windows8环境变量下,配置path系统变量如下:

Win+X --->“系统”---> “高级系统设置”---> “环境变量”--->“系统变量”--->path;

然后添加";oracle导入导出命令所在的目录"这样就好了;

oracle导入导出命令所在的目录:bin下面。

我的配置是这样的:E:\app\201131001027\product\12.1.0\dbhome_1\BIN;

2.删除该用户

   DROP USER C##USER1;删除一个用户,但这里会显示失败,原因是该用户里面有表或其它数据,所以要用DROP    USER C##USER1 CASCADE;删除用户。删除过程如下:

Oracle12c数据的逻辑备份与恢复_第3张图片

3.重新创建删除的用户(同名),并赋予相同的权限

Oracle12c数据的逻辑备份与恢复_第4张图片

 4 .IMPIMPDB导入该用户的数据,并查询数据表,存储过程,触发器等是否与之前相同

Oracle12c数据的逻辑备份与恢复_第5张图片

导入数据后查询导入的数据表,存储过程,触发器都和原来的相同,如下图。

Oracle12c数据的逻辑备份与恢复_第6张图片

5.用IMPIMPDB将导出的数据导入另一个用户中,并查询数据表,存储过程,触发器等是否在该用户下存在

Oracle12c数据的逻辑备份与恢复_第7张图片

IMPC##USER1导出的文件导入到C##USER3后,数据表,存储过程,触发器都成功导入到了C##USER3用户下。

Oracle12c数据的逻辑备份与恢复_第8张图片

逻辑备份与恢复成功!

转载于:https://my.oschina.net/u/1540055/blog/270548

你可能感兴趣的:(Oracle12c数据的逻辑备份与恢复)