了解什么是Soft corrupt block

简单的说soft corrupt block就是被标记为corrupt的logical corrupt block,logical corrupt block是指能够被oracle正确识别为data block的block,这些block的chkval、块首和块尾的校验值等均是正确的,但是data block存在但不仅限于如下错误:
row locked by non-existent transaction - ORA-600 [4512], etc: 指的是一行里的lck=1,但是Transaction layer里记录的transaction ID不存在
the amount of space used is not equal to block size:avsp、tosp等反应block space usage的取值错误
row directory里指向了一个超出block地址范围的地址
fseo(Free space end offset)小于fsbo(Free space begin offset)等

对于logical corrupt block进行select或者dml操作可能成功也可能收到ORA-00600或者ORA-07445错误,但是不会出现ORA-01578。我们可以通过设置db_block_checking参数或者使用dbms_repair.fix_corrupt_blocks将logical corrupt block正式标记为soft corrupt block,目的是避免逻辑错误的进一步扩散。如果一个block已经标记为soft corrupt block,对这个block的select或者dml操作都会收到ORA-01578错误。对于包含soft corrupt block的datafile进行RMAN backup时不需要设定MAXCORRUPT值,也就是说backup命令不会因为遇到soft corrupt block而终止,RMAN recover的过程中也不会因为遇到soft corrupt block而异常终止

通过下面的两个例子来深入了解一下

//
// Part 1. 一个例子解释什么是Soft corrupt block
//
###测试表scott.t0608_1
SYS@tstdb1-SQL> select * from v$database_block_corruption;

no rows selected

set linesize 120 pagesize 30
select distinct dbms_rowid.rowid_relative_fno(rowid),dbms_rowid.rowid_block_number(rowid) from scott.t0608_1;
DBMS_ROWID.ROWID_RELATIVE_FNO(ROWID) DBMS_ROWID.ROWID_BLOCK_NUMBER(ROWID)
------------------------------------ ------------------------------------
                                   9                                  131

###BBED修改kdbhavsp
BBED> set filename '/oradata06/testaaaaa/ts0608_1.dbf'
        FILENAME        /oradata06/testaaaaa/ts0608_1.dbf

BBED> set block 131
        BLOCK#          131
                                  
BBED> print kdbhavsp
sb2 kdbhavsp                                @110      7564

BBED> set mode edit
        MODE            Edit

BBED> modify /x 1000

BBED> print kdbhavsp
sb2 kdbhavsp                                @110      4096

BBED> sum apply
Check value for File 0, Block 131:
current = 0xfcec, required = 0xfcec

###validate check logical能检测到logical corrupt,并记入v$database_block_corruption,CORRUPTION_TYPE标记为corrupt
RMAN> validate check logical datafile 9;

Starting validate at 20150610 09:02:12
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=203 device type=DISK
channel ORA_DISK_1: starting validation of datafile
channel ORA_DISK_1: specifying datafile(s) for validation
input datafile file number=00009 name=/oradata06/testaaaaa/ts0608_1.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
---- ------ -------------- ------------ --------------- ----------
9    FAILED 0              41           4097            12723362597836
  File Name: /oradata06/testaaaaa/ts0608_1.dbf
  Block Type Blocks Failing Blocks Processed
  ---------- -------------- ----------------
  Data       1              18             
  Index      0              0              
  Other      0              4037           

validate found one or more corrupt blocks
See trace file /oracle/app/oracle/diag/rdbms/tstdb1/tstdb1/trace/tstdb1_ora_36832114.trc for details
Finished validate at 20150610 09:02:14

SYS@tstdb1-SQL> select * from v$database_block_corruption;

           FILE#           BLOCK#           BLOCKS CORRUPTION_CHANGE# CORRUPTIO
---------------- ---------------- ---------------- ------------------ ---------
               9              131                1     12723362556000 CORRUPT

###dbv也能检测出该logical corrupt
tstdb1@jq570322b:/home/tstdb1>dbv file=/oradata06/testaaaaa/ts0608_1.dbf                                 

