环境:windowns2008
oracle:11.2.0.1
备份:仅有一个月前的逻辑备份
归档:无
问题原因:raid10阵列坏盘,换盘导致oracle崩溃(阵列换盘前推荐做备份并在非业务高峰期更换硬盘)
项目描述:
乙方缺乏对oracle运维的基本知识,导致在数据库出问题后连续的错误操作,致使常规手段无法找回数据,前后采用了三种方案,最后确定使用紧急预案,使用原厂内部使用的工具dul,通过修复system使后期数据整合的工程量降低,且不容易出现错误,最后成功找回数据,因为大量坏块的影响,导致部分数据无法找回,已经在最大限度上恢复数据
因为以丙方出面,并且乙方不愿意承认自己的过失,私下里一直没时间和乙方有较好沟通,只能按各种诊断信息进行数据恢复
诊断:
alert中数据库出现大量ora600,ora00313,ora27041,ora07445等
乙方人员做过多次不完全恢复操作,导致数据文件识别错误
WARNING! Recovering data file 1 from a fuzzy file. If not the current file
Tue Dec 02 21:25:05 2014
it might be an online backup taken without entering the begin backup command.
Tue Dec 02 21:25:15 2014
WARNING! Recovering data file 2 from a fuzzy file. If not the current file
Tue Dec 02 21:25:25 2014
it might be an online backup taken without entering the begin backup command.
Tue Dec 02 21:25:35 2014
WARNING! Recovering data file 3 from a fuzzy file. If not the current file
Tue Dec 02 21:25:45 2014
it might be an online backup taken without entering the begin backup command.
Tue Dec 02 21:25:55 2014
WARNING! Recovering data file 4 from a fuzzy file. If not the current file
Tue Dec 02 21:26:05 2014
it might be an online backup taken without entering the begin backup command.
Tue Dec 02 21:26:16 2014
流程:通过bbed修改scn,并加隐藏参数强行拉库失败,时间紧,数据库容量只有不到20G,遂决定使用dul抽取数据
init.dul
osd_big_endian_flag=false
osd_dba_file_bits=10
osd_c_struct_alignment=32
osd_file_leader_size=0
osd_word_size=32
ldr_output_in_utf8=true
dc_columns = 2000000
dc_tables = 100000
dc_objects = 1000000
dc_users = 400
dc_segments=100000
db_block_size = 8192
compatible=11
export_mode=true
control_file=control.dul
LDR_ENCLOSE_CHAR=|
BUFFER=10485760
control.dul
0 1 F:\OraBF\oradata\zyy\SYSTEM01.DBF
1 2 F:\OraBF\oradata\zyy\SYSAUX01.DBF
2 3 F:\OraBF\oradata\zyy\UNDOTBS01.DBF
4 4 F:\OraBF\oradata\zyy\USERS01.DBF
6 5 F:\OraBF\oradata\zyy\HIS
抽取数据,imp导入并验证,使用dul抽取操作简单,还好前面修复了system的一些重要基表所在坏块,非常顺利
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29326234/viewspace-1362055/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29326234/viewspace-1362055/