
bbed
文章平均质量分 55
P10ZHUO
这个作者很懒,什么都没留下…
展开
-
plsql抽取坏块以外的数据
plsql抽取坏块以外的数据表上存在非空索引-- 使用索引获取ROWID不存在非空索引--dbms_rowid.ROWID_CREATE来构造ROWID上篇写了,如果段头块出现坏块,我们抽取数据的方法,这都是比较极端的情况了。如果坏块出现在普通的data block上面,而我们使用跳过坏块的方法不生效。坏块以外的数据是不是就要丢失哪?那我们有什么方法处理哪?很多人想到的是使用bbed,dul等工具来抢救,其实在很多时候我们使用pl/sql也可以完美的抢救数据.在这里我们通过模拟错误,然后使用plsql来原创 2020-12-08 11:19:44 · 375 阅读 · 0 评论 -
segment header损坏如何修复
segment header损坏如何修复测试环境准备修复存在非空索引-- 使用索引获取ROWID不存在非空索引--dbms_rowid.ROWID_CREATE来构造ROWID段头损坏,dbms_repair包,dbms_rowid,以及event 10231 都是没有作用的(存在非空索引的情况除外)。但是基于rowid的操作方式可以的。 关于这点,oracle mos文档中也有提及.This article describe a procedure that can be used to skip原创 2020-12-08 09:59:05 · 722 阅读 · 0 评论 -
使用dbms_rowid抢救数据
使用dbms_rowid抢救数据测试环境准备原理rowiddbms_rowid使用rowid来抢救数据(实际也是跳过坏块)event 10231跳过原理段头损坏不能使用dbms_rowid抢救数据通过DBMS_REPAIR包或设置10231事件,抢救坏块之外数据的方法,相比即将介绍的ROWID扫描方法,更为简洁。但上述方法只适合于出现ORA-1578的情况,而且根据经验,该方法经常不能有效进行数据抢救。因此,下面我们将详细介绍ROWID扫描方法。测试环境准备原理rowid在oracle数据库中原创 2020-12-07 10:42:59 · 317 阅读 · 0 评论 -
各种坏块对表select/dml操作影响
各种坏块对表select/dml操作影响测试环境准备测试block测试block 1408--L1 bitmap(extent 0)测试block 1409--L2 bitmap(extent 0)测试block 1410--segment header(extent 0)上一篇写的是table中各种类型block坏块是否能被跳过,本篇关于table如果出现坏块,对select/dml操作影响。接上个测似表的数据,来进行测试测试环境准备SQL> select SEGMENT_NAME,HEADE原创 2020-12-04 15:54:30 · 171 阅读 · 0 评论 -
oracle坏块跳过限制
oracle坏块跳过限制测试环境准备验证block类型table中各种类型block坏块是否能被跳过在table遇到的各种坏块中,大部分情况,我们都可以通过设置event 10231或者dbms_repair来跳过坏块,抢救其他数据;但是在部分情况下,我们设置了他们依然不能跳过坏块,数据库依然报ORA-01578,本文测试了table中各种类型的block,证明在哪些block出现异常之后不能被跳过.如果是事务数据块出现坏块可以通过dbms_repair.skip_corrupt_blocks来标记坏原创 2020-12-04 15:32:49 · 1057 阅读 · 0 评论 -
坏块检测
坏块检测坏块的类型物理坏块逻辑坏块坏块的模拟物理坏块模拟逻辑坏块模拟坏块的检测物理坏块检测逻辑坏块检测坏块的类型数据库坏块是指由于硬件错误等问题导致数据库在写入数据块时出现异常(nologing也可能导致).通常,我们将坏块分为2类,物理坏块和逻辑坏块。坏块的类型物理坏块物理坏块:通常是由于硬件损坏如磁盘异常导致、内存有问题、存储链路有问题、 IO 有问题、文件系统有问题、 Oracle 本身的问题等逻辑坏块:可能都是软件问题导致通常是由于oracle bug 导致,比如data block原创 2020-12-04 12:33:05 · 1291 阅读 · 0 评论 -
不属于任何段的坏块导致rman备份报错
不属于任何段的坏块导致rman备份报错 故障模拟原因解决方案bbed copyallocate extentresize参考上篇博客刚说完数据文件中有坏块,会影响rman的备份,导致备份失败。今天就遇到了生产环境由于坏块导致rman备份失败,已经有20几天没有备份完成了。唯一不同的是,这些坏块的位置,经查询,不属于任何对象,也就是格式化了,但未使用的块上面。下面就模拟这一报错,及响应的解决方案。故障模拟1、此块不属于任何对象;2、此块必须是格式化未使用的坏块,如果是未格式化(从未使用过的空块)的坏块原创 2020-11-12 17:38:20 · 639 阅读 · 0 评论 -
ORA-19566 maxcorrupt参数详解
ORA-19566 maxcorrupt参数详解问题现象参数解释实验验证问题现象RMAN> backup datafile 5 format ‘/home/oracle/zhuo.bak’;Starting backup at 02-NOV-20using target database control file instead of recovery catalogallocated channel: ORA_DISK_1channel ORA_DISK_1: SID=33 device原创 2020-11-02 16:05:57 · 1134 阅读 · 0 评论 -
oracle坏块修复
oracle坏块修复坏块模拟问题现象表坏块修复处理原则blockrecoverevent 10231,跳过坏块dbms_rowid 跳过坏块DBMS_REPAIR标记坏块,跳过坏块索引坏块修复坏块模拟SQL> select SEGMENT_NAME,EXTENT_ID,FILE_ID,BLOCK_ID,BLOCKS from dba_extents where SEGMENT_NAME='TEST';SQL> set pages 1000 lines 1000SEGMENT_NAME原创 2020-11-02 10:49:47 · 1088 阅读 · 0 评论