DBVERIFY: Release 11.2.0.3.0 - Production on Wed Jun 10 09:11:55 2015

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

DBVERIFY - Verification starting : FILE = /oradata06/testaaaaa/ts0608_1.dbf
Block Checking: DBA = 37748867, Block Type = KTB-managed data block
data header at 0x110387064
kdbchk: the amount of space used is not equal to block size   
        used=524 fsc=0 avsp=4096 dtl=8088
Page 131 failed with check code 6110

DBVERIFY - Verification complete

Total Pages Examined         : 4096
Total Pages Processed (Data) : 18
Total Pages Failing   (Data) : 1
Total Pages Processed (Index): 0
Total Pages Failing   (Index): 0
Total Pages Processed (Other): 4037
Total Pages Processed (Seg)  : 0
Total Pages Failing   (Seg)  : 0
Total Pages Empty            : 41
Total Pages Marked Corrupt   : 0
Total Pages Influx           : 0
Total Pages Encrypted        : 0
Highest block SCN            : 1669467084 (2962.1669467084)

###执行dbms_repair.check_object检查scott.T0608_1表的完整性
exec dbms_repair.admin_tables(table_name=>'REPAIR_0608_1',table_type=>dbms_repair.REPAIR_TABLE,action=>dbms_repair.CREATE_ACTION,tablespace=>'XDBTS');

variable v_corrupt_count number;
exec DBMS_REPAIR.CHECK_OBJECT (schema_name=>'SCOTT',object_name=>'T0608_1',object_type=>dbms_repair.TABLE_OBJECT,repair_table_name=>'REPAIR_0608_1',corrupt_count=>:v_corrupt_count);
print :v_corrupt_count

V_CORRUPT_COUNT
---------------
              1

---DBA_REPAIR_0608_1里的marked_corrupt=FALSE表示该block尚未被标记为soft corrupt
col REPAIR_DESCRIPTION format a30
col OBJECT_NAME format a10
set linesize 140
select object_id,relative_file_id,block_id,object_name,repair_description,marked_corrupt,check_timestamp,fix_timestamp from DBA_REPAIR_0608_1;

       OBJECT_ID RELATIVE_FILE_ID         BLOCK_ID OBJECT_NAM REPAIR_DESCRIPTION             MARKED_COR CHECK_TIMESTAMP   FIX_TIMESTAMP
---------------- ---------------- ---------------- ---------- ------------------------------ ---------- ----------------- -----------------
           36378                9              131 T0608_1    mark block software corrupt    FALSE      20150610 09:13:37  
       

###dump bock 9/131 能获得完整的block content,因为此时并未把这个block标记为corrupt
Block dump from disk:
buffer tsn: 15 rdba: 0x02400083 (9/131)
scn: 0x0b92.63816860 seq: 0x01 flg: 0x06 tail: 0x68600601
frmt: 0x02 chkval: 0xfcec type: 0x06=trans data
Hex dump of block: st=0, typ_found=1
。。。。。
Block header dump:  0x02400083
 Object id on Block? Y
 seg/obj: 0x8e72  csc: 0xb92.6381632c  itc: 2  flg: E  typ: 1 - DATA
     brn: 0  bdba: 0x2400080 ver: 0x01 opc: 0
     inc: 0  exflg: 0

 Itl           Xid                  Uba         Flag  Lck        Scn/Fsc
0x01   0x000a.013.000102b3  0x00c138d7.2d6b.0d  C---    0  scn 0x0b92.6380fddf
0x02   0x0003.004.0000144b  0x00c13104.09f7.01  --U-    1  fsc 0x0000.63816860
bdba: 0x02400083
data_block_dump,data header at 0x11085da64
。。。。。
tsiz: 0x1f98
hsiz: 0x3c
pbl: 0x11085da64
     76543210
flag=--------
ntab=1
nrow=21
frre=-1
fsbo=0x3c
fseo=0x1d98
avsp=0x1000     

