搜索
首页数据库mysql教程1.4TBASM(RAC)磁盘损坏恢复小记

这周折腾了2天的时间帮客户成功恢复了一套近1.4TB的10.2.0.5 RAC(ASM). 该库在3月4号直接crash了。 大家可以看到,该库在开始报错读取redo,controlfile报错,本质原因是DISKGROUP dismount了,信息如下: Tue Mar 04 18:09:59 CST 2014 Errors in file /home/o

这周折腾了2天的时间帮客户成功恢复了一套近1.4TB的10.2.0.5 RAC(ASM). 该库在3月4号直接crash了。

大家可以看到,该库在开始报错读取redo,controlfile报错,本质原因是DISKGROUP dismount了,信息如下:

Tue Mar 04 18:09:59 CST 2014 <code class="php plain">Errors in file /home/oraprod/10.2.0/db/admin/xxxx/bdump/xxxx_lgwr_15943.trc: <code class="php plain">ORA-00345: redo log write error block 68145 <code class="php functions">count <code class="php plain">5 <code class="php plain">ORA-00312: online log 6 thread 2: <code class="php string">'+DATA/xxxx/onlinelog/o2_t2_redo3.log' <code class="php plain">ORA-15078: ASM diskgroup was forcibly dismounted <code class="php plain">Tue Mar 04 18:09:59 CST 2014 <code class="php plain">SUCCESS: diskgroup DATA was dismounted <code class="php plain">SUCCESS: diskgroup DATA was dismounted <code class="php plain">Tue Mar 04 18:10:00 CST 2014 <code class="php plain">Errors in file /home/oraprod/10.2.0/db/admin/xxxx/bdump/xxxx_lmon_15892.trc: <code class="php plain">ORA-00202: control file: <code class="php string">'+DATA/xxxx/controlfile/o1_mf_4g1zr1yo_.ctl' <code class="php plain">ORA-15078: ASM diskgroup was forcibly dismounted <code class="php plain">Tue Mar 04 18:10:00 CST 2014 <code class="php plain">KCF: write/open error block=0x1f41e online=1 <code class="php spaces"><code class="php plain">file=31 +DATA/xxxx/datafile/apps_ts_queues.310.692585175 <code class="php spaces"><code class="php plain">error=15078 txt: <code class="php string">'' <code class="php plain">Tue Mar 04 18:10:00 CST 2014 <code class="php plain">KCF: write/open error block=0x47d5d online=1 <code class="php spaces"><code class="php plain">file=51 +DATA/xxx/datafile/apps_ts_tx_data.353.692593409 <code class="php spaces"><code class="php plain">error=15078 txt: <code class="php string">'' <code class="php plain">Tue Mar 04 18:10:00 CST 2014 <code class="php plain">Errors in file /home/oraprod/10.2.0/db/admin/xxxx/bdump/xxxx_dbw2_15939.trc: <code class="php plain">ORA-00202: control file: <code class="php string">'+DATA/prod/controlfile/o1_mf_4g1zr1yo_.ctl' <code class="php plain">ORA-15078: ASM diskgroup was forcibly dismounted <code class="php plain">Tue Mar 04 18:10:00 CST 2014 <code class="php plain">KCF: write/open error block=0x47d5b online=1 <code class="php spaces"><code class="php plain">file=51 +DATA/prod/datafile/apps_ts_tx_data.353.692593409 <code class="php spaces"><code class="php plain">error=15078 txt: <code class="php string">'' <code class="php plain">Tue Mar 04 18:10:00 CST 2014 <p>数据库实例挂了之后,我们来看下ASM实例的alert log信息,如下:</p> <code class="php plain">Tue Mar 04 18:10:04 CST 2014 <code class="php plain">NOTE: SMON starting instance recovery <code class="php keyword">for <code class="php plain">group 1 (mounted) <code class="php plain">Tue Mar 04 18:10:04 CST 2014 <code class="php plain">WARNING: IO Failed. au:0 diskname:/dev/raw/raw5 <code class="php spaces"><code class="php plain">rq:0x200000000207b518 buffer:0x200000000235c600 au_offset(bytes):0 iosz:4096 operation:0 <code class="php spaces"><code class="php plain">status:2 <code class="php plain">WARNING: IO Failed. au:0 diskname:/dev/raw/raw5 <code class="php spaces"><code class="php plain">rq:0x200000000207b518 buffer:0x200000000235c600 au_offset(bytes):0 iosz:4096 operation:0 <code class="php spaces"><code class="php plain">status:2 <code class="php plain">NOTE: F1X0 found on disk 0 fcn 0.160230519 <code class="php plain">WARNING: IO Failed. au:33 diskname:/dev/raw/raw5 <code class="php spaces"><code class="php plain">rq:0x60000000002d64f0 buffer:0x400405df000 au_offset(bytes):0 iosz:4096 operation:0 <code class="php spaces"><code class="php plain">status:2 <code class="php plain">WARNING: cache failed to read gn 1 fn 3 blk 10752 <code class="php functions">count <code class="php plain">1 from disk 2 <code class="php plain">ERROR: cache failed to read fn=3 blk=10752 from disk(s): 2 <code class="php plain">ORA-15081: failed to submit an I/O operation to a disk <code class="php plain">NOTE: cache initiating offline of disk 2 group 1 <code class="php plain">WARNING: process 12863 initiating offline of disk 2.2526420198 (DATA_0002) with mask 0x3 in group 1 <code class="php plain">NOTE: PST update: grp = 1, dsk = 2, mode = 0x6 <code class="php plain">Tue Mar 04 18:10:04 CST 2014 <code class="php plain">ERROR: too many offline disks in PST (grp 1) <code class="php plain">Tue Mar 04 18:10:04 CST 2014 <code class="php plain">ERROR: PST-initiated MANDATORY DISMOUNT of group DATA <code class="php plain">Tue Mar 04 18:10:04 CST 2014 <code class="php plain">WARNING: Disk 2 in group 1 in mode: 0x7,state: 0x2 was taken offline <code class="php plain">Tue Mar 04 18:10:05 CST 2014 <code class="php plain">NOTE: halting all I/Os to diskgroup DATA <code class="php plain">NOTE: active pin found: 0x0x40045bb0fd0 <code class="php plain">Tue Mar 04 18:10:05 CST 2014 <code class="php plain">Abort recovery <code class="php keyword">for <code class="php plain">domain 1 <code class="php plain">Tue Mar 04 18:10:05 CST 2014 <code class="php plain">NOTE: cache dismounting group 1/0xD916EC16 (DATA) <code class="php plain">Tue Mar 04 18:10:06 CST 2014 <p>大家可以看到,ASM报了一个ORA-15081错误,在该错误之前是报对其中一个盘/dev/raw/raw5的IO操作错误。<br> 细心的朋友可以看到,这里由于IO 操作异常后,该disk被offline了。最后磁盘组无法mount。</p> <p>我们测试使用kfed read无法读取该disk,dd也无法操作。但是却可以直接dd 该disk对应的物理盘。</p> <p>磁盘组无法mount,从其中trace来看显然是磁盘头损坏,如下:</p> <code class="php plain">WARNING: cache read a corrupted block gn=1 dsk=2 blk=1 from disk 2 <code class="php plain">OSM metadata block dump: <code class="php plain">kfbh.endian: 0 ; 0x000: 0x00 <code class="php plain">kfbh.hard: 0 ; 0x001: 0x00 <code class="php plain">kfbh.type: 0 ; 0x002: KFBTYP_INVALID <code class="php plain">kfbh.datfmt: 0 ; 0x003: 0x00 <code class="php plain">kfbh.block.blk: 0 ; 0x004: T=0 NUMB=0x0 <code class="php plain">kfbh.block.obj: 0 ; 0x008: TYPE=0x0 NUMB=0x0 <code class="php plain">kfbh.check: 0 ; 0x00c: 0x00000000 <code class="php plain">kfbh.fcn.base: 0 ; 0x010: 0x00000000 <code class="php plain">kfbh.fcn.wrap: 0 ; 0x014: 0x00000000 <code class="php plain">kfbh.spare1: 0 ; 0x018: 0x00000000 <code class="php plain">kfbh.spare2: 0 ; 0x01c: 0x00000000 <code class="php spaces"><code class="php plain">CE: (0x0x400417ee4e0) group=1 (DATA) obj=2 (disk) blk=1 <code class="php spaces"><code class="php plain">hashFlags=0x0002 lid=0x0002 lruFlags=0x0000 bastCount=1 <code class="php spaces"><code class="php plain">redundancy=0x11 fileExtent=-2147483648 AUindex=0 blockIndex=1 <code class="php spaces"><code class="php functions">copy <code class="php plain">#0: disk=2 au=0 <code class="php spaces"><code class="php plain">BH: (0x0x40041795000) bnum=4586 type=reading state=reading chgSt=not modifying <code class="php spaces"><code class="php plain">flags=0x00000000 pinmode=excl lockmode=share bf=0x0x40041400000 <code class="php spaces"><code class="php plain">kfbh_kfcbh.fcn_kfbh = 0.0 lowAba=655.8572 highAba=0.0 <code class="php spaces"><code class="php plain">last kfcbInitSlot <code class="php keyword">return <code class="php plain">code=null cpkt lnk is null <p>大家知道Oracle ASM 10.2.0.5版本开始会对ASM disk header 进行自动备份,如果如果仅仅是盘头<br> 损坏那么恢复是很easy的。但是其实并不是这么简单,通过dd判断,该盘的前面几个block其实被损坏。</p> <p>最后我们通过ODU 直接将数据文件从磁盘拷贝到文件系统,然后起库,最后完成整个恢复过程。</p> <p>备注:在恢复过程中,发现ODU无法直接拷贝test201402.dbf 这样的文件,然而通过检查</p> <p>asm alias directory发现,其实是完好的,这里可能odu处理还有点小问题,我们通过手工将该元数据</p> <p>的AU 读取出来,然后匹配将剩下的文件全部抽取出来了,包括redo,controlfile,直接顺利打开数据库。</p> <p>不得不说,熊哥的ODU太强大了,秒杀各种Oracle ASM的数据库恢复Case!</p> <p> </p>
声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
解释InnoDB缓冲池及其对性能的重要性。解释InnoDB缓冲池及其对性能的重要性。Apr 19, 2025 am 12:24 AM

InnoDBBufferPool通过缓存数据和索引页来减少磁盘I/O,提升数据库性能。其工作原理包括:1.数据读取:从BufferPool中读取数据;2.数据写入:修改数据后写入BufferPool并定期刷新到磁盘;3.缓存管理:使用LRU算法管理缓存页;4.预读机制:提前加载相邻数据页。通过调整BufferPool大小和使用多个实例,可以优化数据库性能。

MySQL与其他编程语言:一种比较MySQL与其他编程语言:一种比较Apr 19, 2025 am 12:22 AM

MySQL与其他编程语言相比,主要用于存储和管理数据,而其他语言如Python、Java、C 则用于逻辑处理和应用开发。 MySQL以其高性能、可扩展性和跨平台支持着称,适合数据管理需求,而其他语言在各自领域如数据分析、企业应用和系统编程中各有优势。

学习MySQL:新用户的分步指南学习MySQL:新用户的分步指南Apr 19, 2025 am 12:19 AM

MySQL值得学习,因为它是强大的开源数据库管理系统,适用于数据存储、管理和分析。1)MySQL是关系型数据库,使用SQL操作数据,适合结构化数据管理。2)SQL语言是与MySQL交互的关键,支持CRUD操作。3)MySQL的工作原理包括客户端/服务器架构、存储引擎和查询优化器。4)基本用法包括创建数据库和表,高级用法涉及使用JOIN连接表。5)常见错误包括语法错误和权限问题,调试技巧包括检查语法和使用EXPLAIN命令。6)性能优化涉及使用索引、优化SQL语句和定期维护数据库。

