知识大全 Oracle的一个内部工具blockcorruption

Posted 工具

篇首语:一箫一剑平生意,负尽狂名十五年。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Oracle的一个内部工具blockcorruption相关的知识,希望对你有一定的参考价值。

Oracle的一个内部工具blockcorruption  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  有人在Google新闻组上提出了一个问题:How can I get the BBED password? 继而引发了一场很有意思的讨论

    

  后来Pete Finnigan也在他的Blog写了一篇文章 An interesting thread on Oracle l about BBED 描述这次有意思的探讨

    

  在讨论中 有一个有趣的观点提到 如果这个工具被广泛传播 那么可能有些人不是用BBED来修复数据 意外的破坏可能更为多见 最终的后果可能是Oracle彻底把这个工具移除

    

  BBED是Block Browser/Editor的缩写 是Oracle的一个内部工具 不对外发布文档及支持

    

  BBED随软件发布 但是我们需要进行简单的relink才能使用 relink请参考:How to pile Oracle g BBED tools

    

  虽然BBED工具的使用存在很多风险 但是如果利用得当 可以以之解决很多棘手的问题

    

  本文简单介绍一下如何用BBED模拟坏块 以练习坏块修复等技术 此前我曾经介绍过另外一种方法 请参考:Oracle中模拟及修复数据块损坏

    

   创建测试表

    

  [oracle@jumper conner]$ sqlplus / as sysdba

    

  SQL*Plus: Release Production on Sun Sep : :

    

  Copyright (c) Oracle Corporation   All rights reserved

    

  Connected to:

  Oracle i Enterprise Edition Release Production

  With the Partitioning option

  JServer Release Production

    

  SQL> create table bbed tablespace users as select * from dba_tables;

    

  Table created

    

  SQL> select count(*) from bbed;

    

  COUNT(*)

  

  

    

  SQL> col segment_name for a

  SQL> select segment_name file_id block_id from dba_extents where segment_name= BBED ;

    

  SEGMENT_NA    FILE_ID   BLOCK_ID

  

  BBED                         

  BBED                        

  BBED                        

    

  SQL> select count(*) from bbed;

    

  COUNT(*)

  

  

    

   创建BBED参数文件等

    

  [oracle@jumper conner]$ more filelist txt

   /opt/oracle/oradata/conner/system dbf  

   /opt/oracle/oradata/conner/undotbs dbf 

   /opt/oracle/oradata/conner/users dbf    

  [oracle@jumper conner]$ more par bbd

  blocksize=

  listfile=filelist txt

  mode=edit

    

   使用BBED

    

  [oracle@jumper conner]$ bbed parfile=par bbd

  Password:

    

  BBED: Release Limited Production on Sun Sep : :

    

  Copyright (c) Oracle Corporation   All rights reserved

    

  ************* !!! For Oracle Internal Use only !!! ***************

    

  BBED> set file

  FILE#          

    

  BBED> show

  FILE#          

  BLOCK#         

  OFFSET         

  DBA              x c ( )

  FILENAME        /opt/oracle/oradata/conner/users dbf

  BIFILE          bifile bbd

  LISTFILE        filelist txt

  BLOCKSIZE      

  MODE            Edit

  EDIT            Unrecoverable

  IBASE           Dec

  OBASE           Dec

  WIDTH          

  COUNT          

  LOGFILE         log bbd

  SPOOL           No

    

   回滚误操作

    

  如果操作中发生误操作 可以使用revert命令回滚

    

  BBED> modify /x x c

  File: /opt/oracle/oradata/conner/users dbf ( )

  Block:                 Offsets: to            Dba: x c

  

   c

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

    

  < bytes per line>

    

  BBED> revert

  All changes made in this session will be rolled back Proceed? (Y/N) Y

  Reverted file /opt/oracle/oradata/conner/users dbf block

  Warning: contents of previous BIFILE will be lost Proceed? (Y/N) Y

    

   改写数据块

    

  模拟坏块

    

  BBED> modify file block

  File: /opt/oracle/oradata/conner/users dbf ( )

  Block:                Offsets: to            Dba: x c

  

   e

  

  

   c f c f f e f c

   f f c d e d ffff c b c c c

  c ff c c eff c c e ffffffff

  ffffffff a a e

   e c ffff e fff e e e f c

   c e f e f ff c e fff

   c c c f c f f

   f e c dff ff c b c c c c

   ff c c eff c c eff ffffffff

  ffffff a a e

   e c ff ff e f ff e e e f c

   c e f e fff c e f ff c

   c c f c c f f

    

  < bytes per line>

    

   检查数据块损坏

    

  使用verify命令 可以发现刚才修改的file block 已经被标记为损坏

    

  BBED> verify

  DBVERIFY Verification starting

  FILE = /opt/oracle/oradata/conner/users dbf

  BLOCK =

    

  Block is corrupt

  ***

  Corrupt block relative dba: x c (file block )

  Bad check value found during verification

  Data in bad block

  type: format: rdba: x c

  last change scn: x a b seq: x flg: x

  consistency value in tail: xb

  check value in block header: x puted block checksum: xe

  spare : x spare : x spare : x

  ***

    

  DBVERIFY Verification plete

    

  Total Blocks Examined         :

  Total Blocks Processed (Data) :

  Total Blocks Failing   (Data) :

  Total Blocks Processed (Index):

  Total Blocks Failing   (Index):

  Total Blocks Empty            :

  Total Blocks Marked Corrupt   :

  Total Blocks Influx           :

    

  BBED> quit

    

   使用DBV检查

    

  [oracle@jumper conner]$ dbv file=users dbf blocksize=

    

  DBVERIFY: Release Production on Sun Sep : :

    

  Copyright (c) Oracle Corporation   All rights reserved

    

  DBVERIFY Verification starting : FILE = users dbf

  Page is marked corrupt

  ***

  Corrupt block relative dba: x c (file block )

  Bad check value found during dbv:

  Data in bad block

  type: format: rdba: x c

  last change scn: x a b seq: x flg: x

  consistency value in tail: xb

  check value in block header: x puted block checksum: xe

  spare : x spare : x spare : x

  ***

    

  DBVERIFY Verification plete

    

  Total Pages Examined         :

  Total Pages Processed (Data) :

  Total Pages Failing   (Data) :

  Total Pages Processed (Index):

  Total Pages Failing   (Index):

  Total Pages Processed (Other):

  Total Pages Processed (Seg)  :

  Total Pages Failing   (Seg)  :

  Total Pages Empty            :

  Total Pages Marked Corrupt   :

  Total Pages Influx           :

    

   全表扫描此时出现ORA 错误

    

  重新启动数据库以后 执行全表扫描 此时错误出现:

    

  SQL> startup force;

  ORACLE instance started

    

  Total System Global Area  bytes

  Fixed Size                   bytes

  Variable Size              bytes

  Database Buffers           bytes

  Redo Buffers                 bytes

  Database mounted

  Database opened

  SQL> select count(*) from bbed;

  select count(*) from bbed

  *

  ERROR at line :

  ORA : ORACLE data block corrupted (file # block # )

  ORA : data file : /opt/oracle/oradata/conner/users dbf

    

  SQL>

    

cha138/Article/program/Oracle/201311/18727

相关参考

知识大全 Oracle索引的内部结构

Oracle索引的内部结构  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Oracle使用平衡树

知识大全 Oracle恢复内部原理

Oracle恢复内部原理  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!   简介  Or

知识大全 用Oracle导入导出工具实现Oracle数据库移植

用Oracle导入导出工具实现Oracle数据库移植  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

知识大全 Oracle基础工具简介

新手上路:Oracle基础工具简介  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  应用开发(Ap

知识大全 修改oracle的数据文件

  重要提示  调整的工作前一定要对数据进行备份切记  基本概念  oracle系统内部给出一个叫作表空间的逻辑磁盘空间早期的系统主要用于存放表的数据所以叫作表空间表空间是一个逻辑空间每个空间至少与一

知识大全 Oracle系统实用工具介绍

Oracle系统实用工具介绍  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  应用开发(Appli

知识大全 Oracle笔记-优化策略与工具

Oracle笔记-优化策略与工具  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  第章优化策略与工

知识大全 手工安装Oracle全文检索工具

手工安装Oracle全文检索工具  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!在OracleiRl

知识大全 Oracle诊断工具-RDA使用概述

Oracle诊断工具-RDA使用概述  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  RDA是Re

知识大全 Oracle发布免费开发工具Raptor

Oracle发布免费开发工具Raptor  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Orac