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

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

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

 

 

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

 

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

 


本文转自 张冲andy 博客园博客,原文链接:  http://www.cnblogs.com/andy6/p/5734870.html ,如需转载请自行联系原作者

上一篇:面对Bug程序员能做点什么


下一篇:<转>Boost库之asio io_service以及run、run_one、poll、poll_one区别