###RMAN backup对于未被标记为corrupt的block不认为是corrupt,因此无需使用set maxcorrupt for datafile X to Y
RMAN> backup datafile 9;

Starting backup at 20150610 09:16:47
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=4 device type=DISK
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00009 name=/oradata06/testaaaaa/ts0608_1.dbf
channel ORA_DISK_1: starting piece 1 at 20150610 09:16:48
channel ORA_DISK_1: finished piece 1 at 20150610 09:16:49
piece handle=/oradata06/fra/TSTDB1/backupset/2015_06_10/o1_mf_nnndf_TAG20150610T091648_1kAx8lPjJ_.bkp tag=TAG20150610T091648 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 20150610 09:16:49

###执行dbms_repair.fix_corrupt_blocks,block被标记为corrupt
variable v_fix_count number;
exec DBMS_REPAIR.FIX_CORRUPT_BLOCKS(schema_name=>'SCOTT',object_name=>'T0608_1',object_type=>DBMS_REPAIR.TABLE_OBJECT,repair_table_name=>'REPAIR_0608_1',fix_count=>:v_fix_count);
print :v_fix_count
     V_FIX_COUNT
----------------
               1

---marked_corrupt=TRUE
SYS@tstdb1-SQL> select object_id,relative_file_id,block_id,object_name,repair_description,marked_corrupt,check_timestamp,fix_timestamp from DBA_REPAIR_0608_1;

       OBJECT_ID RELATIVE_FILE_ID         BLOCK_ID OBJECT_NAM REPAIR_DESCRIPTION             MARKED_COR CHECK_TIMESTAMP   FIX_TIMESTAMP
---------------- ---------------- ---------------- ---------- ------------------------------ ---------- ----------------- -----------------
           36378                9              131 T0608_1    mark block software corrupt    TRUE       20150610 09:13:37 20150610 09:21:15             


###对于标记为corrupt block的block进行dump

Block dump from disk:
buffer tsn: 15 rdba: 0x02400083 (9/131)
scn: 0x0b92.638380a5 seq: 0xff flg: 0x04 tail: 0x80a506ff    
frmt: 0x02 chkval: 0x0212 type: 0x06=trans data
Hex dump of block: st=0, typ_found=1

###再次运行dbv和validate logical datafile,输出信息表示有一个block被marked corrupt
tstdb1@jq570322b:/home/tstdb1>dbv file=/oradata06/testaaaaa/ts0608_1.dbf

DBVERIFY: Release 11.2.0.3.0 - Production on Wed Jun 10 09:31:14 2015

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

DBVERIFY - Verification starting : FILE = /oradata06/testaaaaa/ts0608_1.dbf

DBV-00200: Block, DBA 37748867, already marked corrupt


DBVERIFY - Verification complete

Total Pages Examined         : 4096
Total Pages Processed (Data) : 18
Total Pages Failing   (Data) : 0
Total Pages Processed (Index): 0
Total Pages Failing   (Index): 0
Total Pages Processed (Other): 4037
Total Pages Processed (Seg)  : 0
Total Pages Failing   (Seg)  : 0
Total Pages Empty            : 41
Total Pages Marked Corrupt   : 1    
Total Pages Influx           : 0
Total Pages Encrypted        : 0
Highest block SCN            : 1669467084 (2962.1669467084)          

RMAN> validate check logical datafile 9;

Starting validate at 20150610 10:11:27
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=00009 name=/oradata06/testaaaaa/ts0608_1.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
---- ------ -------------- ------------ --------------- ----------
9    OK     1              41           4097            12723362597836            
  File Name: /oradata06/testaaaaa/ts0608_1.dbf
  Block Type Blocks Failing Blocks Processed
  ---------- -------------- ----------------
  Data       0              17             
  Index      0              0              
  Other      0              4038           

Finished validate at 20150610 10:11:28

