把oracle里的一个用户误删了,可以恢复吗用delete和drop误删的数据,恢复方法一样吗

把oracle里的一个用户误删了,可以恢复吗用delete和drop误删的数据,恢复方法一样吗,第1张

如果你drop user的时候没有加cascade这个参数,试试重建这个用户,然后赋予相应的权限看看。不保证一定管用,但是如果加了cascade的话,只有从备份文件中恢复了。

delete删除的数据如果没有commit,rollbak即可。但是drop恢复起来就很麻烦了,不是一句两句能说清楚的。

很简单:首先要确定有没有备份,是什么备份的问题;其次确定是否打开了归档模式,归档是否都有保留的问题。

如果有备份,那么是rman备份?物理备份?逻辑备份?

1、rman备份,那直接restore然后recover很简单。

2、物理备份,就是使用了将表空间置为backup状态(可以是停库的冷备)后copy的备份,这个也是一样restore,但是会有数据丢失。

3、逻辑备份,exp类的备份,只备份了用户数据,那么也可以进行一定程度的恢复,不过丢数据是在所难免的。

如果没有备份,那么是否开启了归档?归档是否有保留?

1、如果开启了归档,并且归档都有所保留(即,从你建立table表空间的时间开始到目前为止的归档日志),那么你可以尝试重建数据文件的形式来恢复,具体的例子以前我写过,你可以查一查。

2、如果没有归档,而所有表都在这个表空间(没有分区表之类的)那么直接删了吧,反正是恢复不了了o(∩_∩)o 。如果有分区表,那么导出其他分区好了,损失少一点是一点。

给你介绍一个用JAVA编写有图形界面的JDUL:

你可以试试ORACLE PRM ,Oracle PRM即 ParnassusData Recovery Manager是企业级别的Oracle数据库灾难恢复工具。PRM可以再无备份的情况下恢复被truncated掉的表,也可以恢复无法打开的Oracle数据库(Alter database open失败)中的数据。 PRM是图形化增强版的Oracle DUL工具,同时具备很多Oracle DUL不具备的特性。而且Oracle PRM无需学任何新命令。

冷备也称为一致性备份,这种备份通常是在数据库关闭的情况下进行的,比如说简单的copy。

而你说的在mount状态下的备份,是我们常说的热备,是一种非一致性的备份。

当你恢复的时候,并不能像冷备份那样完全的恢复,而是只能恢复到你备份时的某一个SCN/时间段。

除开对冷备份的恢复,一般做不完全恢复 *** 作都是在RMAN下面进行的,这时候是在mount状态下进行的,不需要停机,恢复完成后,切换当前的日志进行归档。

具体的你可以百度一下 “RMAN 乐沙弥”,他的微博在这方面写的很详细。

控制文件有三个,不可能同时都损坏,你用其他两个中的任意一个复制一个(原来坏的挪走或者改名,先别删除,万一其他两个也坏了呢),然后重命名为原来文件的名字,如果没有问题,那么就可以了,将坏的文件删除就可以了。

如果文件都有问题,或者其他什么问题,那么就重建控制文件。方法网上有。

以上就是关于把oracle里的一个用户误删了,可以恢复吗用delete和drop误删的数据,恢复方法一样吗全部的内容,包括:把oracle里的一个用户误删了,可以恢复吗用delete和drop误删的数据,恢复方法一样吗、oracle数据库问题 我发现我的数据库物理文件table.dbf不见了。怎么恢复呢、听说民间有oracle jdul工具,可以像oracle dul那样回复去数据库中的数据,求介绍一等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9826815.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存