LINUX 系统中被删除的文件,在操作系统没有重启的情况下,文件的句柄都没有关闭,可以在/proc/进程id/fd 中找到其对应的文件副本
查看数据库进程;
通过:call SP_FILE_SYS_CHECK(); 校验数据文件
通过:call sp_tablespace_prepare_recover(\'表空间名\');执行预恢复 注意表空间名的大小写,
通过:ll /proc/数据库进程id/fd 找到数据库文件最下面的,然后可以通过查看带有deleted获取文件号;
通过:cp /proc/数据库进程id/fd/文件号 /dbdata/dmdata/DAMENG/OPEN_DATA.DBF(具体的路径)
通过:call sp_tablespace_recover(\'数据文件名\');
通过:call SP_FILE_SYS_CHECK();校验数据文件
即可恢复误删除的数据文件
此方法可以在没有数据库文件没有备份的情况下,恢复误删除的数据文件。但是时间有限,而且不能重启服务器和数据库服务器,而且关键表空间不能删除。