bbed
文章平均质量分 91
特殊恢复
阿辉90
每天进步一点点
展开
-
Oracle特殊恢复原理与实战_11 ORA-8102 Index Corruption修复
这种管理方式就是使用“位图bitmap”管理数据块的分配和回收,1为占用块不可分配,0为空闲块可分配,由于计算机就是由二进制编码的,所以操作二进制代码是非常快捷的。这种管理方式就是使用freelist管理数据块的分配和回收,是一种只针对数据块分配的管理方式,这种方式可以让DBA有更大的空间管理余地,更大自由发挥空间,在早期的Oracle上都是通过这种方式管理块分配的。非唯一索引的叶子节点每行len=12,ROWID值在col 1;# 上面这两个值相等的时候,是正常的,创建新索引时,会分别更新上面的两个值。原创 2023-03-25 15:21:13 · 267 阅读 · 0 评论 -
Oracle特殊恢复原理与实战_09 Undo深入内部解析
ORACLE一致性读,查询的结果是发起时间(SCN)那一刻的结果集。41 41 41 41 41 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 # AAAAA print :x 就打印这个值。# uba: 0x00c00be4.0172.11 ==> 3号文件3044号块 第11记录 # 3。# Uba: 0x00c00872.00f1.13 ==> 3号文件2162号块 第13记录 # 1。原创 2023-03-25 15:17:42 · 296 阅读 · 0 评论 -
Oracle特殊恢复原理与实战_08 Redo Architecture and Configuration
--------------------------------------------------------> Undo block 把数据修改前值放到UNDO。# ----------------------------------------------------------->插入AAAAA。# ----------------------------------------------------------->插入BBBBB。原创 2023-03-25 15:16:00 · 447 阅读 · 0 评论 -
Oracle特殊恢复原理与实战_07 归档模式下缺失Redo Log后的恢复
ORA-00312: online log 2 thread 1: '/u01/app/oracle/oradata/orcl/redo02.log' # 提示打开 log group 2 失败。OP:11.19-update修改的值 TYP:2-类型2是普通文件 CLS:1-数据类型 AFN:9-绝对文件号 DBA:0x02400e87-数据文件地址 OBJ:94895-对象编号。OP:5.1-update修改前的值 AFN:3-绝对文件号(这个文件对应的是undo file)原创 2023-03-25 15:12:50 · 990 阅读 · 0 评论 -
Oracle特殊恢复原理与实战_06 使用BBED手工修复block数据
那么SCN这个48位长的整数,最大就是2^48(2的48次方, 281万亿,281474976710656),很大的一个数字了。0x01 0x0002.019.00000a13 0x00c011b6.034d.14 ---- 1 fsc 0x0000.00000000 # 第一个事务槽,flag:---- 代表没有提交。tosp=8066 fsc=0 stb=2 avsp=8066 # 这里提示stb=2,那说明这个avsp 实际上应该是8066+2=8068才对。原创 2023-03-25 12:11:15 · 499 阅读 · 0 评论 -
Oracle特殊恢复原理与实战_05 使用BBED跳过归档的恢复
archivelog模式下,当数据文件offline时,其对应的数据文件头stop scn会更新,同时controlfile中该datafile的stop scn信息也会更新,此时也会更新offline scn,并且offline scn等于stop scn。通过Data File Header Dump,可以从dump出的trace文件看到检查点最核心的结构,# 归档序列48、49已丢失,从50开始恢复。对6号文件进行恢复时因归档丢失报错。# 把上面的值更新到6号文件头。# 删除48、49号归档。原创 2023-03-25 11:59:55 · 158 阅读 · 0 评论 -
Oracle特殊恢复原理与实战_04 SYSTEM文件头损坏的恢复
ub4 rdba_kcbh @4 0x00800001 # 要修改,0x00800001代表2号文件1号块,这个要改成0x00400001(01004000)# 说明:ORACLE 数据库是从1988/01/01 00:00:00 开始记录SCN,也就是说我们的数据库的使用最早时间只能是从1988 年元旦凌晨开始,# 如果1号文件的520号块损坏,可以找一个同版本数据库system文件,用它520号块进行覆盖即可。原创 2023-03-25 11:57:56 · 486 阅读 · 0 评论 -
Oracle特殊恢复原理与实战_03 Control file深入内部解析
low cache rba:(0x36.42a6.0) on disk rba:(0x36.42d3.0) # 实例恢复时,启动数据库从low cache rba,到on disk rba结束。low cache rba:(0x36.4da4.0) on disk rba:(0x36.4dbd.0) # 从(0x36.4da4.0) 开始恢复到(0x36.4dbd.0)结束。如何把5号文件的文件头offset=1的值a2变为c2(写出详细操作步骤,切不能用BBED修改)(给出详细操作步骤)原创 2023-03-25 11:53:43 · 159 阅读 · 0 评论 -
Oracle特殊恢复原理与实战_02 Control file丢失的恢复
结合上面获得的信息,构建创建controlfile的脚本恢复控制文件,根据REDO LOG日志是否有丢失,有以下两种。# 跳过一段以后才输出,是在备份时对of后面的部分也就是目标文件跳过多少块再开始写。# 为方便后续测试,先生成一个创建控制文件的脚本(也可以不生成,创建脚本可以oracle官方文档中找到)最快的恢复方式恢复控制文件,就是用第二个控制文件来恢复第一个。# 控制文件创建成功后,数据库打开到mount状态下。# 丢失控制文件后,数据库仍能正常进行相关操作。原创 2023-03-25 11:55:04 · 361 阅读 · 0 评论 -
Oracle特殊恢复原理与实战_01 Oracle特殊恢复入门
RBA(Redo Block Address),由三部分组成,80-日志序列号,20-日志第几个block,16-在这个块上的第几个字节。# 查看十六进制内容的同时以文本方式“翻译”十六进制显示的内容,相当于对当前block执行strings命令。# kcvfhcpc(检查点的计数器)的值要大于kcvfhccc(检查点的控制文件备份的计数器)# 计算修改后的数据块的checksum值,然后写入数据块的offset为16-17的位置。# 修改指定block,指定offset的数据块块内记录的内容。原创 2023-03-24 22:08:59 · 321 阅读 · 0 评论