###software corrupt block 产生ORA-01578
SYS@tstdb1-SQL> select * from scott.t0608_1;
select * from scott.t0608_1
*
ERROR at line 1:
ORA-01578: ORACLE data block corrupted (file # 9, block # 131)
ORA-01110: data file 9: '/oradata06/testaaaaa/ts0608_1.dbf'

###backup依然不需要指定maxcorrupt
RMAN> backup datafile 9;

Starting backup at 20150610 12:49:53
using channel ORA_DISK_1
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00009 name=/oradata06/testaaaaa/ts0608_1.dbf
channel ORA_DISK_1: starting piece 1 at 20150610 12:49:53
channel ORA_DISK_1: finished piece 1 at 20150610 12:49:54
piece handle=/oradata06/fra/TSTDB1/backupset/2015_06_10/o1_mf_nnndf_TAG20150610T124953_1kB72pfK5_.bkp tag=TAG20150610T124953 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 20150610 12:49:54

//
// Part 2. 实测db_block_checking参数对于Soft corrupt block的检测功能
//
###重新创建测试对象
SYS@tstdb1-SQL> create table scott.t0608_1 tablespace ts0608 as select * from all_users;

Table created.

set linesize 120 pagesize 30
select distinct dbms_rowid.rowid_relative_fno(rowid),dbms_rowid.rowid_block_number(rowid) from scott.t0608_1;
DBMS_ROWID.ROWID_RELATIVE_FNO(ROWID) DBMS_ROWID.ROWID_BLOCK_NUMBER(ROWID)
------------------------------------ ------------------------------------
                                   9                                  155
                                 
###db_block_checking=medium、db_block_checksum=TYPICAL
SYS@tstdb1-SQL> show parameter db_block

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_block_buffers                     integer     0
db_block_checking                    string      MEDIUM
db_block_checksum                    string      TYPICAL
db_block_size                        integer     8192  
                   

###BBED修改kdbhtosp
set filename '/oradata06/testaaaaa/ts0608_1.dbf'
set block 155            

BBED> print kdbhtosp
sb2 kdbhtosp                                @136      7540

BBED> modify /u 6000

BBED> print kdbhtosp
sb2 kdbhtosp                                @136      6000

BBED> sum apply
Check value for File 0, Block 155:
current = 0x0114, required = 0x0114

alter system flush buffer_cache;

SYS@tstdb1-SQL> select count(*) from scott.t0608_1;

  COUNT(*)
----------
        21

###dbv 检测出155这个logical corrupt block
tstdb1@jq570322b:/home/tstdb1>dbv file=/oradata06/testaaaaa/ts0608_1.dbf                                 

DBVERIFY: Release 11.2.0.3.0 - Production on Wed Jun 10 13:30:54 2015

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

DBVERIFY - Verification starting : FILE = /oradata06/testaaaaa/ts0608_1.dbf

DBV-00200: Block, DBA 37748867, already marked corrupt
Block Checking: DBA = 37748891, Block Type = KTB-managed data block
data header at 0x1103b707c
kdbchk: avsp(7540) > tosp(6000)
Page 155 failed with check code 6128

DBVERIFY - Verification complete

Total Pages Examined         : 4096
Total Pages Processed (Data) : 19
Total Pages Failing   (Data) : 1
Total Pages Processed (Index): 0
Total Pages Failing   (Index): 0
Total Pages Processed (Other): 4040
Total Pages Processed (Seg)  : 0
Total Pages Failing   (Seg)  : 0
Total Pages Empty            : 37
Total Pages Marked Corrupt   : 1
Total Pages Influx           : 0
Total Pages Encrypted        : 0
Highest block SCN            : 1669579300 (2962.1669579300)   
    

###update时报错
SYS@tstdb1-SQL> update scott.t0608_1 set USERNAME='AAA' where username='XS$NULL';
update scott.t0608_1 set USERNAME='AAA' where username='XS$NULL'
             *
ERROR at line 1:
ORA-00607: Internal error occurred while making a change to a data block
ORA-00600: internal error code, arguments: [kdBlkCheckError], [9], [155], [6128], [], [], [], [], [], [], [], []


###本来OK的select也报了ORA-01578

SYS@tstdb1-SQL> select count(*) from scott.t0608_1;
select count(*) from scott.t0608_1
*
ERROR at line 1:
ORA-01578: ORACLE data block corrupted (file # 9, block # 155)
ORA-01110: data file 9: '/oradata06/testaaaaa/ts0608_1.dbf'

###dbv结果显示DBA 37748891对应就是9/155这个block被marked corrupt,DBA 37748867这个block是之前测试留下的,忽略掉
tstdb1@jq570322b:/home/tstdb1>dbv file=/oradata06/testaaaaa/ts0608_1.dbf

DBVERIFY: Release 11.2.0.3.0 - Production on Wed Jun 10 13:38:23 2015

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

DBVERIFY - Verification starting : FILE = /oradata06/testaaaaa/ts0608_1.dbf

DBV-00200: Block, DBA 37748867, already marked corrupt

DBV-00200: Block, DBA 37748891, already marked corrupt
csc(0x0b92.6383c21d) higher than block scn(0x0000.00000000)
Page 155 failed with check code 6054


DBVERIFY - Verification complete

Total Pages Examined         : 4096
Total Pages Processed (Data) : 19
Total Pages Failing   (Data) : 1
Total Pages Processed (Index): 0
Total Pages Failing   (Index): 0
Total Pages Processed (Other): 4040
Total Pages Processed (Seg)  : 0
Total Pages Failing   (Seg)  : 0
Total Pages Empty            : 37
Total Pages Marked Corrupt   : 2
Total Pages Influx           : 0
Total Pages Encrypted        : 0
Highest block SCN            : 1669579300 (2962.1669579300)          

Finished validate at 20150610 13:37:00

###新增block 155坏块
SYS@tstdb1-SQL> select * from v$database_block_corruption;

     FILE#     BLOCK#     BLOCKS CORRUPTION_CHANGE# CORRUPTIO
---------- ---------- ---------- ------------------ ---------
         9        131          1         1.2723E+13 CORRUPT
         9        155          1                  0 CORRUPT

### dump 9/155显示其seq=0xff,表眀是一个software corrupt block
Block dump from disk:
buffer tsn: 15 rdba: 0x0240009b (9/155)
scn: 0x0000.00000000 seq: 0xff flg: 0x04 tail: 0x000006ff
frmt: 0x02 chkval: 0x94f8 type: 0x06=trans data
Hex dump of block: st=0, typ_found=1

### 使用BBED里的revert命令回退对于kdbhtosp的修改        
BBED> revert
All changes made in this session will be rolled back. Proceed? (Y/N) Y
Reverted file '/oradata06/testaaaaa/ts0608_1.dbf', block 155
Warning: contents of previous BIFILE will be lost. Proceed? (Y/N) Y

### 重新validate datafile 9,Marked Corrupt的数量减少为1
alter system flush buffer_cache;

RMAN> validate check logical datafile 9;

Starting validate at 20150610 13:47:27
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=00009 name=/oradata06/testaaaaa/ts0608_1.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
---- ------ -------------- ------------ --------------- ----------
9    OK     1              37           4097            12723362710052
  File Name: /oradata06/testaaaaa/ts0608_1.dbf
  Block Type Blocks Failing Blocks Processed
  ---------- -------------- ----------------
  Data       0              18             
  Index      0              0              
  Other      0              4041           

Finished validate at 20150610 13:47:29

###dbv输出中DBA 37748891消失了
tstdb1@jq570322b:/home/tstdb1>dbv file=/oradata06/testaaaaa/ts0608_1.dbf                                 

DBVERIFY: Release 11.2.0.3.0 - Production on Wed Jun 10 13:49:53 2015

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

DBVERIFY - Verification starting : FILE = /oradata06/testaaaaa/ts0608_1.dbf

DBV-00200: Block, DBA 37748867, already marked corrupt

DBVERIFY - Verification complete

Total Pages Examined         : 4096
Total Pages Processed (Data) : 19
Total Pages Failing   (Data) : 0
Total Pages Processed (Index): 0
Total Pages Failing   (Index): 0
Total Pages Processed (Other): 4040
Total Pages Processed (Seg)  : 0
Total Pages Failing   (Seg)  : 0
Total Pages Empty            : 37
Total Pages Marked Corrupt   : 1
Total Pages Influx           : 0
Total Pages Encrypted        : 0
Highest block SCN            : 1669579300 (2962.1669579300)

SYS@tstdb1-SQL> select * from v$database_block_corruption;

           FILE#           BLOCK#           BLOCKS CORRUPTION_CHANGE# CORRUPTIO
---------------- ---------------- ---------------- ------------------ ---------
               9              131                1     12723362693285 CORRUPT


###修改db_block_checking=off

alter system set db_block_checking=off scope=memory;

SYS@tstdb1-SQL> show parameter db_block_checking

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_block_checking                    string      OFF

###再次使用BBED修改kdbhtosp
BBED> modify /x 1200
 File: /oradata06/testaaaaa/ts0608_1.dbf (0)

BBED> print kdbhtosp
sb2 kdbhtosp                                @136      4608

BBED> sum
Check value for File 0, Block 155:
current = 0x0b10, required = 0x0114

###update
alter system flush buffer_cache;

SYS@tstdb1-SQL>  select count(*) from scott.t0608_1;

        COUNT(*)
----------------
              21

---db_block_checking=off的情况下update成功
SYS@tstdb1-SQL> update scott.t0608_1 set USERNAME='AAA' where username='XS$NULL';          

1 row updated.

SYS@tstdb1-SQL> rollback;

Rollback complete.

---db_block_checking=MEDIUM的情况下update又出现了600错(经测试db_block_checking=LOW时不会检测出corrupt)
alter system set db_block_checking=MEDIUM scope=memory;

SYS@tstdb1-SQL> update scott.t0608_1 set USERNAME='AAA' where username='XS$NULL';          
update scott.t0608_1 set USERNAME='AAA' where username='XS$NULL'
*
ERROR at line 1:
ORA-00607: Internal error occurred while making a change to a data block
ORA-00600: internal error code, arguments: [kdBlkCheckError], [9], [155], [6128], [], [], [], [], [], [], [], []

###再次运行dbv显示DBA 37748891被标记为了corrupt block
tstdb1@jq570322b:/home/tstdb1>dbv file=/oradata06/testaaaaa/ts0608_1.dbf

DBVERIFY: Release 11.2.0.3.0 - Production on Wed Jun 10 14:12:04 2015

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

DBVERIFY - Verification starting : FILE = /oradata06/testaaaaa/ts0608_1.dbf

DBV-00200: Block, DBA 37748867, already marked corrupt

DBV-00200: Block, DBA 37748891, already marked corrupt
csc(0x0b92.6383c21d) higher than block scn(0x0000.00000000)
Page 155 failed with check code 6054


DBVERIFY - Verification complete

Total Pages Examined         : 4096
Total Pages Processed (Data) : 19
Total Pages Failing   (Data) : 1
Total Pages Processed (Index): 0
Total Pages Failing   (Index): 0
Total Pages Processed (Other): 4040
Total Pages Processed (Seg)  : 0
Total Pages Failing   (Seg)  : 0
Total Pages Empty            : 37
Total Pages Marked Corrupt   : 2
Total Pages Influx           : 0
Total Pages Encrypted        : 0
Highest block SCN            : 1669579300 (2962.1669579300)

SYS@tstdb1-SQL> select * from scott.t0608_1;
select * from scott.t0608_1
*
ERROR at line 1:
ORA-01578: ORACLE data block corrupted (file # 9, block # 155)
ORA-01110: data file 9: '/oradata06/testaaaaa/ts0608_1.dbf'

alter system flush buffer_cache;

SYS@tstdb1-SQL>  select count(*) from scott.t0608_1;

        COUNT(*)
----------------
              21

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/53956/viewspace-1694423/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/53956/viewspace-1694423/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值