知识大全 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
虽然BBED工具的使用存在很多风险 但是如果利用得当 可以以之解决很多棘手的问题
本文简单介绍一下如何用BBED模拟坏块 以练习坏块修复等技术 此前我曾经介绍过另外一种方法 请参考:Oracle中模拟及修复数据块损坏
创建测试表
[oracle@jumper conner]$ sqlplus / as sysdba
SQL*Plus: Release
Copyright (c) Oracle Corporation All rights reserved
Connected to:
Oracle i
With the Partitioning option
JServer Release
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
Copyright (c) Oracle Corporation All rights reserved
************* !!! For Oracle Internal Use only !!! ***************
BBED> set file
FILE#
BBED> show
FILE#
BLOCK#
OFFSET
DBA x
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
File: /opt/oracle/oradata/conner/users dbf ( )
Block: Offsets: to Dba: x
< 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
e
c ff
ffffffff
e
ff
ffffff
e
< bytes per line>
检查数据块损坏
使用verify命令 可以发现刚才修改的file block 已经被标记为损坏
BBED> verify
DBVERIFY Verification
FILE = /opt/oracle/oradata/conner/users dbf
BLOCK =
Block is corrupt
***
Corrupt block relative dba: x
Bad check value found during verification
Data in bad block
type: format: rdba: x
last change scn: 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
Copyright (c) Oracle Corporation All rights reserved
DBVERIFY Verification
Page is marked corrupt
***
Corrupt block relative dba: x
Bad check value found during dbv:
Data in bad block
type: format: rdba: x
last change scn: 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>
ORACLE instance
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>
相关参考
Oracle索引的内部结构 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Oracle使用平衡树
Oracle恢复内部原理 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 简介 Or
知识大全 用Oracle导入导出工具实现Oracle数据库移植
用Oracle导入导出工具实现Oracle数据库移植 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
新手上路:Oracle基础工具简介 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 应用开发(Ap
重要提示 调整的工作前一定要对数据进行备份切记 基本概念 oracle系统内部给出一个叫作表空间的逻辑磁盘空间早期的系统主要用于存放表的数据所以叫作表空间表空间是一个逻辑空间每个空间至少与一
Oracle系统实用工具介绍 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 应用开发(Appli
Oracle笔记-优化策略与工具 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 第章优化策略与工
手工安装Oracle全文检索工具 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!在OracleiRl
Oracle诊断工具-RDA使用概述 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! RDA是Re
Oracle发布免费开发工具Raptor 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Orac