MySQL:初学者的基本技能MySQL:初学者的基本技能Apr 18, 2025 am 12:24 AM

MySQL适合初学者学习数据库技能。1.安装MySQL服务器和客户端工具。2.理解基本SQL查询,如SELECT。3.掌握数据操作:创建表、插入、更新、删除数据。4.学习高级技巧:子查询和窗口函数。5.调试和优化:检查语法、使用索引、避免SELECT*,并使用LIMIT。

MySQL:结构化数据和关系数据库MySQL:结构化数据和关系数据库Apr 18, 2025 am 12:22 AM

MySQL通过表结构和SQL查询高效管理结构化数据,并通过外键实现表间关系。1.创建表时定义数据格式和类型。2.使用外键建立表间关系。3.通过索引和查询优化提高性能。4.定期备份和监控数据库确保数据安全和性能优化。

MySQL:解释的关键功能和功能MySQL:解释的关键功能和功能Apr 18, 2025 am 12:17 AM

MySQL是一个开源的关系型数据库管理系统,广泛应用于Web开发。它的关键特性包括:1.支持多种存储引擎,如InnoDB和MyISAM,适用于不同场景;2.提供主从复制功能,利于负载均衡和数据备份;3.通过查询优化和索引使用提高查询效率。

SQL的目的:与MySQL数据库进行交互SQL的目的:与MySQL数据库进行交互Apr 18, 2025 am 12:12 AM

SQL用于与MySQL数据库交互,实现数据的增、删、改、查及数据库设计。1)SQL通过SELECT、INSERT、UPDATE、DELETE语句进行数据操作;2)使用CREATE、ALTER、DROP语句进行数据库设计和管理;3)复杂查询和数据分析通过SQL实现,提升业务决策效率。

初学者的MySQL:开始数据库管理初学者的MySQL:开始数据库管理Apr 18, 2025 am 12:10 AM

MySQL的基本操作包括创建数据库、表格,及使用SQL进行数据的CRUD操作。1.创建数据库:CREATEDATABASEmy_first_db;2.创建表格:CREATETABLEbooks(idINTAUTO_INCREMENTPRIMARYKEY,titleVARCHAR(100)NOTNULL,authorVARCHAR(100)NOTNULL,published_yearINT);3.插入数据:INSERTINTObooks(title,author,published_year)VA

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SecLists

SecLists

SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )专业的PHP集成开发工具

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境