简答题 7.  如果执行了rm-rf操作删除了所有的基于FS的数据文件,但是数据库还处于OPEN状态,那么,在这种情况下如何快速地恢复数据库呢?
【正确答案】这里的前提条件是没有任何可用的RMAN备份、数据库冷备份等,也就是说,没有任何备份。在这种情况下可以通过系统的文件句柄号来恢复数据文件。整个恢复过程可以简单分为如下几步:
   (1)找到被删除文件的文件句柄所在的目录首先通过命令“ps -ef|grep ora_lgwr”找到LGWR的进程号。假设这里的进程号为31863,则被删除的文件句柄在/proc/31863/fd目录下。
   (2)采用操作系统cp 命令复制文件句柄到原数据库文件路径 假设这里看到的是如下的情况,被删除的文件末尾一般都有deleted标识。
   
   执行cp命令,复制数据文件到原路径:
   
   需要注意的是,最好使用Oracle用户去执行cp命令。如果使用root用户执行cp命令的话,那么Oracle进程是没有权限操作的。当然也可以在使用root用户复制完数据文件后,再执行赋权操作,命令如下:
   
【答案解析】