暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
实战:无数据备份和归档文件被删除时,如何强制打开数据库.txt
231
6页
7次
2024-05-14
10墨值下载
在数据库运维中经常会遇到某个数据文件的 SCN 与其他文件的 SCN 不一致(如 offline 后或者异常断电),
如果归档日志被删除了,导致 datafile 不能 recover 的情况,数据库不能打开情况,
这时候我们需要借助 bbed 修改 datafile header scn 与其他 datafile header scn 一致,然后
recover datafile
【一】问题现象
1offline 数据文件后,归档已经被删除;
2)异常断电时,数据文件头中的 scn 与控制文件中的 scn 不一致;
【二】恢复方法
使用 bbed 工具查看、修改数据文件,该操作风险极大,操作前请备份数据文件!!!
文件头说明:修改数据文件头,需要关注四个偏移量 offset 点,分别为 484492140 148
adatafile file header 存储在第一个 block 里(linux 下块从 1 开始,window 下块从 2 开始)
bOracle considers four attributes of this data structure when determining if a
datafile is sync with the other data files of the database:(不同 oracle 版本
offset 可能不同)
1kscnbas (at offset 484) – SCN of last change to the datafile.
2kcvcptim (at offset 492) -Time of the last change to the datafile.
3kcvfhcpc (at offset 140) – Checkpoint count.
4kcvfhccc (at offset 148) – Unknown, but is always 1 less than thecheckpoint
point count.
Oracle 4 个属性来判断 datafile 是否和其他的 datafile 一致,如果都一致,可以正常操作,如果不
一致,那么会报 ORA-01113 错误
BBED 查看方法:
BBED> p kcvfhckp.kcvcpscn.kscnbas
【三】具体恢复过程
3.1 查看当前数据库一些相关信息(恢复时需要关注的一些信息)
col name for a60
col member for a50
set pagesize 20000
set linesize 200
set pause off
set serveroutput on
set feedback on
set echo on
set numformat 999999999999999
spool recovery_info.txt
select file#,name, status,checkpoint_change#,checkpoint_time from v$datafile;
select file#,name, status,checkpoint_change#,checkpoint_time from v$datafile;
select substr(name,1,50), recover, fuzzy, checkpoint_change# from
v$datafile_header;
select GROUP#,member from v$logfile;
select * from v$recover_file;
select distinct status from v$backup;
select hxfil FILENUMBER, fhsta STATUS, fhscn SCN, FHAFS ABSSCN , fhrba_Seq
SEQUENCE from x$kcvfh;
select distinct (fuzzy) from v$datafile_header;
spool off
exit;
3.2 查看控制文件记录的数据文件的 SCN 信息
set lines 200 pages 500
col name for a60
col checkpoint_change for a20
select file#,name,status,to_char(checkpoint_change#) checkpoint_change
from v$datafile order by 1;
FILE# NAME
STATUS CHECKPOINT_CHANGE
----------
--------------------------------------------------------------------------------
-------------- --------------------
1 D:\ORADATA\ORCL\SYSTEM01.DBF
SYSTEM 3103652694
2 D:\ORADATA\ORCL\SYSAUX01.DBF
ONLINE 3103652694
3 D:\ORADATA\ORCL\UNDOTBS01.DBF
ONLINE 3103652694
4 D:\ORADATA\ORCL\USERS01.DBF
ONLINE 3103652694
5 D:\ORADATA\ORCL\TS_EXAMPLE.DBF
ONLINE 3103652694
6 D:\ORADATA\ORCL\OGGTBS01.DBF
ONLINE 3103652694
7 D:\ORADATA\ORCL\REC_TBS01.DBF
ONLINE 3103652694
8 D:\ORADATA\ORCL\MRKT.DBF
ONLINE 3103652694
3.3 查看数据文件头的 SCN 信息
set lines 200 pages 500
col name for a60
col checkpoint_change for a20
select file#,name,status,to_char(checkpoint_change#) checkpoint_change
from v$datafile_header order by 1;
FILE# NAME
STATUS CHECKPOINT_CHANGE
----------
--------------------------------------------------------------------------------
-------------- --------------------
1 D:\ORADATA\ORCL\SYSTEM01.DBF
ONLINE 3103662768
2 D:\ORADATA\ORCL\SYSAUX01.DBF
ONLINE 3103662768
3 D:\ORADATA\ORCL\UNDOTBS01.DBF
ONLINE 3103323763
4 D:\ORADATA\ORCL\USERS01.DBF
ONLINE 3103662768
5 D:\ORADATA\ORCL\TS_EXAMPLE.DBF
ONLINE 3103662768
6 D:\ORADATA\ORCL\OGGTBS01.DBF
ONLINE 3103662768
7 D:\ORADATA\ORCL\REC_TBS01.DBF
ONLINE 3103662768
8 D:\ORADATA\ORCL\MRKT.DBF
ONLINE 3103662768
从上面可以看到数据文件 3 的文件头 SCN 3103323763 与 其他文件的文件头 SCN 3103662768 不一致,
of 6
10墨值下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