oracle数据坏块检测

1.使用dbv检查

D:\oradata\eygle>dbv file=EYGLE.DBF blocksize=8192

DBVERIFY: Release 10.1.0.4.0 - Production on 星期六 6月 11 17:36:37 2005

Copyright (c) 1982, 2004, Oracle.  All rights reserved.

DBVERIFY - 开始验证: FILE = EYGLE.DBF

页 219 标记为损坏

Corrupt block relative dba: 0x010000db (file 4, block 219)

Bad check value found during dbv:

Data in bad block:

type: 6 format: 2 rdba: 0x010000db

last change scn: 0x0000.0005ee6d seq: 0x2 flg: 0x04

spare1: 0x0 spare2: 0x0 spare3: 0x0

consistency value in tail: 0xee6d0602

check value in block header: 0x9779

computed block checksum: 0x6141

页 1258 标记为损坏

Corrupt block relative dba: 0x010004ea (file 4, block 1258)

Bad check value found during dbv:

Data in bad block:

type: 6 format: 2 rdba: 0x010004ea

last change scn: 0x0000.00042681 seq: 0x2 flg: 0x06

spare1: 0x0 spare2: 0x0 spare3: 0x0

consistency value in tail: 0x26810602

check value in block header: 0x660b

computed block checksum: 0x9317

DBVERIFY - 验证完成

检查的页总数: 1280

处理的页总数 (数据): 150

失败的页总数 (数据): 0

处理的页总数 (索引): 127

失败的页总数 (索引): 0

处理的页总数 (其它): 1001

处理的总页数 (段)  : 0

失败的总页数 (段)  : 0

空的页总数: 0

标记为损坏的总页数: 2

流入的页总数: 0

Highest block SCN            : 428223 (0.428223)

2.使用RMAN检查坏块

D:\oradata\eygle>rman target /

恢复管理器: 版本9.2.0.6.0 - Production

Copyright (c) 1995, 2002, Oracle Corporation.  All rights reserved.

连接到目标数据库: EYGLE (DBID=1365961916)

RMAN> backup validate datafile 4;

启动 backup 于 11-6月 -05

正在使用目标数据库控制文件替代恢复目录

分配的通道: ORA_DISK_1

通道 ORA_DISK_1: sid=17 devtype=DISK

通道 ORA_DISK_1: 正在启动 full 数据文件备份集

通道 ORA_DISK_1: 正在指定备份集中的数据文件

输入数据文件 fno=00004 name=D:\ORADATA\EYGLE\EYGLE.DBF

通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:03

完成 backup 于 11-6月 -05

RMAN>

SQL> select * from v$database_block_corruption;

FILE#     BLOCK#     BLOCKS CORRUPTION_CHANGE# CORRUPTIO

---------- ---------- ---------- ------------------ ---------

4        219          1                  0 FRACTURED

4       1258          1                  0 FRACTURED

时间: 2024-10-10 23:44:00

oracle数据坏块检测的相关文章

使用BBED模拟Oracle数据库坏块

