`
fyd222
  • 浏览: 105881 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

DBVERIFY 工具的使用

 
阅读更多

--**********************

-- DBVERIFY 工具的使用

--**********************

Oracle 库运程中由于硬件故障或操作系故障Oracle无法以Oracle格式来识别或所包含的容即现数块损

故障,这个可以分质损坏以及逻辑损坏。下面出了检查,以及使用DBVERIFY 工具块检查

一、块检查

1.时检查块

个数候,将对块行一致性检查检查容包括

的版本

较块cacheblock buffer中的地址

根据要求行校(checksum)

2.坏的错误提示

可以告警日志文件中找到该错误提示,以及在会话发现损坏的块时会给似的提示

ORA-01578: ORACLE data block corrupted (file # 6, block # 11)

ORA-01110: data file 6: '/u01/app/oracle/oradata/orcl/tbs01.dbf'

3.与块损坏的相特性(种检查工具)

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

特性 块侦测类 能否修复损

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

DBVERIFY 物理

ANALYZE 逻辑

DB_BLOCK_CHECKING 逻辑

DB_BLOCK_CHECKSUM 物理

exp 物理

FlashBack 逻辑

DBMS_REPAIR 逻辑

Block media recovery 未知

二、DBVERIFY工具介

特性

是一个运行于操作系提示符下的外部程序,用于验证数据文件,检查块的一致性错误

仅仅针对数据文件,能open段的据文件以及shutdown状态下的据文件

可以验证复制的据文件,也可以验证备份像副本

不支持机日志文件,控制文件,归档日志,RMAN备份验证

验证的文件可以位于文件系ASM或原始设备

Unix中位于:$ORACLE_HOME/bin/dbv

Windows中位于:%ORACLE_HOME%/bin/dbv.exe

DBVERIFY工具,高版本可以自动识别低版本,比如11gdbv访问9i,但是低版本的dbv访问高版本会报错

三、DBVERIFY工具用法

1.dbv助信息,直接在提示符下dbv即可 或者dbv help=y

[oracle@oradb orcl]$ dbv

DBVERIFY: Release 10.2.0.4.0 - Production on Tue Oct 26 18:21:09 2010

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

Keyword Description (Default)

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

FILE File to Verify (NONE)

START Start Block (First Block of File)

END End Block (Last Block of File)

BLOCKSIZE Logical Block Size (8192)--指定据文件的尺寸,缺省值为8192,于非8192块将收到DBV-00103错误

LOGFILE Output Log (NONE) --用于验证进

FEEDBACK Display Progress (0)

PARFILE Parameter File (NONE) --可以指定参数文件

USERID Username/Password (NONE) --段、ASM文件需要使用

SEGMENT_ID Segment ID (tsn.relfile.block) (NONE) --,需要表空ID,据文件ID,段的ID

HIGH_SCN Highest Block SCN To Verify (NONE)

(scn_wrap.scn_base OR scn)

2.onlineoffline据文件,使用下面的方法

dbv file=<dir>

[oracle@oradb orcl]$ dbv file=$ORACLE_BASE/oradata/orcl/tbs01.dbf

DBVERIFY: Release 10.2.0.4.0 - Production on Tue Oct 26 18:29:39 2010

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

DBVERIFY - Verification starting : FILE = /u01/app/oracle/oradata/orcl/tbs01.dbf

DBVERIFY - Verification complete

Total Pages Examined : 128 --总页,一个页面即是一个数

Total Pages Processed (Data) : 96 --理的

Total Pages Failing (Data) : 0 --面的失败数

Total Pages Processed (Index): 1 --理的索引

Total Pages Failing (Index): 0 --理索引面失败数

Total Pages Processed (Other): 31 --理的其它页

Total Pages Processed (Seg) : 0

Total Pages Failing (Seg) : 0

Total Pages Empty : 0

Total Pages Marked Corrupt : 0

Total Pages Influx : 0

Highest block SCN : 1152518 (0.1152518)

注意:如果Total Pages Influx大于零,且未存在坏的情下,是由于针对open状态的文件dbv

程序遇到了一个当前正在被DBWn入的

[oracle@oradb orcl]$ dbv file=$ORACLE_BASE/oradata/orcl/tbs01.dbf feedback=1000

上面句在验证1000个块将显示一"."

--下面的校验发现I/O错误

[oracle@oradb orcl]$ dbv file=/u01/app/oracle/oradata/orcl/tbs01.dbf

DBVERIFY: Release 10.2.0.4.0 - Production on Tue Oct 26 18:26:21 2010

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

DBV-00102: File I/O error on FILE (/u01/app/oracle/oradata/orcl/tbs01.dbf)

during end read operation (-1)

3.验证指定段

方法需要得段所在表空ID,段所在据文件的ID,段的ID

如下面的查询表空ID7,文件ID6,段的ID35

sys@ORCL> select tablespace_id,tablespace_name,header_file,header_block

2 from sys_dba_segs

3 where segment_name='TB3';

TABLESPACE_ID TABLESPACE_NAME HEADER_FILE HEADER_BLOCK

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

7 TBS1 6 35

注意:sys的段可以查询sys_user_segs,而普通用的段信息,需要查询sys_dba_segs

[oracle@oradb orcl]$ dbv userid=scott/tiger segment_id=7.6.35

DBVERIFY: Release 10.2.0.4.0 - Production on Tue Oct 26 18:50:01 2010

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

DBVERIFY - Verification starting : SEGMENT_ID = 7.6.35

DBVERIFY - Verification complete

Total Pages Examined : 8

Total Pages Processed (Data) : 5

Total Pages Failing (Data) : 0

Total Pages Processed (Index): 0

Total Pages Failing (Index): 0

Total Pages Processed (Other): 2

Total Pages Processed (Seg) : 1

Total Pages Failing (Seg) : 0

Total Pages Empty : 0

Total Pages Marked Corrupt : 0

Total Pages Influx : 0

Highest block SCN : 1152518 (0.1152518)

4.验证复制的据文件或验证备份像副本

RMAN> backup as copy datafile 6 --使用RMAN备份镜像副本

2> format='/u01/app/oracle/bk/rmbk/cp_dfile6'

3> tag='Copy_datafile6';

[oracle@oradb orcl]$ dbv file=/u01/app/oracle/bk/rmbk/cp_dfile6

DBVERIFY: Release 10.2.0.4.0 - Production on Tue Oct 26 18:59:17 2010

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

DBVERIFY - Verification starting : FILE = /u01/app/oracle/bk/rmbk/cp_dfile6

DBVERIFY - Verification complete

Total Pages Examined : 128

Total Pages Processed (Data) : 96

Total Pages Failing (Data) : 0

Total Pages Processed (Index): 1

Total Pages Failing (Index): 0

Total Pages Processed (Other): 31

Total Pages Processed (Seg) : 0

Total Pages Failing (Seg) : 0

Total Pages Empty : 0

Total Pages Marked Corrupt : 0

Total Pages Influx : 0

Highest block SCN : 1152518 (0.1152518)

RMAN命令中的BACKUP VALIDATE DATABASE命令通常用于检查命令不生任何备份集,可以通

Validate命令来检查是否能备份,如据文件是否存在,是否存在坏不能被备份查询视图

v$database_block_corruption,此视图将检查过程中存在的坏

如使用下面的查询

RMAN> backup validate database;

RMAN> backup validate database archivelog all;

sys@ORCL> select * from v$database_block_corruption;

no rows selected

视图v$database_block_corruption列出坏的坏所在的文件位置,的起始位置,坏快的大

小以及型如果上述视图发现了坏可以通SQL查询获得坏所影,以及确定坏

所影的是索引段UNDO

select owner,segment_name,segment_type from dba_extents where file_id=<F> and <B>

between block_id and block_id+blocks-1;

(<F><B>ORA-01578出的坏的文件块号)

下面使用rman

RMAN> run{

2> allocate channel ch1 device type disk;

3> blockrecover datafile 6 block 37;

4> release channel ch1;}

released channel: ORA_DISK_1

allocated channel: ch1

channel ch1: sid=139 devtype=DISK

Starting blockrecover at 26-OCT-10

starting media recovery

media recovery complete, elapsed time: 00:00:00

Finished blockrecover at 26-OCT-10

released channel: ch1

flasher@ORCL> alter table tb3 add constraint empno_tb3_pk

2 primary key(empno);

四、其

1.上使用dbv工具可以控制文件验证(库处OPEN状态),参见下面的例子

[oracle10g:oracle:orcl]$ dbv file=control01.ctl

DBVERIFY: Release 10.2.0.4.0 - Production on Sun Jun 5 14:56:31 2011

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

DBV-00103: Specified BLOCKSIZE (8192) differs from actual (16384) --根据提示知道blocksize值为16384

[oracle@oradb orcl]$ dbv file=control01.ctl blocksize=16384

DBVERIFY: Release 10.2.0.4.0 - Production on Sun Jun 5 14:53:01 2011

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

DBVERIFY - Verification starting : FILE = control01.ctl

DBVERIFY - Verification complete

Total Pages Examined : 404

Total Pages Processed (Data) : 0

Total Pages Failing (Data) : 0

Total Pages Processed (Index): 0

Total Pages Failing (Index): 0

Total Pages Processed (Other): 40

Total Pages Processed (Seg) : 0

Total Pages Failing (Seg) : 0

Total Pages Empty : 364

Total Pages Marked Corrupt : 0

Total Pages Influx : 0

Highest block SCN : 775 (65535.775)

2.对联机日志文件的验证(库处OPEN状态),不支持

[oracle10g:oracle:orcl]$ dbv file=redo01.log

DBVERIFY: Release 10.2.0.4.0 - Production on Sun Jun 5 15:01:09 2011

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

DBV-00103: Specified BLOCKSIZE (8192) differs from actual (512)

[oracle10g:oracle:orcl]$ dbv file=redo01.log blocksize=512 --可以行,但出下面很多的提示(质错误)

Page 88441 is influx - most likely media corrupt

Corrupt block relative dba: 0x00015979 (file 0, block 88441)

Fractured block found during dbv:

Data in bad block:

type: 1 format: 2 rdba: 0x00015979

last change scn: 0x8010.00000010 seq: 0x51 flg: 0x55

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

consistency value in tail: 0xc2037800

check value in block header: 0x108

computed block checksum: 0x0

五、 快捷参考

性能请参

Oracle 硬解析与软解析

共享池的与优(Shared pool Tuning)

Buffer cache 与优(一)

Oracle (caching table)的使用

ORACLE体系结构请参

Oracle 表空间与数据文件

Oracle 文件

Oracle 参数文件

Oracle 机重做日志文件(ONLINE LOG FILE)

Oracle 控制文件(CONTROLFILE)

Oracle 归档日志

Oracle (ROLLBACK)和撤(UNDO)

Oracle 库实启动关闭过

Oracle 10g SGA 的自化管理

Oracle 例和Oracle(Oracle体系结构)

关闪回特性请参

Oracle 回特性(FLASHBACK DATABASE)

Oracle 回特性(FLASHBACK DROP & RECYCLEBIN)

Oracle 回特性(Flashback Query、Flashback Table)

Oracle 回特性(Flashback Version、Flashback Transaction)

基于用管理的备份备份请参

Oracle 备份

Oracle 热备份

Oracle 备份复概

Oracle 例恢

Oracle 基于用管理恢(详细描述了介及其)

SYSTEM 表空管理及备份

SYSAUX表空管理及恢

RMAN备份复与管理请参

RMAN 述及其体系结构

RMAN 配置、管理

RMAN 备份详

RMAN

RMAN catalog 建和使用

基于catalog RMAN脚本

基于catalog 的RMAN 备份与

使用RMAN迁移文件系统数据库到ASM

RMAN 备份困惑(使用plus archivelog)

ORACLE故障请参

ORA-32004 错误处

ORA-01658 错误

CRS-0215 错误处

ORA-00119,ORA-00132 错误处

又一例SPFILE错误导无法启动

对参数FAST_START_MTTR_TARGET = 0 解及

SPFILE 错误导无法启动(ORA-01565)

ASM请参

ASM例及ASM

ASM 、目的管理

使用 ASMCMD 工具管理ASM及文件

SQL/PLSQL请参

SQLPlus 常用命令

替代SQL*Plus

使用Uniread实现SQLplus功能

SQL -->SELECT 查询

SQL --> NEW_VALUE 的使用

SQL --> 集合(UNION UNION ALL)

SQL --> 常用函

SQL --> 视图(CREATE VIEW)

SQL --> 建和管理表

SQL --> 多表查询

SQL --> 过滤和排

SQL --> 查询

SQL --> 组与

SQL --> 次化查询(START BY ... CONNECT BY PRIOR)

SQL --> ROLLUPCUBE算符实现数汇总

PL/SQL -->

PL/SQL --> (Exception)

PL/SQL --> 言基

PL/SQL --> 流程控制

PL/SQL --> PL/SQL记录

PL/SQL --> 包的管理

PL/SQL --> 式游(SQL%FOUND)

PL/SQL --> 包重、初始化

PL/SQL --> DBMS_DDL包的使用

PL/SQL --> DML 触发

PL/SQL --> INSTEAD OF 触发

PL/SQL --> 储过

PL/SQL -->

PL/SQL --> 动态SQL

PL/SQL --> 动态SQL的常见错误

ORACLE特性

Oracle 常用目录结构(10g)

使用OEM,SQL*Plus,iSQL*Plus 管理Oracle

日志记录模式(LOGGING 、FORCE LOGGING 、NOLOGGING)

表段、索引段上的LOGGINGNOLOGGING

Oralce OMF 功能

Oracle 限、系统权

Oracle 角色、配置文件

Oracle

Oracle 外部表

使用外部表管理Oracle 告警日志(ALAERT_$SID.LOG)

簇表及簇表管理(Index clustered tables)

EXPDP 出工具的使用

IMPDP 入工具的使用

Oracle

SQL*Loader使用方法

用用户进程跟踪

配置非默端口的动态

配置ORACLE 接到

system sys,sysoper sysdba 区别

ORACLE_SID、DB_NAME、INSTANCE_NAME、DB_DOMIAN、GLOBAL_NAME

Oracle 丁全集 (Oracle 9i 10g 11g Path)

Oracle 10.2.0.1 10.2.0.4

Oracle kill session

分享到:
评论

相关推荐

    浅谈Oracle数据库DBVERIFY工具的使用方法.pdf

    浅谈Oracle数据库DBVERIFY工具的使用方法.pdf

    dbv工具使用

    Oracle DBV 工具使用方法 DBV 是一个常用的 Oracle 数据库工具,用于检查数据文件的物理结构,包括数据文件是否损坏,是否存在逻辑坏块,以及数据文件中包含何种类型的数据。DBV 工具可以验证 ONLINE 或 OFFLINE 的...

    Oracle DBV工具介绍

    DBVERIFY 工具的使用方法可以分为两种:一种是在数据库关闭的情况下使用,验证整个数据文件;另一种是在数据库打开的情况下使用,验证指定的段。 在数据库关闭的情况下使用 DBVERIFY 工具时,需要指定要验证的文件...

    【Oracle坏块】DBVERIFY(DBV)坏块检测工具

    【Oracle坏块】DBVERIFY(DBV)坏块检测工具

    Oracle中数据文件坏块的验证与处理.pdf

    面对数据文件中存在坏块的情况,我们可以使用Oracle提供的DBVERIFY工具来验证和处理。DBVERIFY是一个用于检查数据文件和控制文件的实用程序,可以检测数据块是否损坏。例如,在DOS环境下,输入`dbv file=...

    oracle10g bbed 库文件

    1. **识别问题**: 使用RMAN或DBVERIFY等工具检测到数据库中的错误块。 2. **创建备份**: 在尝试任何修复操作之前,确保有最新的数据文件备份,以防万一。 3. **启动bbed**: 使用bbed命令,并指定要操作的数据文件和...

    linux下远程定时备份oracle数据库

    在Linux环境下,远程定时备份Oracle数据库是一项至关重要...这涉及到Linux系统的操作、Oracle数据库的备份工具使用以及自动化脚本的编写,都是运维工作中不可或缺的技能。记得在实际操作中根据具体环境和需求进行调整。

    Oracle实例恢复

    7. **验证数据完整性**:使用`dbv`或`dbverify`工具检查数据文件的完整性。此外,执行一些SQL查询验证业务数据的正确性。 提供的"Oracle实例恢复工具.exe"可能简化了上述过程,通过自动化的方式帮助用户完成实例...

    oracle10g文档.pdf

    - **DBVERIFY工具**:解释了DBVERIFY工具的作用及其使用方法。 - **DBNEWID工具**:介绍了DBNEWID工具的功能及其使用场景。 #### 第12章:数据库和实例启动和关闭 - **数据库实例简介**:这部分内容概述了Oracle...

    Oracle 11G 日常维护手册

    4. 数据一致性检查:使用DBVERIFY工具验证数据的完整性。 六、实例与数据库维护 1. 实例启动与关闭:使用startup和shutdown命令控制数据库实例的运行。 2. 表空间管理:创建、扩展、收缩表空间,管理数据文件和联机...

    Oracle数据迁移手册[定义].pdf

    验证过程中可能需要运行自定义脚本或使用Oracle自带的DBVERIFY工具。 7. **常用SQL**:在迁移过程中,SQL语句是核心工具,用于查询数据库状态、获取信息。例如,查询数据库**版本**确认迁移后的新环境与旧环境匹配...

    IMP-00010:不是有效的导出文件,头部验证失败

    5. **使用诊断工具**:Oracle提供了一些诊断工具,如`sqlplus / as sysdba`和`DBVERIFY`,可以用来检查.dmp文件的结构和完整性。 6. **网络问题**:如果是通过网络传输的文件,检查网络连接和传输过程中是否存在...

    ORACLE DB数据库常见问题解决及诊断技巧集锦-ORACLE DBA故障修复必备手册

    1. **使用DBVERIFY工具**:DBVERIFY是Oracle提供的工具,可用于检测数据块损坏。 2. **恢复受损的数据块**:如果找到了受损的块,可以尝试使用RMAN进行恢复。 3. **定期进行备份**:定期备份数据库,以便在数据损坏...

    oracle10g概念

    - **11.8 DBVERIFY工具**:DBVERIFY工具用于验证数据库文件的完整性。 - **11.9 DBNEWID工具**:DBNEWID工具用于更改数据库文件的内部标识符。 #### 第12章:数据库和实例启动和关闭 - **12.1 数据库实例简介**:...

    Oracle 错误 处理

    使用RMAN(恢复管理器)或DBVERIFY工具检查并修复数据文件。 在安装完成后,可能会遇到的错误类型有: 1. **性能问题**:如果数据库运行缓慢,可能需要优化SQL查询,调整初始化参数,或者增加索引。使用SQL*Plus的...

    Oracle10G数据备份

    - **DBVERIFY工具**:用于验证备份文件完整性的工具。 #### 四、RMAN备份 - **理解RMAN**:RMAN (Recovery Manager) 是Oracle提供的一个强大的备份和恢复工具,它提供了高度自动化和灵活性。 - **RMAN的使用前设置...

    Oracle备份与恢复总结

    5. 数据库一致性检查:在恢复后,可能需要执行DBVERIFY等工具检查数据一致性。 总之,Oracle备份与恢复是一个复杂而关键的过程,需要对数据库结构、备份类型、恢复策略和流程有深入理解。通过合理规划和有效实施,...

    如何利用RMAN复制数据库

    - **检查数据库完整性**:可以通过运行`DBVERIFY`工具或其他数据库完整性检查工具来确保数据的一致性和完整性。 #### 总结 使用RMAN复制数据库是一项高级任务,涉及到多个步骤和技术要点。上述步骤提供了从准备...

    Oracle坏块故障葵花宝典.docx

    - 使用Oracle的内置工具如`DBMS_REPAIR`和`DBMS_RDA`进行诊断。 - 查看Oracle警告日志(`alert.log`)寻找线索。 - 运行`DBVERIFY`工具验证数据文件。 2. **定位** - 通过`DBA_EXTENTS`、`DBA_SEGMENTS`等视图...

Global site tag (gtag.js) - Google Analytics