Heim >Datenbank >MySQL-Tutorial >检测Oracle数据块损坏的方法汇总

检测Oracle数据块损坏的方法汇总

WBOY
WBOYOriginal
2016-06-07 16:45:501150Durchsuche

使用初始化参数db_block_checksum\db_block_checking可以设置数据库对块的物理一致性和逻辑一致性检查。Db_block_checksum:物理一

1:使用初始化参数

使用初始化参数db_block_checksum\db_block_checking可以设置数据库对块的物理一致性和逻辑一致性检查。

Db_block_checksum:物理一致性检查,默认开启。始终对system表空间数据进行检查,如果开启还会对日志进行检查,开启后会有1~2%的性能影响,建议开启。

Db_block_checking:逻辑一致性检查,默认未开启。始终对system表空间进行检查,如果开启会有1~10%的性能影响。DML越频繁,性能影响越大。不建议开启。

有关该参数的详细内容可以参考:

2:使用dbv工具

使用dbv可以进行物理和逻辑一致性检查,但是不会检测表数据和索引数据的匹配关系。使用该工具有以下特点:

只读方式打开数据文件

可以在线检查数据文件,数据库无需关闭

不可以检测控制文件和日志文件

可以检测asm文件

有时文件名称需要有后缀名,并且有时不可以检测超过2G大小的文件

3:使用analyze命令

语法格式:analyze table validate structure cascade online (offline).

该命令会同时进行物理和逻辑检查,同时还可以进行表数据和索引数据的匹配性检查,检查分区表的记录是否在正确的分区中,检测结果会存储在trace文件中。

如果没有使用cascade关键字,则只会进行表数据的检测,使用cascade后会进行表数据和索引数据的检测。

如果使用了online关键字,则可以对表数据进行在线检查,此时不会对表添加锁,DML语句可以继续进行,如果使用了offline关键字,则会对表加锁,此时用户不能对该表进行修改操作。

如果需要检测分区表记录是否在正确的分区内,,可以使用如下语句:

Anlyze table table_name validte structure into invalid_rows.

使用该命令前,请使用utlvalid.sql 脚本创建相应的invalid_rows表。

--------------------------------------推荐阅读 --------------------------------------

RMAN 配置归档日志删除策略

Oracle基础教程之通过RMAN复制数据库

RMAN备份策略制定参考内容

RMAN备份学习笔记

Oracle数据库备份加密 RMAN加密

--------------------------------------分割线 --------------------------------------

4:使用rman工具

使用rman备份工具时,oracle会将数据先读入读缓冲区,然后将数据写入写缓冲区,最后写入磁盘,在从读缓冲区转移到写缓冲区时,rman工具会进行数据一致性检测。

语法格式:backup validate database.

使用backup validate 命令会对数据文件进行物理一致性检测(前提是db_block_checksum启用), 此时并不会生成备份文件。如:

RMAN> backup validate database;
 
Starting backup at 2014-11-05 15:44:21
using channel ORA_DISK_1
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
input datafile fno=00001 name=/home/app/oraten/oradata/oraten/system01.dbf
input datafile fno=00003 name=/home/app/oraten/oradata/oraten/sysaux01.dbf
input datafile fno=00002 name=/home/app/oraten/oradata/oraten/undotbs01.dbf
input datafile fno=00005 name=/home/app/oraten/oradata/oraten/test01.dbf
input datafile fno=00004 name=/home/app/oraten/oradata/oraten/users01.dbf
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
including current control file in backupset
including current SPFILE in backupset
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 2014-11-05 15:44:23
 
RMAN> list backup;
 
 
RMAN>

更多详情见请继续阅读下一页的精彩内容:

linux

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn