一、通过文件文件描述符(file descriptor)进行恢复(rm删除数据文件没备份)
场景: 误操作删除数据文件tp10.dbf
rm -rf /u01/app/oracle/oradata/bxdb/tp10.dbf
select ts#,file#,name,bytes,status from v$datafile;
ps -ef |grep dbw |grep -v grep
cd /proc/12308/fd
1、方法一 :在线恢复
cp /proc/13979/fd/264 /u01/app/oracle/oradata/ocp/newtp12.dbfalter database datafile 7 offline;
alter database rename file '/u01/app/oracle/oradata/oca/tp12.dbf' to '/u01/app/oracle/oradata/ocp/newtp12.dbf';
recover datafile 7;
alter database datafile online;
2、方法二:离线恢复
cp /proc/13979/fd/264 /u01/app/oracle/oradata/ocp/newtp12.dbf
shutdown immediate;
shutdown abort;
startup
recover database;
alter database open;
二、获得文件号
1、方法一:bbed获得文件号
set filename '/proc/13979/fd/264'set blocksize 8192
set filename '/proc/13979/fd/264'
p kcvfh --在bbed中看位置
p kcvfh.kcvfhrfn --显示相对文件号信息(print)
exit
2、方法二:通过od命令得文件号信息
9i文件号的偏移量是280,再加上数据文件头上一个操作系统块8192,od跳过8472即可获得文件号
od -j 8472 -t x1 262|head -1 --十六进制输出
od -j 8472 -t d2 262|head -1 --十进制输出
10g/11g文件号的偏移量是368,再加上数据文件头上一个操作系统块8192,od跳过8560即可获得文件号
od -j 8560 -t x1 264|head -1 --十六进制输出
od -j 8560 -t d2 264|head -1 --十进制输出
**********本博客所有内容均为原创,如有转载请注明作者和出处!!!**********
Name: guoyJoe
QQ: 252803295
Email: oracledba_cn@hotmail.com
Blog: http://blog.csdn.net/guoyJoe
ITPUB: http://www.itpub.net/space-uid-28460966.html
OCM: http://education.oracle.com/education/otn/YGuo.HTM
_____________________________________________________________
加群验证问题:哪些SGA结构是必需的,哪些是可选的?否则拒绝申请!!!
答案在:http://blog.csdn.net/guoyjoe/article/details/8624392
Oracle@Paradise 总群:127149411
Oracle@Paradise No.1群:177089463(已满)
Oracle@Paradise No.2群:121341761
Oracle@Paradise No.3群:140856036