Oracle12c数据的逻辑备份与恢复

萝らか妹 提交于 2019-11-30 02:11:52

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

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

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

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


1.用EXPEXPDB 导出某个用户

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

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


在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;删除用户。删除过程如下:

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

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

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

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

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

逻辑备份与恢复成功!

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!