oracle数据库校验码
来源:互联网 发布:vb对象的属性是指 编辑:程序博客网 时间:2024/06/10 12:47
查看数据块的校验码(注意:我的机器的endian format为little)
数据块头尾校验值组成是:
数据块的 SEQ(offset 14 开始的 1个字节)+ 数据库类型(offset 0开始的 1个字节)+
最低 SCN_BASE(注意:如果操作系统的endian format 为 little,则从offset 8开始的2个字节,
如果endian format 为 big,则从offset 10 开始的2个字节)组成
下面我们一一查看各个值
数据块头尾校验值 = 数据库SEQ值 + 数据块类型 + 最低SCN_BASE
01063a04 = 01 +06 + 3a04
注意:如果出现坏块,则:
数据块头尾校验值 != 数据库SEQ值 + 数据块类型 + 最低SCN_BASE
因此,可以使用bbed修改 数据块头尾校验值 让他和 (数据库SEQ值 + 数据块类型 + 最低SCN_BASE)值一样
(提醒:慎用bbed)
校验码的位置在数据块的 第 16、17两个字节
BBED> set dba 1, 42 DBA 0x0040002a (4194346 1,42)BBED> set offset 16 count 2 OFFSET 16 COUNT 2BBED> dump File: /u01/app/oracle/oradata/normal/system01.dbf (1) Block: 42 Offsets: 16 to 17 Dba:0x0040002a------------------------------------------------------------------------ bdef--这就是校验码的值(check sum)——需要倒过来 bdef -> efbdBBED> sum applyCheck value for File 1, Block 42:current = 0xefbd, required = 0xefbd--这里的值就是上面dump出来的值数据块头尾校验,其校验值存放在数据块的 8818字节中,占4个字节。
数据块头尾校验值组成是:
数据块的 SEQ(offset 14 开始的 1个字节)+ 数据库类型(offset 0开始的 1个字节)+
最低 SCN_BASE(注意:如果操作系统的endian format 为 little,则从offset 8开始的2个字节,
如果endian format 为 big,则从offset 10 开始的2个字节)组成
下面我们一一查看各个值
--数据库SEQ值BBED> dump offset 14 count 1 File: /u01/app/oracle/oradata/normal/system01.dbf (1) Block: 42 Offsets: 14 to 14 Dba:0x0040002a------------------------------------------------------------------------ 01 --数据块类型BBED> dump offset 0 count 1 File: /u01/app/oracle/oradata/normal/system01.dbf (1) Block: 42 Offsets: 0 to 0 Dba:0x0040002a------------------------------------------------------------------------ 06 --最低SCN_BASEBBED> dump offset 8 count 2 File: /u01/app/oracle/oradata/normal/system01.dbf (1) Block: 42 Offsets: 8 to 9 Dba:0x0040002a------------------------------------------------------------------------ 3a04 --数据块头尾校验值BBED> dump offset 8188 count 4 File: /u01/app/oracle/oradata/normal/system01.dbf (1) Block: 42 Offsets: 8188 to 8191 Dba:0x0040002a------------------------------------------------------------------------ 01063a04上面验证了
数据块头尾校验值 = 数据库SEQ值 + 数据块类型 + 最低SCN_BASE
01063a04 = 01 +06 + 3a04
注意:如果出现坏块,则:
数据块头尾校验值 != 数据库SEQ值 + 数据块类型 + 最低SCN_BASE
因此,可以使用bbed修改 数据块头尾校验值 让他和 (数据库SEQ值 + 数据块类型 + 最低SCN_BASE)值一样
(提醒:慎用bbed)
0 0
- oracle数据库校验码
- 校验码
- 校验码
- 校验码
- 校验码
- 校验码
- 校验码
- 校验码
- 校验码
- 校验码
- 【校验码】数据校验码
- 校验码之奇偶校验码
- 彩色校验码
- 校验码类
- 校验码图片
- 生成校验码
- 校验码知识
- CRC校验码
- ios 缺少类库报错
- 继承自NumberPicker的数字输入类
- IE6不兼问题之Internet Explorer 无法打开 internet站点
- 维维龙湖湾业主交流群
- jar包下载地址
- oracle数据库校验码
- Android开发之Shortcuts, LiveFolder, Widget
- C语言文件操作函数解析
- 抛物线动画
- 【leetcode刷题】栈的方式先序二叉树
- IUNI U3 新时代的手机皇
- eclipse工程中.classpath文件的含义
- UTF-8与Unicode编码及其相互转换
- eoe android客户端源码剖析(二)侧滑菜单SlidingMenu