|
原帖由 Yong Huang 于 2010-4-9 04:44 发表 ![]()
I was referring to the fact that on UNIX/Linux, when you use LGWR to transport redo, "lgwr进程每时每刻都获得所有logfile的文件句柄". Because the logfiles are all held open, deleting their filesystem entries is not a problem. You can simply restore the files from the pseudo files on /proc.
> 如果是普通的文件的话,可以通过metalink note "Retrieve deleted files on Unix / Linux using File Descriptors "恢复
> 不过我们使用的是veritas qio文件,目前没有找到办法
Isn't it the same? That is, copy the pseudo file from /proc to where it should be, e.g. /oracle/SCRATCH/data03/XFAN/redo/.redo1.log::cdev:vxfs: ?
Yong Huang
It's different. It's character file and you can't cat or dd it.
For example:
pfiles 18161
272: S_IFCHR mode:0660 dev:53,101003 ino:14 uid:32000 gid:101 rdev:58,355
O_RDWR|O_DSYNC|O_LARGEFILE FD_CLOEXEC
advisory write lock set by process 18153
/oracle/MOT/data01/.MOT_temp01b.dbf::cdev:vxfs:
273: S_IFREG mode:0660 dev:53,101003 ino:1345 uid:32000 gid:101 size:524296192
O_RDWR|O_DSYNC|O_LARGEFILE FD_CLOEXEC
advisory write lock set by process 18153
/oracle/MOT/data01/MOT_temp02a.dbf
cd /proc/18161/fd
ls -al 272
c--------- 1 oracle dba 58, 355 Apr 9 09:52 272
ls -al 273
-rw-rw---- 1 oracle dba 524296192 Apr 9 11:48 273
I opened a veritas case and the support told me it was impossible to recover the deleted qio file.
But I don't believe it
[ 本帖最后由 eagle_fan 于 2010-4-13 18:20 编辑 ] |
|