BBED(OracleBlockBrowerandEDitor Tool),用来直接查看和修改数据文件数据的一个工具,是Oracle一款内部工具,可以直接修改Oracle数据文件块的内容,在一些极端恢复场景下比较有用.该工具不受Oracle支持,所以默认是没有生成可执行文件的,在使用前需要重新连接. 1.安装BBED [[email protected] lib]$ pwd /u02/app/product/10.2.0/db_1/rdbms/lib [[email protected] lib

12 oracle 数据库坏块--物理坏块-ORA-01578/ORA-01110

oracle 数据库坏块--物理坏块 数据坏块的类型物理坏块:通常是由于硬件损坏如磁盘异常导致.内存有问题.存储链有问题. IO有问题.文件系统有问题. Oracle本身的问题等逻辑坏块:可能都是软件问题导致通常是由于oracle bug导致,比如data block和index block数据不一致第三方软件或者硬件造成的物理损坏物理数据坏块的场景常见的物理坏块(Physical Block Corruptions)有块头和块尾信息不一致(Fractured/Incomplete),check

对Oracle数据库坏块的理解

1.物理坏块和逻辑坏块 在数据库中有一个概念叫做数据块的一致性,Oracle的数据块的一致性包括了两个层次:物理一致性和逻辑一致性,如果一个数据块在这两个层次上存在不一致性,那就对应到了我们今天要要说的物理坏块和逻辑坏块. 在每一个数据块的头部有一个校验和字段,每当数据块要被写回磁盘前,Oracle都会重新计算 这个数据块的校验和,并记录到这个字段最终写会磁盘.下次数据块被读入内存,Oracle会重新 计算数据块的校验和,并和块头的字段相比较,如果有差异,Oracle就知道这个数据块有错误, 会

Oracle 处理坏块

本文主要介绍如何去处理在Oracle数据库中出现坏块的问题,对于坏块产生在不同的对象上,处理的方法会有所不同,本文将大致对这些方法做一些介绍.因为数据库运行时间长了,由于硬件设备的老化,出现坏块的几率会越来越大,因此,做为一个DBA,怎么去解决数据库出现的坏块问题就成了一个重要的议题了. 什么是数据库的坏块首先我们来大概看一下数据库块的格式和结构 数据库的数据块有固定的格式和结构,分三层:cache layer,transaction layer,data layer.在我们对数据块进行读取写入

Oracle数据库坏块的恢复

模拟数据块坏块: 对于发生数据块不一致的数据块,如果当前数据库有备份且处于归档模式,那么就可以利用rman工具数据块恢复功能 对数据块进行恢复,这种方法最简单有效,而且可以在数据文件在线时进行,不会发生数据丢失.对于被有备份的数据库 发生数据块损坏,可能会发生数据的丢失或数据不丢失,这要根据发生坏块的所在的对象决定的,如索引块发生损坏,数据 就不会丢失,重建索引就可以了,发生数据丢失的多发生在表或分区表数据块上. 1.不丢数据的恢复方法 ---使用rman工具的 blockrecover blo

centos下smartctl安装配置(硬盘S.M.A.R.T信息及坏块检测命令)

centos下smartctl安装配置 一.什么是S.M.A.R.T. SMART是一种磁盘自我分析检测技术,早在90年代末就基本得到了普及 每一块硬盘(包括IDE.SCSI)在运行的时候,都会将自身的若干参数记录下来 这些参数包括型号.容量.温度.密度.扇区.寻道时间.传输.误码率等 硬盘运行了几千小时后,很多内在的物理参数都会发生变化 某一参数超过报警阈值,则说明硬盘接近损坏 此时硬盘依然在工作,如果用户不理睬这个报警继续使用 那么硬盘将变得非常不可靠,随时可能故障. 二.安装 yum in

恢复数据块坏块

2014.7.22研究恢复数据库坏块: Oracle调用标准C的系统函数,对数据块进行读写操作,因此,坏块是有可能由以下几种原因产生: 硬件的I/O错误 操作系统的I/O错误或缓冲问题 内存或paging问题 磁盘修复工具 一个数据文件的一部分正在被覆盖 Oracle试图访问一个未被格式化的系统块失败 数据文件部分溢出 Oracle或者操作系统的bug 遇到"ORA-01578:ORACLE data block corrupted"错误 处理方法:1.rman的recover命令可以

oracle 数据块介绍 1

ORACLE DATA BLOCK oracle data block是数据库管理数据文件的最小单元. 在物理层面,oracle data file保存在操作系统上,最小i/o单元是操作系统块,oracle data block是oracle db逻辑最小i/o单元,其结构和系统块不同,大小是系统块的整数倍,如图: DATA BLOCK SIZE oracle db都会配置db_block_size参数,在建库时确定oracle db的默认data block size的大小.建库后数据库默认数

oracle block corrupt 坏块

整体上来讲,oracle的坏块能够分为两种情景:物理损坏和逻辑损坏.物理损坏是因为存储等原因造成的,致使oracle在处理数据块时发现块的checksum不一致.逻辑损坏多是因为oracle的bug或者内存错误引起,通过检測数据块的checksum并不会发现什么问题,可是在逻辑上这些块已经发生了损坏. oracle通过两个參数来控制对物理损坏和逻辑损坏的检測: SQL> show parameter db_block_check NAME TYPE VALUE -----------------