dbv,rman检查数据文件坏块

将users01.dbf用Ultraedit修改一下模拟坏块

1:使用dbv检查坏块

[oracle@ora11g ~]$ dbv file=/u01/app/oracle/oradata/orcl/users01.dbf blocksize=8192

DBVERIFY: Release 11.2.0.3.0 - Production on Thu Sep 26 16:06:35 2013

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

DBVERIFY - Verification starting : FILE = /u01/app/oracle/oradata/orcl/users01.dbf
Page 138 is marked corrupt
Corrupt block relative dba: 0x0100008a (file 4, block 138)
Bad header found during dbv: 
Data in bad block:
 type: 0 format: 0 rdba: 0x01000000
 last change scn: 0x0000.00000003 seq: 0x1 flg: 0x04
 spare1: 0x0 spare2: 0x0 spare3: 0x0
 consistency value in tail: 0x00033a01
 check value in block header: 0x9db0
 computed block checksum: 0xa2b0

DBVERIFY - Verification complete

Total Pages Examined         : 640
Total Pages Processed (Data) : 0
Total Pages Failing   (Data) : 0
Total Pages Processed (Index): 0
Total Pages Failing   (Index): 0
Total Pages Processed (Other): 638
Total Pages Processed (Seg)  : 0
Total Pages Failing   (Seg)  : 0
Total Pages Empty            : 1
Total Pages Marked Corrupt   : 1
Total Pages Influx           : 0
Total Pages Encrypted        : 0
Highest block SCN            : 13795 (0.13795)

2:使用rman检查坏块

通过校验和字段进行检查叫物理一致性检查,其侧重于硬件故障,并不关心内容正确与否,而逻辑一致性检查便是接手这任务,如:记录和索引是否对应;记录是否被不存在的事务锁定等.

db_block_checksum:物理一致性检查,当值为true时,Oracle除了会对所有表空间的数据块进行校验和检查,还会对redo log块做校验和如果置之为false,则只会对system表空间的数据块进行校验,Oracle建议开启这个参数.

db_block_checking:逻辑一致性检查当值为false时,只会对system表空间做逻辑一致性检查对性能影响比较大,需DBA自己权衡.


物理一致性检查

RMAN> validate datafile 4;

Starting validate at 26-SEP-13
using channel ORA_DISK_1
channel ORA_DISK_1: starting validation of datafile
channel ORA_DISK_1: specifying datafile(s) for validation
input datafile file number=00004 name=/u01/app/oracle/oradata/orcl/users01.dbf
channel ORA_DISK_1: validation complete, elapsed time: 00:00:01
List of Datafiles
=================
File Status Marked Corrupt Empty Blocks Blocks Examined High SCN
---- ------ -------------- ------------ --------------- ----------
4    OK     1              1            642             13795     
  File Name: /u01/app/oracle/oradata/orcl/users01.dbf
  Block Type Blocks Failing Blocks Processed
  ---------- -------------- ----------------
  Data       0              0               
  Index      0              0               
  Other      0              639             

Finished validate at 26-SEP-13

逻辑一致性检查

RMAN> VALIDATE CHECK LOGICAL DATAFILE 4;

Starting validate at 26-SEP-13
using channel ORA_DISK_1
channel ORA_DISK_1: starting validation of datafile
channel ORA_DISK_1: specifying datafile(s) for validation
input datafile file number=00004 name=/u01/app/oracle/oradata/orcl/users01.dbf
channel ORA_DISK_1: validation complete, elapsed time: 00:00:01
List of Datafiles
=================
File Status Marked Corrupt Empty Blocks Blocks Examined High SCN
---- ------ -------------- ------------ --------------- ----------
4    OK     1              1            642             13795     
  File Name: /u01/app/oracle/oradata/orcl/users01.dbf
  Block Type Blocks Failing Blocks Processed
  ---------- -------------- ----------------
  Data       0              0               
  Index      0              0               
  Other      0              639             

Finished validate at 26-SEP-13

The VALIDATE command initiates data integrity checks, logging physical, and optionally logical, block corruptions of database files and backups in the V$DATABASE_BLOCK_CORRUPTION view and the Automatic Diagnostic Repository as one or more failures. The following code shows some of the possible syntax variations.

    # Check for physical corruption of all database files.
    VALIDATE DATABASE;

    # Check for physical and logical corruption of a tablespace.
    VALIDATE CHECK LOGICAL TABLESPACE USERS;

    # Check for physical and logical corruption of a datafile.
    VALIDATE CHECK LOGICAL DATAFILE 4;

    # Check for physical corruption of all archived redo logs files.
    VALIDATE ARCHIVELOG ALL;

    # Check for physical and logical corruption of the controlfile.
    VALIDATE CHECK LOGICAL CURRENT CONTROLFILE;

    # Check for physical and logical corruption of a specific backupset.
    VALIDATE CHECK LOGICAL BACKUPSET 3;

The BACKUP VALIDATE and RESTORE VALIDATE commands perform the same checks as the VALIDATE command for the files targeted by the backup or restore command, but they don't actually perform the specified backup or restore operation. This allows you to check the integrity of a backup or restore operation before actually performing it. The following code shows some of the possible syntax variations.

# Check for physical corruption of files to be backed up.
BACKUP VALIDATE DATABASE ARCHIVELOG ALL;

# Check for physical and logical corruption of files to be backed up.
BACKUP VALIDATE CHECK LOGICAL DATABASE ARCHIVELOG ALL;

# Check for physical corruption of files to be restored.
RESTORE VALIDATE DATABASE;

# Check for physical and logical corruption of files to be restored.
RESTORE VALIDATE CHECK LOGICAL DATABASE;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值