对Oracle中的坏块故障,现在分为预防、发现、解决三个层面来讨论。
首先区分两个概念:
物理完整性:检查块头、块尾,不包括载荷。
逻辑完整性:检查载荷。
1. 预防
两个相关的参数:
db_block_checking:默认FALSE。该参数指示数据库在修改了数据库后进行一次逻辑完整性检查。
db_block_checksum:默认TYPICAL。该参数控制物理完整性检查,一般默认值已足够应对。
2. 发现
可以用来检测的工具很多,如dbv,RMAN等都可以。推荐使用RMAN。
RMAN可以同时检查物理完整性和逻辑完整性,上例的检查包括了数据文件、参数文件和控制文件。
如果检查出了坏块,将会在视图 v$database_block_corruption中查到坏块信息,如
3. 解决
可以进入RMAN用以下语句修复。前提是拥有“足够”的备份。
注意:以上方法只能修复非文件头的坏块,文件头如果产生坏块只能还原恢复整个数据文件。
其他参考:
模拟坏块故障并抢救数据(一.普通表)
首先区分两个概念:
物理完整性:检查块头、块尾,不包括载荷。
逻辑完整性:检查载荷。
1. 预防
两个相关的参数:
db_block_checking:默认FALSE。该参数指示数据库在修改了数据库后进行一次逻辑完整性检查。
db_block_checksum:默认TYPICAL。该参数控制物理完整性检查,一般默认值已足够应对。
2. 发现
可以用来检测的工具很多,如dbv,RMAN等都可以。推荐使用RMAN。
点击(此处)折叠或打开
- RMAN> backup validate check logical database;
-
- File Status Marked Corrupt Empty Blocks Blocks Examined High SCN
---- ------ -------------- ------------ --------------- ----------
5 OK 0 5292 239233 4409306
File Name: /u01/app/oracle/oradata/prod/1ar1sf1g.dbf
Block Type Blocks Failing Blocks Processed
---------- -------------- ----------------
Data 0 175384
Index 0 38502
Other 0 20054
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
including current control file in backup set
including current SPFILE in backup set
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
List of Control File and SPFILE
===============================
File Type Status Blocks Failing Blocks Examined
------------ ------ -------------- ---------------
SPFILE OK 0 2
Control File OK 0 590
如果检查出了坏块,将会在视图 v$database_block_corruption中查到坏块信息,如
点击(此处)折叠或打开
- select * from v$database_block_corruption;
FILE# BLOCK# BLOCKS CORRUPTION_CHANGE# CORRUPTION_TYPE
---------- ---------- ---------- ------------------ ------------------
5 1000 1 0 CORRUPT
3. 解决
可以进入RMAN用以下语句修复。前提是拥有“足够”的备份。
点击(此处)折叠或打开
- BLOCKRECOVER DATAFILE 19 BLOCK 44,66,127;
- BLOCKRECOVER DATAFILE 19 BLOCK 44 DATAFILE 22 BLOCK 203;
点击(此处)折叠或打开
- run {
- sql 'alter database datafile 5 offline';
- restore datafile 5;
- recover datafile 5;
- sql 'alter database datafile 5 online';
- }
模拟坏块故障并抢救数据(一.普通表)
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22621861/viewspace-2077519/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/22621861/viewspace-2077519/