os层删除与数据库层drop的区别于对策。

时间:2022-01-31 22:42:17

os rm删除的,可以通过os层面恢复(句柄、inode、如果inode没有了可以根据block去重组出来数据文件),也可以通过rman备份还原方式恢复。

 db 层面drop删除的 只能不完全恢复(基于scn或者timestamp的全库不完全恢复)。

inode恢复的原理:尽管删除命令只是在文件节点中作删除标记,并不真正清除文件内容,但是其他用户和一些有写盘动作的进程会很快覆盖这些数据。   所以说没有备份的情况下,只要rm后恢复动作只够快,还是能恢复的。

文件从操作系统级别被rm掉,之前打开该文件的进程仍然持有相应的文件句柄,所指向的文件仍然可以读写,并且该文件的文件描述符可以从/proc目录中获得。但是要注意的是,此时如果关闭数据库,则此句柄会消失.