BBED标记坏块以及修复坏块
创建測试表:
- ZBDBA@orcl11g>select * from zbdba;
- NAME
- ------------------------------------------------------------
- zbdba
- huihui
- ZBDBA@orcl11g>
- ZBDBA@orcl11g>
- ZBDBA@orcl11g>
- ZBDBA@orcl11g>
- ZBDBA@orcl11g>select rowid,dbms_rowid.rowid_object(rowid) robject,
- 2 dbms_rowid.rowid_relative_fno(rowid) fno,
- 3 dbms_rowid.rowid_block_number(rowid) bno,
- 4 dbms_rowid.rowid_row_number(rowid) rno from zbdba where rownum=1;
- ROWID ROBJECT FNO BNO RNO
- ------------------ ---------- ---------- ---------- ----------
- AAASMNAAGAAAAC/AAA 74509 6 191 0
使用bbed改动块状态:
- BBED> set file 6 block 191
- FILE# 6
- BLOCK# 191
- BBED> map
- File: /opt/oracle/oradata/orcl11g/zbdba01.dbf (6)
- Block: 191 Dba:0x018000bf
- ------------------------------------------------------------
- KTB Data Block (Table/Cluster)
- struct kcbh, 20 bytes @0
- struct ktbbh, 72 bytes @20
- struct kdbh, 14 bytes @100
- struct kdbt[1], 4 bytes @114
- sb2 kdbr[2] @118
- ub1 freespace[8047] @122
- ub1 rowdata[19] @8169
- ub4 tailchk @8188
- BBED> p kcbh
- struct kcbh, 20 bytes @0
- ub1 type_kcbh @0 0x06
- ub1 frmt_kcbh @1 0xa2
- ub1 spare1_kcbh @2 0x00
- ub1 spare2_kcbh @3 0x00
- ub4 rdba_kcbh @4 0x018000bf
- ub4 bas_kcbh @8 0x005036cd
- ub2 wrp_kcbh @12 0x0000
- ub1 seq_kcbh @14 0x01
- ub1 flg_kcbh @15 0x06 (KCBHFDLC, KCBHFCKV)
- ub2 chkval_kcbh @16 0x426d
- ub2 spare3_kcbh @18 0x0000
- BBED> modify /x ff offset 14
- Warning: contents of previous BIFILE will be lost. Proceed? (Y/N) y
- File: /opt/oracle/oradata/orcl11g/zbdba01.dbf (6)
- Block: 191 Offsets: 14 to 525 Dba:0x018000bf
- ------------------------------------------------------------------------
- ff066d42 00000100 00000d23 01009636 50000000 00000200 3200b800 80011300
- 02001800 0000e90b 80021100 38000220 0000cd36 50000000 00000000 00000000
- 00000000 00000000 00000000 00000000 00000000 00000001 0200ffff 1600851f
- 6f1f6f1f 00000200 8f1f851f 00000000 00000000 00000000 00000000 00000000
- 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
- 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
- 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
- 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
- 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
- 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
- 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
- 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
- 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
- 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
- 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
- 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
- <32 bytes per line>
- BBED> p kcbh
- struct kcbh, 20 bytes @0
- ub1 type_kcbh @0 0x06
- ub1 frmt_kcbh @1 0xa2
- ub1 spare1_kcbh @2 0x00
- ub1 spare2_kcbh @3 0x00
- ub4 rdba_kcbh @4 0x018000bf
- ub4 bas_kcbh @8 0x005036cd
- ub2 wrp_kcbh @12 0x0000
- ub1 seq_kcbh @14 0xff
- ub1 flg_kcbh @15 0x06 (KCBHFDLC, KCBHFCKV)
- ub2 chkval_kcbh @16 0x426d
- ub2 spare3_kcbh @18 0x0000
- BBED> sum apply
- Check value for File 6, Block 191:
- current = 0x4293, required = 0x4293
再回数据库查看该表:
- ZBDBA@orcl11g>select * from zbdba;
- select * from zbdba
- *
- ERROR at line 1:
- ORA-01578: ORACLE data block corrupted (file # 6, block # 191)
- ORA-01110: data file 6: '/opt/oracle/oradata/orcl11g/zbdba01.dbf'
常规坏块的处理方式:
1、event 10231
2、rowid抽取
3、DBMS_REPAIR
这里我用bbed修复该块:
- BBED> p kcbh
- struct kcbh, 20 bytes @0
- ub1 type_kcbh @0 0x06
- ub1 frmt_kcbh @1 0xa2
- ub1 spare1_kcbh @2 0x00
- ub1 spare2_kcbh @3 0x00
- ub4 rdba_kcbh @4 0x018000bf
- ub4 bas_kcbh @8 0x005036cd
- ub2 wrp_kcbh @12 0x0000
- ub1 seq_kcbh @14 0xff
- ub1 flg_kcbh @15 0x06 (KCBHFDLC, KCBHFCKV)
- ub2 chkval_kcbh @16 0x4293
- ub2 spare3_kcbh @18 0x0000
- BBED> p tailchk
- ub4 tailchk @8188 0x36cd0601
这里tailchk信息正确,无需改动
- BBED> modify /x 01 offset 14
- Warning: contents of previous BIFILE will be lost. Proceed? (Y/N) y
- File: /opt/oracle/oradata/orcl11g/zbdba01.dbf (6)
- Block: 191 Offsets: 14 to 525 Dba:0x018000bf
- ------------------------------------------------------------------------
- 01069342 00000100 00000d23 01009636 50000000 00000200 3200b800 80011300
- 02001800 0000e90b 80021100 38000220 0000cd36 50000000 00000000 00000000
- 00000000 00000000 00000000 00000000 00000000 00000001 0200ffff 1600851f
- 6f1f6f1f 00000200 8f1f851f 00000000 00000000 00000000 00000000 00000000
- 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
- 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
- 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
- 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
- 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
- 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
- 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
- 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
- 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
- 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
- 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
- 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
- <32 bytes per line>
- BBED> p kcbh
- struct kcbh, 20 bytes @0
- ub1 type_kcbh @0 0x06
- ub1 frmt_kcbh @1 0xa2
- ub1 spare1_kcbh @2 0x00
- ub1 spare2_kcbh @3 0x00
- ub4 rdba_kcbh @4 0x018000bf
- ub4 bas_kcbh @8 0x005036cd
- ub2 wrp_kcbh @12 0x0000
- ub1 seq_kcbh @14 0x01
- ub1 flg_kcbh @15 0x06 (KCBHFDLC, KCBHFCKV)
- ub2 chkval_kcbh @16 0x4293
- ub2 spare3_kcbh @18 0x0000
- BBED> sum apply
- Check value for File 6, Block 191:
- current = 0x426d, required = 0x426d
- BBED> verify
- DBVERIFY - Verification starting
- FILE = /opt/oracle/oradata/orcl11g/zbdba01.dbf
- BLOCK = 191
- DBVERIFY - Verification complete
- Total Blocks Examined : 1
- Total Blocks Processed (Data) : 1
- Total Blocks Failing (Data) : 0
- Total Blocks Processed (Index): 0
- Total Blocks Failing (Index): 0
- Total Blocks Empty : 0
- Total Blocks Marked Corrupt : 0
- Total Blocks Influx : 0
- Message 531 not found; product=RDBMS; facility=BBED
再次去数据库查询:
- ZBDBA@orcl11g>select * from zbdba;
- NAME
- ------------------------------------------------------------
- zbdba
- huihui
BBED标记坏块以及修复坏块的更多相关文章
- 使用 DBMS_REPAIR 修复坏块
对于Oracle数据块物理损坏的情形,在我们有备份的情况下可以直接使用备份来恢复.对于通过备份恢复,Oracel为我们提供了很多种方式,冷备,基于用户管理方式,RMAN方式等等.对于这几种方式我们需要 ...
- linux操作系统故障处理-ext4文件系统超级块损坏修复
linux操作系统故障处理-ext4文件系统超级块损坏修复 背景 前天外面出差大数据测试环境平台有7台服务器挂了,同事重启好了五台服务器,但是还有两台服务器启动不起来,第二天回来后我和同事再次去机 ...
- About 静态代码块,普通代码块,同步代码块,构造代码块和构造函数的纳闷
构造函数用于给对象进行初始化,是给与之对应的对象进行初始化,它具有针对性,函数中的一种.特点:1:该函数的名称和所在类的名称相同.2:不需要定义返回值类型.3:该函数没有具体的返回值.记住:所有对象创 ...
- Java的初始化块、静态初始化块、构造函数的执行顺序及用途探究
Java与C++有一个不同之处在于,Java不但有构造函数,还有一个”初始化块“(Initialization Block)的概念.下面探究一下它的执行顺序与可能的用途. 执行顺序 首先定义A, B, ...
- 10、代码块、构造代码块、静态代码块及main方法之间的关系
1.普通代码块: 在方法或语句中出现在{}之间的类容就称为普通代码块,简称代码块.普通代码块和一般的语句执行顺序由他们在代码中出现的次序决定--“先出现先执行”,即顺序执行. /*下面第一个类时合法的 ...
- Java中普通代码块,构造代码块,静态代码块区别及代码示例
//执行顺序:(优先级从高到低.)静态代码块>mian方法>构造代码块>构造方法. 其中静态代码块只执行一次.构造代码块在每次创建对象是都会执行. 1 普通代码块 1 //普通代码块 ...
- Java中普通代码块,构造代码块,静态代码块执行顺序
//执行顺序:(优先级从高到低.)静态代码块>mian方法>构造代码块>构造方法. 其中静态代码块只执行一次.构造代码块在每次创建对象是都会执行. 1 普通代码块 1 //普通代码块 ...
- Java提高篇——静态代码块、构造代码块、构造函数以及Java类初始化顺序
静态代码块:用staitc声明,jvm加载类时执行,仅执行一次构造代码块:类中直接用{}定义,每一次创建对象时执行.执行顺序优先级:静态块,main(),构造块,构造方法. 构造函数 public H ...
- 静态(static)代码块、构造代码块、构造函数、父类子类执行顺序
静态代码块:static修饰的代码块. 在类加载-初始化的时候进行,主要目的是给变量赋予初始值 构造代码块:直接在类中定义且没有加static关键字的代码块称为构造代码块. java会把构造代码块放到 ...
随机推荐
- 在Fedora8上安装使用ActiveMQ5.8
[ActiveMQ安装] ActiveMQ在win平台的安装简单,在Linux Fedora上安装也不难,解压就可以了.以下是我总结的步骤: 第一步,从以下地址下载apache-activemq-5. ...
- 算法笔记_196:历届试题 剪格子(Java)
目录 1 问题描述 2 解决方案 1 问题描述 问题描述 如下图所示,3 x 3 的格子中填写了一些整数. +--*--+--+|10* 1|52|+--****--+|20|30* 1|**** ...
- 算法笔记_182:历届试题 核桃的数量(Java)
目录 1 问题描述 2 解决方案 1 问题描述 问题描述 小张是软件项目经理,他带领3个开发组.工期紧,今天都在加班呢.为鼓舞士气,小张打算给每个组发一袋核桃(据传言能补脑).他的要求是: 1. ...
- 开源 免费 java CMS - FreeCMS1.9 移动APP管理 网站配置
项目地址:http://www.freeteam.cn/ 网站配置 管理员能够在这里设置当前管理网站是否同意移动app訪问,是否默认移动APP网站.首页的布局,首页数据最多载入页数. 从左側管理菜单点 ...
- js 取值&赋值-form表单
form表单元素介绍 CreateTime--2016年9月22日10:25:54 Author:Marydon <form> 表单元素. 表单中的元素: <input>表 ...
- js-知识集锦
CreateTime--2016年9月22日14:37:51Author:Marydonjs小知识点集锦1. JSON.stringify(Obj);//将Object对象转换成json格式的st ...
- exception PLS-00103: Encountered the symbol "(" when expecting one of the following:
exception PLS-00103: Encountered the symbol "(" when expecting one of the following: Cre ...
- 〖Linux〗clang3.4的编译与安装
1. 编译与安装clang3.4 sudo apt-get install -y g++ subversion cmake cd ~ mkdir Clang && cd Clang s ...
- 如何让history命令显示最近所执行过的命令的具体执行时间
如何让history命令显示最近所执行过的命令的具体执行时间. 步骤如下: 1.以ROOT用户编辑/etc/profile文件,在里面加入下面内容(我一般习惯在最末尾加): export HISTTI ...
- Intellij IDEA 快捷键整理(dyCopy)
原文:http://www.cnblogs.com/tonycody/p/3257601.html [常规] Ctrl+Shift + Enter,语句完成 “!”,否定完成,输入表达式时按 “! ...