在丢失归档情况下,恢复时常会遇到ora-01113错误,以下实验模拟表空间offline,然后在丢失归档文件的情况下使用bbed修改文件头信息
在丢失归档情况下,恢复时常会遇到ora-01113错误,以下实验模拟表空间offline,,然后在丢失归档文件的情况下使用bbed修改文件头信息,最后恢复数据文件;
数据库版本:
sql> select * from v$version;
banner
--------------------------------------------------------------------------------
oracle database 11g enterprise edition release 11.2.0.1.0 - 64bit production
pl/sql release 11.2.0.1.0 - production
core 11.2.0.1.0 production
tns for linux: version 11.2.0.1.0 - production
nlsrtl version 11.2.0.1.0 - production
数据文件信息:
sql> select file#,name, checkpoint_change#,to_char(checkpoint_time,'yyyy-mm-dd hh24:mi:ss')checkpoint_time,status,block_size from v$datafile;
file# name checkpoint_change# checkpoint_time status block_size
---------- ----------------------------------- ------------------ ------------------- ------- ----------
1 /u01/app/oradata/sydb/system01.dbf 3161898 2015-04-13 20:46:37 system 8192
2 /u01/app/oradata/sydb/sysaux01.dbf 3161898 2015-04-13 20:46:37 online 8192
3 /u01/app/oradata/sydb/undotbs01.dbf 3161898 2015-04-13 20:46:37 online 8192
4 /u01/app/oradata/sydb/users01.dbf 3161898 2015-04-13 20:46:37 online 8192
5 /disk2/oradata/sydb/tbs01.dbf 3161898 2015-04-13 20:46:37 online 8192
6 /disk2/oradata/sydb/tbs02.dbf 3161898 2015-04-13 20:46:37 online 8192
7 /disk2/oradata/sydb/tbs03.dbf 3161898 2015-04-13 20:46:37 online 8192
8 /tmp/tbs_tmp.dbf 3161898 2015-04-13 20:46:37 online 8192
offline数据文件7并删除归档模拟ora-01113:
sql> alter database datafile 7 offline;
database altered.
sql> alter system switch logfile;
system altered.
sql> alter system switch logfile;
system altered.
sql> alter database datafile 7 online;
alter database datafile 7 online
*
error at line 1:
ora-01113: file 7 needs media recovery
ora-01110: data file 7: '/disk2/oradata/sydb/tbs03.dbf'
sql> select file#,change#,time from v$recover_file;
file# change# time
---------- ---------- ---------
7 3161898 13-apr-15
使用bbed需要修改的内容有:
ub4 kscnbas @484 #最后检查的scn
ub4 kcvcptim @492 #检查时间
ub4 kcvfhcpc @140 #检查点发生次数
ub4 kcvfhccc @148 #未知,但值一直小于kcvfhcpc 1
bbed> info
file# name size(blks)
----- ---- ----------
1 /u01/app/oradata/sydb/system01.dbf 92160
2 /u01/app/oradata/sydb/sysaux01.dbf 71680
3 /u01/app/oradata/sydb/undotbs01.dbf 52480
4 /u01/app/oradata/sydb/users01.dbf 1600
5 /disk2/oradata/sydb/tbs01.dbf 221696
6 /disk2/oradata/sydb/tbs02.dbf 14592
7 /disk2/oradata/sydb/tbs03.dbf 2560
8 /tmp/tbs_tmp.dbf 1280
先确认好system表空间文件信息: