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

哪位网友指点指点!谢谢!刚学oracle,问题有点初级hehe
2024-12-13 17:08:44
推荐回答(5个)
回答1:

如果你drop user的时候没有加cascade这个参数,试试重建这个用户,然后赋予相应的权限看看。不保证一定管用,但是如果加了cascade的话,只有从备份文件中恢复了。
delete删除的数据如果没有commit,rollbak即可。但是drop恢复起来就很麻烦了,不是一句两句能说清楚的。

回答2:

Oracle DBA神器:PRM灾难恢复工具,Schema级别数据恢复。PRM For Oracle Database – schema级别oracle数据库数据恢复特性 ,PRM即ParnassusData Recovery Manager是企业级别Oracle数据库灾难恢复工具。PRM可以在无备份的情况下恢复被truncated/drop掉的表,也可以恢复无法打开的Oracle数据库(Alter Database Open失败)中的数据。 PRM是图形化增强版的Oracle DUL工具,同时具备很多Oracle DUL不具备的特性

回答3:

1. 如果没有提交,可以撤回2. 如果已经提交,则看是否有备份3. 如果有备份,那么恢复数据库到另外的地方,然后此表恢复4. 如果没有备份,那么没有办法的。

回答4:

用户删除恢复的方法
用oracle em进行管理,即菜单中的database control -数据库名,进入后,建立表空间,建立用户,指定用户的权限即可,是可视化的界面,呵呵。
服务器-->安全性-->用户

回答5:

首先在drop的时候没有加 cascade参数,则可以通过 :
flashback table tabname to before drop;
不过这个是需要undo中的数据块没有被复用,所以不要做其他操作,尽快恢复。