您的位置:首页 > 数据库

数据库坏块处理方法

2014-01-09 09:55 260 查看
一、可以使用dbv进行校验

注意,dbv工具只可以对数据文件进行检查,无法使用它完成控制文件和日志文件的检查。

1.dbv命令语法

dbverify ::=

dbv [ USERID=username/password ]

FILE = filename

| { START = block_address | END = block_address }

| BLOCKSIZE = integer

| HIGH_SCN = integer

| LOGFILE = filename

| FEEDBACK = integer

| HELP = { Y | N }

| PARFILE = filename

End of description.

1)查看数据文件名称

select name from V$datafile;

/dev/oraebdata53

2)使用dbv工具对users01.dbf进行检查

(1)使用最简单的参数

oracle> !dbv file=/dev/roraebdata53

在实际使用中重点关注以下信息:

Total Pages Failing (Data) : 0

Total Pages Failing (Index): 0

Total Pages Failing (Seg) : 0

Total Pages Marked Corrupt : 0

如果以上信息返回结果不为0,需要重点关注!及时排查原因。

3)如果指定logfile参数,检查结果将只记录在日志文件中,屏幕上不显示

oracle> !dbv file=/dev/oraebdata53 logfile=/dev/oraebdata53.log

4)时可以使用SQL*Plus的edit命令查看生成的日志文件内容。

oracle> ed oraebdata53.log

二、如果索引出现坏块可以考虑删除索引后重建索引,一般不建议使用rebuild选项重现创建索引

三、可以设置10231事件或者使用dbms_repair包,从而在全表扫描时可以跳过坏块,也可以使用rowid range scan跳过坏块

四。使用Bbed工具尝试修复坏块,这个修复过程较为复杂且风险较大,慎用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: