stevehai812 发表于 2015-5-6 10:32:32

数据库出现坏块,如何处理?


--alter.log报错
Tue May  5 17:47:44 2015
Hex dump of (file 124, block 8) in trace file /oraclelog/admin/crmdb/udump/crmdb1_ora_659922.trc
Corrupt block relative dba: 0x1f000008 (file 124, block 8)
Bad check value found during backing up datafile
Data in bad block:
type: 30 format: 2 rdba: 0x1f000008
last change scn: 0x0ae8.04e027a0 seq: 0x1 flg: 0x04
spare1: 0x0 spare2: 0x0 spare3: 0x0
consistency value in tail: 0x27a01e01
check value in block header: 0x28f4
computed block checksum: 0x6a0c
Reread of blocknum=8, file=/dev/rcrmvg2_1_vd2. found same corrupt data
Reread of blocknum=8, file=/dev/rcrmvg2_1_vd2. found same corrupt data
Reread of blocknum=8, file=/dev/rcrmvg2_1_vd2. found same corrupt data
Reread of blocknum=8, file=/dev/rcrmvg2_1_vd2. found same corrupt data
Reread of blocknum=8, file=/dev/rcrmvg2_1_vd2. found same corrupt data
Hex dump of (file 162, block 8) in trace file /oraclelog/admin/crmdb/udump/crmdb1_ora_659922.trc
Corrupt block relative dba: 0x28800008 (file 162, block 8)
Bad check value found during backing up datafile
Data in bad block:
type: 30 format: 2 rdba: 0x28800008
last change scn: 0x0ae9.57f4a527 seq: 0x1 flg: 0x04
spare1: 0x0 spare2: 0x0 spare3: 0x0
consistency value in tail: 0xa5271e01
check value in block header: 0x4cbf
computed block checksum: 0x6a0c
Reread of blocknum=8, file=/dev/rcrmvg3_1_vd3. found same corrupt data
Reread of blocknum=8, file=/dev/rcrmvg3_1_vd3. found same corrupt data
Reread of blocknum=8, file=/dev/rcrmvg3_1_vd3. found same corrupt data
Reread of blocknum=8, file=/dev/rcrmvg3_1_vd3. found same corrupt data
Reread of blocknum=8, file=/dev/rcrmvg3_1_vd3. found same corrupt data
Tue May  5 18:01:54 2015
ALTER SYSTEM ARCHIVE LOG

--查看状态
SQL> SELECT a.file_id,a.tablespace_name,a.status,a.online_status
  2   FROM dba_data_files a WHERE a.file_id IN(162,124);

   FILE_ID TABLESPACE_NAME                STATUS    ONLINE_STATUS
---------- ------------------------------ --------- -------------
       124 TBS_ILCU                       AVAILABLE RECOVER
       162 TBS_DATE_999                   AVAILABLE RECOVER

--文件状态为可用,online_status处于待恢复状态

这个错误出现有一段时间了,但是数据处于可用状态。请教各位如何处理?还需要提供什么信息?谢谢各位





Maclean Liu(刘相兵 发表于 2015-5-6 10:47:47

坏块未必位于 应用用到的表或索引上,或者干脆在 游离块上

有备份的情况下 =》 少量坏块 直接 blockrecover即可
无备份的情况下 =》 视乎坏块位于何种对象, 对于索引 可以rebuild, 对于游离块可以覆盖, 对于表可以通过特殊event跳过坏块来重建表

stevehai812 发表于 2015-5-6 11:16:17

Maclean Liu(刘相兵 发表于 2015-5-6 10:47 static/image/common/back.gif
坏块未必位于 应用用到的表或索引上,或者干脆在 游离块上

有备份的情况下 =》 少量坏块 直接 blockrecove ...

crmdb1:{/oraclelog/admin/crmdb/bdump}$crsctl query  css votedisk
0.     0    /dev/rcrmvg1_1_vdl
1.     0    /dev/rcrmvg2_1_vd2
2.     0    /dev/rcrmvg3_1_vd3

竟然将voting disk使用的裸设备加在表空间上,进一步查看添加操作
Wed Apr 13 10:32:45 2011
alter tablespace TBS_CRM_DITF_B add datafile '/dev/rcrmvg3_1_vd3' size 1023m
Wed Apr 13 10:32:49 2011
Completed: alter tablespace TBS_CRM_DITF_B add datafile '/dev/rcrmvg3_1_vd3' size 1023m

刘大,这个有什么风险?如何处理呢?将表空间迁走?

aaafffj 发表于 2015-5-8 14:18:30

我也遇到过这类问题

stevehai812 发表于 2015-5-11 10:26:53

aaafffj 发表于 2015-5-8 14:18 static/image/common/back.gif
我也遇到过这类问题

你是怎样解决的呢?

lhpapa 发表于 2015-5-14 17:34:28

TBS_ILCU   应该是索引表空,也就几G吧,找个应用更新时候,可以rebuild 坏块索引。

TBS_CRM_DITF_B 这个会不会是 TBS_CRM_DITF 临时表空间吗?

vd 做一下文件迁移。

页: [1]
查看完整版本: 数据库出现坏块,如何处理?