自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 Oracle特殊恢复原理与实战_11 ORA-8102 Index Corruption修复

这种管理方式就是使用“位图bitmap”管理数据块的分配和回收,1为占用块不可分配,0为空闲块可分配,由于计算机就是由二进制编码的,所以操作二进制代码是非常快捷的。这种管理方式就是使用freelist管理数据块的分配和回收,是一种只针对数据块分配的管理方式,这种方式可以让DBA有更大的空间管理余地,更大自由发挥空间,在早期的Oracle上都是通过这种方式管理块分配的。非唯一索引的叶子节点每行len=12,ROWID值在col 1;# 上面这两个值相等的时候,是正常的,创建新索引时,会分别更新上面的两个值。

2023-03-25 15:21:13 267

原创 Oracle特殊恢复原理与实战_10 恢复ora-600[4193][4194]的错误

数据库在启动时需要进行一个前滚的操作,在前滚时会应用redo 到undo block上,操作时会检查undo record里的seq#和redo record里的seq#。正常情况下,这2者的seq# 应该是一致的,在一致的情况下,我们才应用redo record 到undo record。其中a是undo里的seq#记录,b是redo里的seq#值。其错误argument[a][b],a代表回滚块中的最大undo record number,b代表重做日志中记录的undo record number。

2023-03-25 15:18:23 450

原创 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 295

原创 Oracle特殊恢复原理与实战_08 Redo Architecture and Configuration

--------------------------------------------------------> Undo block 把数据修改前值放到UNDO。# ----------------------------------------------------------->插入AAAAA。# ----------------------------------------------------------->插入BBBBB。

2023-03-25 15:16:00 446

原创 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 989

原创 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

原创 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

原创 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 481

原创 Oracle特殊恢复原理与实战_02 Control file丢失的恢复

结合上面获得的信息,构建创建controlfile的脚本恢复控制文件,根据REDO LOG日志是否有丢失,有以下两种。# 跳过一段以后才输出,是在备份时对of后面的部分也就是目标文件跳过多少块再开始写。# 为方便后续测试,先生成一个创建控制文件的脚本(也可以不生成,创建脚本可以oracle官方文档中找到)最快的恢复方式恢复控制文件,就是用第二个控制文件来恢复第一个。# 控制文件创建成功后,数据库打开到mount状态下。# 丢失控制文件后,数据库仍能正常进行相关操作。

2023-03-25 11:55:04 361

原创 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

原创 按SQLID一键获取执行计划索引分区等信息的脚本

中,在sqlplus中执行,相关信息会自动生成html文件。按SQLID一键获取执行计划索引分区等信息的脚本。

2023-03-25 11:39:40 170

原创 诊断:一键获取数据库整体信息脚本

中,在sqlplus中执行,相关信息会自动生成5个文件,其中addm是最近一小时文件,ash是最近半小时文件,而awr文件是最近一小时和最近7天的两个文件。一键获取数据库整体信息脚本。

2023-03-25 11:19:35 103

原创 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 320

原创 GAP修复

GAP定义及产生原理:Gap英文单词的意思就是缝隙的意思,dataguard中出现gap的原理是:源端传递一个archivelog到目标端之后会在目标数据库进行注册,当中间某个archivelog归档到目标端失败或者没有成功注册且后续的archivelog成功归档的话目标端在恢复过程中就会将中间的sequence定义为gap。在使用RMAN恢复备库的控制文件之前,需要将原来的控制文件进行手工的冷备并且记录下原来的控制文件中记录的数据文件的名称。

2023-03-24 21:57:20 180

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除