RMAN深入解析之--BlockRecover恢复坏块

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
日志服务 SLS,月写入数据量 50GB 1个月
简介:

案例环境:

操作系统:RedHat EL5

Oracle:  Oracle 11gR2


案例描述:

   通过块介质恢复(Block Media Recover:BMR)执行块级别的恢复操作来修复Oracle数据库上的逻辑或物理上损坏的数据块。

1、模拟数据块被破坏

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
10 : 26 : 48  SYS@ prod>conn scott/tiger
Connected.
10 : 26 : 51  SCOTT@ prod>select *  from  tab;
TNAME                          TABTYPE  CLUSTERID
------------------------------ ------- ----------
BONUS                          TABLE
DEPT                           TABLE
EMP                            TABLE
EMP1                           TABLE
SALGRADE                       TABLE
Elapsed:  00 : 00 : 00.10
10 : 26 : 55  SCOTT@ prod>
10 : 27 : 37  SYS@ prod>desc dba_segments
  Name                                                              Null?    Type  
  ----------------------------------------------------------------- -------- -------------
  OWNER                                                                      VARCHAR2( 30 )
  SEGMENT_NAME                                                               VARCHAR2( 81 )
  PARTITION_NAME                                                             VARCHAR2( 30 )
  SEGMENT_TYPE                                                               VARCHAR2( 18 )
  SEGMENT_SUBTYPE                                                            VARCHAR2( 10 )
  TABLESPACE_NAME                                                            VARCHAR2( 30 )
  HEADER_FILE                                                                NUMBER
  HEADER_BLOCK                                                               NUMBER
  BYTES                                                                      NUMBER
  BLOCKS                                                                     NUMBER
  EXTENTS                                                                    NUMBER
  INITIAL_EXTENT                                                             NUMBER
  NEXT_EXTENT                                                                NUMBER
  MIN_EXTENTS                                                                NUMBER
  MAX_EXTENTS                                                                NUMBER
  MAX_SIZE                                                                   NUMBER
  RETENTION                                                                  VARCHAR2( 7 )
  MINRETENTION                                                               NUMBER
  PCT_INCREASE                                                               NUMBER
  FREELISTS                                                                  NUMBER
  FREELIST_GROUPS                                                            NUMBER
  RELATIVE_FNO                                                               NUMBER
  BUFFER_POOL                                                                VARCHAR2( 7 )
  FLASH_CACHE                                                                VARCHAR2( 7 )
  CELL_FLASH_CACHE                                                           VARCHAR2( 7 )
10 : 27 : 41  SYS@ prod>col segment_name  for  a20       
10 : 27 : 59  SYS@ prod>select owner,segment_name,SEGMENT_TYPE,HEADER_BLOCK  from  dba_segments      
10 : 29 : 06    2    where  owner= 'SCOTT'  and  segment_name= 'EMP1' ;
OWNER                          SEGMENT_NAME         SEGMENT_TYPE       HEADER_BLOCK
------------------------------ -------------------- ------------------ ------------
SCOTT                          EMP1                 TABLE                        170

     通过以上查询,可以知道EMP1 table的segment header block为170;利用Uedit32,打开数据文件(users01.dbf)进行编辑破坏!


以下是计算block 170和block 171在Uedit32编辑中的offset:

10:29:24 SYS@ prod>select to_char(170*8*1024, 'xxxxxxxxxxxxxxxxxxxxx') from dual;

TO_CHAR(170*8*1024,'XX

----------------------

                154000


10:30:27 SYS@ prod>select to_char(171*8*1024, 'xxxxxxxxxxxxxxxxxxxxx') from dual;

TO_CHAR(171*8*1024,'XX

----------------------

                156000

以下是Uedit32编辑users01.dbf图片:

wKiom1PE2QPyNrhYAAlanMynL8w838.jpg

通过转储数据块验证:

10:30:37 SYS@ prod>alter system dump datafile 4 block 170;

System altered.

 

[oracle@rh6 ~]$ ls -lt /u01/app/oracle/diag/rdbms/prod/prod/trace/|more

total 14300

1
2
3
4
5
6
7
-rw-r-----  1  oracle oinstall     4492  Jul  15  11 : 34  prod_ora_2883.trc
-rw-r-----  1  oracle oinstall       69  Jul  15  11 : 34  prod_ora_2883.trm
-rw-r-----  1  oracle oinstall   557756  Jul  15  10 : 17  alert_prod.log
-rw-r-----  1  oracle oinstall      947  Jul  15  10 : 17  prod_ckpt_2541.trc
-rw-r-----  1  oracle oinstall       59  Jul  15  10 : 17  prod_ckpt_2541.trm
-rw-r-----  1  oracle oinstall     1783  Jul  15  10 : 12  prod_j000_2588.trc
-rw-r-----  1  oracle oinstall       80  Jul  15  10 : 12  prod_j000_2588.trm

查看转储文件:

[oracle@rh6 ~]$ cat  /u01/app/oracle/diag/rdbms/prod/prod/trace/prod_ora_2883.trc|more

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Trace file /u01/app/oracle/diag/rdbms/prod/prod/trace/prod_ora_2883.trc
Oracle Database 11g Enterprise Edition Release  11.2. 0.1. 0  - 64bit Production
With the Partitioning, OLAP, Data Mining  and  Real Application Testing options
ORACLE_HOME = /u01/app/oracle/product/ 11.2. 0 /db_1
System name:    Linux
Node name:      rh6
Release:         2.6. 32 -358. el6.x86_64
Version:        # 1  SMP Tue Jan  29  11 : 47 : 41  EST  2013
Machine:        x86_64
Instance name: prod
Redo thread mounted by  this  instance:  1
Oracle process number:  26
Unix process pid:  2883 , image: oracle@rh6 (TNS V1-V3)
***  2014 -07 -15  11 : 34 : 50.092
*** SESSION ID:( 37.32 2014 -07 -15  11 : 34 : 50.092
*** CLIENT ID:()  2014 -07 -15  11 : 34 : 50.092
*** SERVICE NAME:(SYS$USERS)  2014 -07 -15  11 : 34 : 50.092
*** MODULE NAME:(sqlplus@rh6 (TNS V1-V3))  2014 -07 -15  11 : 34 : 50.092
*** ACTION NAME:()  2014 -07 -15  11 : 34 : 50.092
  
Start dump data blocks tsn:  4  file#: 4  minblk  170  maxblk  170
Block dump  from  cache:
Dump of buffer cache  at  level  4  for  tsn= 4 , rdba= 16777386
Block dump  from  disk:
buffer tsn:  4  rdba:  0x010000aa  ( 4 / 170 )
scn:  0x0000. 001f891c seq:  0x02  flg:  0x04  tail:  0x891c2302
frmt:  0x02  chkval:  0x8eee  type:  0x23 =PAGETABLE SEGMENT HEADER
Hex dump of block: st= 0 , typ_found= 1
Dump of memory  from  0x00007F7DFC5C7A00  to  0x00007F7DFC5C9A00

7F7DFC5C7A00 0000A223 010000AA 001F891C 04020000  [#...............]

---此行内容与Uedit32打开内容一致

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
7F7DFC5C7A10 00008EEE  00000000  00000000  00000000   [................]
7F7DFC5C7A20  00000000  00000001  00000008  00000A9C  [................]
7F7DFC5C7A30  00000000  00000008  00000008  010000B0  [................]
7F7DFC5C7A40  00000000  00000000  00000000  00000008   [................]
7F7DFC5C7A50  00000000  00000000  00000000  00000000   [................]
7F7DFC5C7A60  00000008  00000008  010000B0  00000000   [................]
7F7DFC5C7A70  00000000  00000000  00000008  010000A8  [................]
7F7DFC5C7A80 010000A8  00000000  00000000  00000000   [................]
7F7DFC5C7A90  00000000  00000000  00000000  00000000   [................]
         Repeat  3  times
7F7DFC5C7AD0  00000001  00002000  00000000  00001434   [..... ..... .4. ..]
7F7DFC5C7AE0  00000000  010000A9  00000001  010000A8  [................]
7F7DFC5C7AF0 010000A9  00000000  00000000  00000000   [................]
7F7DFC5C7B00  00000000  00000000  00000001  00000000   [................]
7F7DFC5C7B10 0001257B  10000000  010000A8  00000008   [{%..............]
7F7DFC5C7B20  00000000  00000000  00000000  00000000   [................]
         Repeat  152  times
7F7DFC5C84B0 010000A8 010000AB  00000000  00000000   [................]
7F7DFC5C84C0  00000000  00000000  00000000  00000000   [................]
         Repeat  151  times
7F7DFC5C8E40  00000000  00000000  010000A9  00000000   [................]
7F7DFC5C8E50  00000000  00000000  00000000  00000000   [................]
         Repeat  185  times
7F7DFC5C99F0  00000000  00000000  00000000  891C2302  [.............#..]
   Extent Control Header
   -----------------------------------------------------------------
   Extent Header:: spare1:  0       spare2:  0       #extents:  1       #blocks:  8     
                   last  map   0x00000000   #maps:  0       offset:  2716  
       Highwater::   0x010000b0   ext#:  0       blk#:  8       ext size:  8     
   #blocks  in  seg. hdr's freelists:  0     
   #blocks below:  8     
   mapblk   0x00000000   offset:  0     
                    Unlocked
   --------------------------------------------------------
   Low HighWater Mark : 
       Highwater::   0x010000b0   ext#:  0       blk#:  8       ext size:  8     
   #blocks  in  seg. hdr's freelists:  0     
   #blocks below:  8     
   mapblk   0x00000000   offset:  0     
   Level  1  BMB  for  High HWM block:  0x010000a8
   Level  1  BMB  for  Low HWM block:  0x010000a8
   --------------------------------------------------------
   Segment Type:  1  nl2:  1       blksz:  8192    fbsz:  0      
   L2 Array start offset:   0x00001434
   First Level  3  BMB:   0x00000000
   L2 Hint  for  inserts:   0x010000a9
   Last Level  1  BMB:   0x010000a8
   Last Level II BMB:   0x010000a9
   Last Level III BMB:   0x00000000
      Map Header:: next   0x00000000   #extents:  1     obj#:  75131   flag:  0x10000000
   Inc #  0 
   Extent Map
   -----------------------------------------------------------------
    0x010000a8   length:  8     
   
   Auxillary Map
   --------------------------------------------------------
    Extent  0      :  L1 dba:   0x010000a8  Data dba:   0x010000ab
   --------------------------------------------------------
   
    Second Level Bitmap block DBAs 
    --------------------------------------------------------
    DBA  1 :    0x010000a9
   
End dump data blocks tsn:  4  file#:  4  minblk  170  maxblk  170

2、将Uedit32(通过16进制编辑功能)编辑过的数据文件上传到数据库

13:59:58 SYS@ prod>alter system flush buffer_cache;

System altered.

读取数据出错:

1
2
3
4
5
6
14 : 00 : 05  SYS@ prod>select *  from  scott.emp1;
select *  from  scott.emp1
*
ERROR  at  line  1 :
ORA -01578 : ORACLE data block corrupted (file #  4 , block #  170 )
ORA -01110 : data file  4 '/u01/app/oracle/oradata/prod/users01.dbf'

验证数据文件:

[oracle@rh6 ~]$ dbv file=/u01/app/oracle/oradata/prod/users01.dbf blocksize=8192

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
DBVERIFY: Release  11.2. 0.1. 0  - Production  on  Tue Jul  15  13 : 59 : 41  2014
Copyright (c)  1982 2009 , Oracle  and / or  its affiliates.  All rights reserved.
DBVERIFY - Verification starting : FILE = /u01/app/oracle/oradata/prod/users01.dbf
Page  170  is marked corrupt
Corrupt block relative dba:  0x010000aa  (file  4 , block  170 )
Bad check value found during dbv: 
Data  in  bad block:
  type:  35  format:  2  rdba:  0x010000aa
  last  change scn:  0x0000. 001f891c seq:  0x2  flg:  0x04
  spare1:  0x0  spare2:  0x0  spare3:  0x0
  consistency value  in  tail:  0x891c2302
  check value  in  block header:  0x8eee
  computed block checksum:  0x2020
Page  171  is marked corrupt
Corrupt block relative dba:  0x010000ab  (file  4 , block  171 )
Bad header found during dbv: 
Data  in  bad block:
  type:  6  format:  2  rdba:  0x012020ab
  last  change scn:  0x2020. 201f890b seq:  0x2  flg:  0x04
  spare1:  0x20  spare2:  0x20  spare3:  0x2020
  consistency value  in  tail:  0x890b0602
  check value  in  block header:  0xcf8b
  computed block checksum:  0x2e00
Page  172  is marked corrupt
Corrupt block relative dba:  0x010000ac  (file  4 , block  172 )
Bad header found during dbv: 
Data  in  bad block:
  type:  6  format:  2  rdba:  0x012020ac
  last  change scn:  0x2020. 201f891c seq:  0x3  flg:  0x06
  spare1:  0x20  spare2:  0x20  spare3:  0x2020
  consistency value  in  tail:  0x891c0603
  check value  in  block header:  0xa5b1
  computed block checksum:  0x0
Page  173  is marked corrupt
Corrupt block relative dba:  0x010000ad  (file  4 , block  173 )
Bad header found during dbv: 
Data  in  bad block:
  type:  6  format:  2  rdba:  0x012020ad
  last  change scn:  0x2020. 201f891c seq:  0x1  flg:  0x04
  spare1:  0x20  spare2:  0x20  spare3:  0x2020
  consistency value  in  tail:  0x891c0601
  check value  in  block header:  0xf6ab
  computed block checksum:  0x2020
Page  174  is marked corrupt
Corrupt block relative dba:  0x010000ae  (file  4 , block  174 )
Bad header found during dbv: 
Data  in  bad block:
  type:  6  format:  2  rdba:  0x012020ae
  last  change scn:  0x2020. 201f891c seq:  0x1  flg:  0x04
  spare1:  0x20  spare2:  0x20  spare3:  0x2020
  consistency value  in  tail:  0x891c0601
  check value  in  block header:  0xcef0
  computed block checksum:  0x20
Page  175  is marked corrupt
Corrupt block relative dba:  0x010000af  (file  4 , block  175 )
Bad header found during dbv: 
Data  in  bad block:
  type:  6  format:  2  rdba:  0x012020af
  last  change scn:  0x2020. 201f891c seq:  0x1  flg:  0x04
  spare1:  0x20  spare2:  0x20  spare3:  0x2020
  consistency value  in  tail:  0x891c0601
  check value  in  block header:  0x146a
  computed block checksum:  0x0
Page  176  is marked corrupt
Corrupt block relative dba:  0x010000b0  (file  4 , block  176 )
Bad header found during dbv: 
Data  in  bad block:
  type:  6  format:  2  rdba:  0x012020b0
  last  change scn:  0x2020. 201e6219  seq:  0x1  flg:  0x04
  spare1:  0x20  spare2:  0x20  spare3:  0x2020
  consistency value  in  tail:  0x62190601
  check value  in  block header:  0x2185
  computed block checksum:  0x2020

DBVERIFY - Verification complete

Total Pages Examined         : 12800

Total Pages Processed (Data) : 757

Total Pages Failing   (Data) : 0

Total Pages Processed (Index): 2

Total Pages Failing   (Index): 0

Total Pages Processed (Other): 12024

Total Pages Processed (Seg)  : 0

Total Pages Failing   (Seg)  : 0

Total Pages Empty            : 10

Total Pages Marked Corrupt   : 7

Total Pages Influx           : 0

Total Pages Encrypted        : 0

Highest block SCN            : 2066716 (0.2066716)

从以上验证结果看:总共有7个数据块(170-176)被破坏!


3、利用RMAN进行修复

[oracle@rh6 ~]$ rman target /

Recovery Manager: Release 11.2.0.1.0 - Production on Tue Jul 15 14:02:16 2014

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

connected to target database: PROD (DBID=239333010)

RMAN> list backup of database;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
using target database control file instead of recovery catalog
List of Backup Sets
===================
BS Key  Type LV Size       Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
17       Full     1. 13G      DISK         00 : 01 : 21      03 -JUL -14      
         BP Key:  17    Status: AVAILABLE  Compressed: NO  Tag: TAG20140703T171545
         Piece Name: /u01/app/oracle/product/ 11.2. 0 /db_1/dbs/0lpcfu61_1_1
   List of Datafiles  in  backup set  17
   File LV Type Ckp SCN    Ckp Time  Name
   ---- -- ---- ---------- --------- ----
   1        Full  2066885     03 -JUL -14  /u01/app/oracle/oradata/prod/system01.dbf
   2        Full  2066885     03 -JUL -14  /u01/app/oracle/oradata/prod/sysaux01.dbf
   3        Full  2066885     03 -JUL -14  /u01/app/oracle/oradata/prod/undotbs1.dbf
   4        Full  2066885     03 -JUL -14  /u01/app/oracle/oradata/prod/users01.dbf
   5        Full  2066885     03 -JUL -14  /u01/app/oracle/oradata/prod/example01.dbf
   6        Full  2066885     03 -JUL -14  /u01/app/oracle/oradata/prod/tbs1.dbf
   7        Full  2066885     03 -JUL -14  /u01/app/oracle/oradata/prod/undotbs2.dbf
   8        Full  2066885     03 -JUL -14  /u01/app/oracle/oradata/prod/perftbs01.dbf


RMAN> blockrecover datafile 4 block 170,171,172,173,174,175,176;

1
2
3
4
5
6
7
8
9
10
11
12
Starting recover  at  15 -JUL -14
using channel ORA_DISK_1
channel ORA_DISK_1: restoring block(s)
channel ORA_DISK_1: specifying block(s) to restore  from  backup set
restoring blocks of datafile  00004
channel ORA_DISK_1: reading  from  backup piece /u01/app/oracle/product/ 11.2. 0 /db_1/dbs/0lpcfu61_1_1
channel ORA_DISK_1: piece handle=/u01/app/oracle/product/ 11.2. 0 /db_1/dbs/0lpcfu61_1_1 tag=TAG20140703T171545
channel ORA_DISK_1: restored block(s)  from  backup piece  1
channel ORA_DISK_1: block restore complete, elapsed time:  00 : 00 : 01
starting media recovery
media recovery complete, elapsed time:  00 : 00 : 07
Finished recover  at  15 -JUL -14

恢复完成,验证:

RMAN> backup validate database;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
Starting backup  at  15 -JUL -14
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= 00001  name=/u01/app/oracle/oradata/prod/system01.dbf
input datafile file number= 00002  name=/u01/app/oracle/oradata/prod/sysaux01.dbf
input datafile file number= 00008  name=/u01/app/oracle/oradata/prod/perftbs01.dbf
input datafile file number= 00004  name=/u01/app/oracle/oradata/prod/users01.dbf
input datafile file number= 00005  name=/u01/app/oracle/oradata/prod/example01.dbf
input datafile file number= 00007  name=/u01/app/oracle/oradata/prod/undotbs2.dbf
input datafile file number= 00006  name=/u01/app/oracle/oradata/prod/tbs1.dbf
input datafile file number= 00003  name=/u01/app/oracle/oradata/prod/undotbs1.dbf
channel ORA_DISK_1: backup set complete, elapsed time:  00 : 00 : 45
List of Datafiles
=================
File Status Marked Corrupt Empty Blocks Blocks Examined High SCN
---- ------ -------------- ------------ --------------- ----------
1     OK      0               13407         99852            2117516   
   File Name: /u01/app/oracle/oradata/prod/system01.dbf
   Block Type Blocks Failing Blocks Processed
   ---------- -------------- ----------------
   Data        0               67302           
   Index       0               15344           
   Other       0               3787            
File Status Marked Corrupt Empty Blocks Blocks Examined High SCN
---- ------ -------------- ------------ --------------- ----------
2     OK      0               17342         66627            2117514   
   File Name: /u01/app/oracle/oradata/prod/sysaux01.dbf
   Block Type Blocks Failing Blocks Processed
   ---------- -------------- ----------------
   Data        0               11719           
   Index       0               7882            
   Other       0               29617           
File Status Marked Corrupt Empty Blocks Blocks Examined High SCN
---- ------ -------------- ------------ --------------- ----------
3     OK      0               1             128              2056342   
   File Name: /u01/app/oracle/oradata/prod/undotbs1.dbf
   Block Type Blocks Failing Blocks Processed
   ---------- -------------- ----------------
   Data        0               0               
   Index       0               0               
   Other       0               127             
File Status Marked Corrupt Empty Blocks Blocks Examined High SCN
---- ------ -------------- ------------ --------------- ----------
4     OK      0               11873         12800            2066716   
   File Name: /u01/app/oracle/oradata/prod/users01.dbf
   Block Type Blocks Failing Blocks Processed
   ---------- -------------- ----------------
   Data        0               763             
   Index       0               2               
   Other       0               162             
File Status Marked Corrupt Empty Blocks Blocks Examined High SCN
---- ------ -------------- ------------ --------------- ----------
5     OK      0               1680          12804            1715036   
   File Name: /u01/app/oracle/oradata/prod/example01.dbf
   Block Type Blocks Failing Blocks Processed
   ---------- -------------- ----------------
   Data        0               3987            
   Index       0               1132            
   Other       0               6001            
File Status Marked Corrupt Empty Blocks Blocks Examined High SCN
---- ------ -------------- ------------ --------------- ----------
6     OK      0               2             1281             2051631   
   File Name: /u01/app/oracle/oradata/prod/tbs1.dbf
   Block Type Blocks Failing Blocks Processed
   ---------- -------------- ----------------
   Data        0               1               
   Index       0               0               
   Other       0               1277            
File Status Marked Corrupt Empty Blocks Blocks Examined High SCN
---- ------ -------------- ------------ --------------- ----------
7     OK      0               8833          12800            2117516   
   File Name: /u01/app/oracle/oradata/prod/undotbs2.dbf
   Block Type Blocks Failing Blocks Processed
   ---------- -------------- ----------------
   Data        0               0               
   Index       0               0               
   Other       0               3967            
File Status Marked Corrupt Empty Blocks Blocks Examined High SCN
---- ------ -------------- ------------ --------------- ----------
8     OK      0               23967         25600            2006072   
   File Name: /u01/app/oracle/oradata/prod/perftbs01.dbf
   Block Type Blocks Failing Blocks Processed
   ---------- -------------- ----------------
   Data        0               867             
   Index       0               261             
   Other       0               505             
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               594             
Finished backup  at  15 -JUL -14
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
[oracle@rh6 ~]$ sqlplus  '/as sysdba'
SQL*Plus: Release  11.2. 0.1. 0  Production  on  Tue Jul  15  14 : 16 : 27  2014
Copyright (c)  1982 2009 , Oracle.  All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release  11.2. 0.1. 0  - 64bit Production
With the Partitioning, OLAP, Data Mining  and  Real Application Testing options
14 : 16 : 27  SYS@ prod>select count(*)  from  scott.emp1;
   COUNT(*)
----------
         28
Elapsed:  00 : 00 : 00.02
14 : 16 : 35  SYS@ prod>select *  from  scott.emp1;
      EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
       7369  SMITH      CLERK            7902  17 -DEC -80         800                     20
       7499  ALLEN      SALESMAN         7698  20 -FEB -81        1600         300          30
       7521  WARD       SALESMAN         7698  22 -FEB -81        1250         500          30
       7566  JONES      MANAGER          7839  02 -APR -81        2975                     20
       7654  MARTIN     SALESMAN         7698  28 -SEP -81        1250        1400          30
       7698  BLAKE      MANAGER          7839  01 -MAY -81        2850                     30
       7782  CLARK      MANAGER          7839  09 -JUN -81        2450                     10
       7788  SCOTT      ANALYST          7566  19 -APR -87        3000                     20
       7839  KING       PRESIDENT             17 -NOV -81        5000                     10
       7844  TURNER     SALESMAN         7698  08 -SEP -81        1500           0          30
       7876  ADAMS      CLERK            7788  23 -MAY -87        1100                     20
       7900  JAMES      CLERK            7698  03 -DEC -81         950                     30
       7902  FORD       ANALYST          7566  03 -DEC -81        3000                     20
       7934  MILLER     CLERK            7782  23 -JAN -82        1300                     10
       7369  SMITH      CLERK            7902  17 -DEC -80         800                     20
       7499  ALLEN      SALESMAN         7698  20 -FEB -81        1600         300          30
       7521  WARD       SALESMAN         7698  22 -FEB -81        1250         500          30
      EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
       7566  JONES      MANAGER          7839  02 -APR -81        2975                     20
       7654  MARTIN     SALESMAN         7698  28 -SEP -81        1250        1400          30
       7698  BLAKE      MANAGER          7839  01 -MAY -81        2850                     30
       7782  CLARK      MANAGER          7839  09 -JUN -81        2450                     10
       7788  SCOTT      ANALYST          7566  19 -APR -87        3000                     20
       7839  KING       PRESIDENT             17 -NOV -81        5000                     10
       7844  TURNER     SALESMAN         7698  08 -SEP -81        1500           0          30
       7876  ADAMS      CLERK            7788  23 -MAY -87        1100                     20
       7900  JAMES      CLERK            7698  03 -DEC -81         950                     30
       7902  FORD       ANALYST          7566  03 -DEC -81        3000                     20
       7934  MILLER     CLERK            7782  23 -JAN -82        1300                     10
28  rows selected.
Elapsed:  00 : 00 : 00.07

读取数据成功!


[oracle@rh6 ~]$ dbv file=/u01/app/oracle/oradata/prod/users01.dbf blocksize=8192

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
DBVERIFY: Release  11.2. 0.1. 0  - Production  on  Tue Jul  15  14 : 17 : 22  2014
Copyright (c)  1982 2009 , Oracle  and / or  its affiliates.  All rights reserved.
DBVERIFY - Verification starting : FILE = /u01/app/oracle/oradata/prod/users01.dbf
DBVERIFY - Verification complete
Total Pages Examined         :  12800
Total Pages Processed (Data) :  763
Total Pages Failing   (Data) :  0
Total Pages Processed (Index):  2
Total Pages Failing   (Index):  0
Total Pages Processed (Other):  12025
Total Pages Processed (Seg)  :  0
Total Pages Failing   (Seg)  :  0
Total Pages Empty            :  10
Total Pages Marked Corrupt   :  0
Total Pages Influx           :  0
Total Pages Encrypted        :  0
Highest block SCN            :  2066716  ( 0.2066716 )
[oracle@rh6 ~]$

4、查看告警日志信息


告警日志:

dbv校验生成的日志

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
Reading datafile  '/u01/app/oracle/oradata/prod/users01.dbf'  for  corruption  at  rdba:  0x010000aa  (file  4 , block  170 )
Reread (file  4 , block  170 ) found same corrupt data
Corrupt Block Found
          TSN =  4 , TSNAME = USERS
          RFN =  4 , BLK =  170 , RDBA =  16777386
          OBJN =  -1 , OBJD =  75131 , OBJECT = USERS, SUBOBJECT = 
          SEGMENT OWNER = , SEGMENT TYPE = Temporary Segment
Tue Jul  15  14 : 00 : 25  2014
Trace dumping is performing id=[cdmp_20140715140025]
Tue Jul  15  14 : 00 : 25  2014
Errors  in  file /u01/app/oracle/diag/rdbms/prod/prod/trace/prod_m000_8954.trc  (incident= 121488 ):
ORA -01578 : ORACLE data block corrupted (file #  4 , block #  170 )
ORA -01110 : data file  4 '/u01/app/oracle/oradata/prod/users01.dbf'
Hex dump of (file  4 , block  176 in  trace file /u01/app/oracle/diag/rdbms/prod/prod/incident/incdir_121443/prod_m000_8954_i121443_a.trc
Corrupt block relative dba:  0x010000b0  (file  4 , block  176 )
Bad header found during validation
Data  in  bad block:
  type:  6  format:  2  rdba:  0x012020b0
  last  change scn:  0x2020. 201e6219  seq:  0x1  flg:  0x04
  spare1:  0x20  spare2:  0x20  spare3:  0x2020
  consistency value  in  tail:  0x62190601
  check value  in  block header:  0x2185
  computed block checksum:  0x2020
Reread of blocknum= 176 , file=/u01/app/oracle/oradata/prod/users01.dbf. found same corrupt data
Reread of blocknum= 176 , file=/u01/app/oracle/oradata/prod/users01.dbf. found same corrupt data
Reread of blocknum= 176 , file=/u01/app/oracle/oradata/prod/users01.dbf. found same corrupt data
Reread of blocknum= 176 , file=/u01/app/oracle/oradata/prod/users01.dbf. found same corrupt data
Reread of blocknum= 176 , file=/u01/app/oracle/oradata/prod/users01.dbf. found same corrupt data
Hex dump of (file  4 , block  170 in  trace file /u01/app/oracle/diag/rdbms/prod/prod/incident/incdir_121443/prod_m000_8954_i121443_a.trc
Corrupt block relative dba:  0x010000aa  (file  4 , block  170 )
Bad check value found during buffer read
Data  in  bad block:
  type:  35  format:  2  rdba:  0x010000aa
  last  change scn:  0x0000. 001f891c seq:  0x2  flg:  0x04
  spare1:  0x0  spare2:  0x0  spare3:  0x0
  consistency value  in  tail:  0x891c2302
  check value  in  block header:  0x8eee
  computed block checksum:  0x2020
Reading datafile  '/u01/app/oracle/oradata/prod/users01.dbf'  for  corruption  at  rdba:  0x010000aa  (file  4 , block  170 )
Reread (file  4 , block  170 ) found same corrupt data
Corrupt Block Found
          TSN =  4 , TSNAME = USERS
          RFN =  4 , BLK =  170 , RDBA =  16777386
          OBJN =  -1 , OBJD =  75131 , OBJECT = USERS, SUBOBJECT = 
          SEGMENT OWNER = , SEGMENT TYPE = Temporary Segment
Errors  in  file /u01/app/oracle/diag/rdbms/prod/prod/trace/prod_m000_8954.trc  (incident= 121489 ):
ORA -01578 : ORACLE data block corrupted (file #  4 , block #  170 )
ORA -01110 : data file  4 '/u01/app/oracle/oradata/prod/users01.dbf'
Checker run found  7  new  persistent data failures
Tue Jul  15  14 : 01 : 15  2014
Sweep [inc][ 121489 ]: completed
Sweep [inc][ 121488 ]: completed
Sweep [inc][ 121487 ]: completed
Sweep [inc][ 121486 ]: completed
Sweep [inc][ 121485 ]: completed
Sweep [inc][ 121484 ]: completed
Sweep [inc][ 121483 ]: completed
Sweep [inc2][ 121486 ]: completed
Sweep [inc2][ 121485 ]: completed
Sweep [inc2][ 121484 ]: completed
Sweep [inc2][ 121483 ]: completed
Sweep [inc2][ 121443 ]: completed
Tue Jul  15  14 : 03 : 20  2014
alter database recover datafile list clear
Completed: alter database recover datafile list clear

rman recovery的日志:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
Started Block Media Recovery
Media Recovery Log /dsk4/arch1/arch_1_17_851265252.log
Recovery of Online Redo Log: Thread  1  Group  3  Seq  18  Reading mem  0
   Mem#  0 : /dsk1/oradata/prod/redo03a.log
   Mem#  1 : /dsk2/oradata/prod/redo03b.log
Recovery of Online Redo Log: Thread  1  Group  1  Seq  19  Reading mem  0
   Mem#  0 : /dsk1/oradata/prod/redo01a.log
   Mem#  1 : /dsk2/oradata/prod/redo01b.log
Recovery of Online Redo Log: Thread  1  Group  2  Seq  20  Reading mem  0
   Mem#  0 : /dsk1/oradata/prod/redo02a.log
   Mem#  1 : /dsk2/oradata/prod/redo02b.log
Completed Block Media Recovery
Tue Jul  15  14 : 10 : 26  2014
alter database recover datafile list clear
Completed: alter database recover datafile list clear
Started Block Media Recovery
Media Recovery Log /dsk4/arch1/arch_1_17_851265252.log
Recovery of Online Redo Log: Thread  1  Group  3  Seq  18  Reading mem  0
   Mem#  0 : /dsk1/oradata/prod/redo03a.log
   Mem#  1 : /dsk2/oradata/prod/redo03b.log
Recovery of Online Redo Log: Thread  1  Group  1  Seq  19  Reading mem  0
   Mem#  0 : /dsk1/oradata/prod/redo01a.log
   Mem#  1 : /dsk2/oradata/prod/redo01b.log
Recovery of Online Redo Log: Thread  1  Group  2  Seq  20  Reading mem  0
   Mem#  0 : /dsk1/oradata/prod/redo02a.log
   Mem#  1 : /dsk2/oradata/prod/redo02b.log
Completed Block Media Recovery
Tue Jul  15  14 : 13 : 28  2014
alter database recover datafile list clear
Completed: alter database recover datafile list clear
Started Block Media Recovery
Media Recovery Log /dsk4/arch1/arch_1_17_851265252.log
Recovery of Online Redo Log: Thread  1  Group  3  Seq  18  Reading mem  0
   Mem#  0 : /dsk1/oradata/prod/redo03a.log
   Mem#  1 : /dsk2/oradata/prod/redo03b.log
Recovery of Online Redo Log: Thread  1  Group  1  Seq  19  Reading mem  0
   Mem#  0 : /dsk1/oradata/prod/redo01a.log
   Mem#  1 : /dsk2/oradata/prod/redo01b.log
Recovery of Online Redo Log: Thread  1  Group  2  Seq  20  Reading mem  0
   Mem#  0 : /dsk1/oradata/prod/redo02a.log
   Mem#  1 : /dsk2/oradata/prod/redo02b.log
Completed Block Media Recovery

@至此,数据块恢复完成!







本文转自 客居天涯 51CTO博客,原文链接:http://blog.51cto.com/tiany/1438443,如需转载请自行联系原作者
目录
相关文章
|
SQL Oracle 关系型数据库
|
Oracle 关系型数据库 数据库
|
SQL Oracle 关系型数据库
|
监控 Oracle 关系型数据库
|
数据库 文件存储
|
Oracle 关系型数据库 数据库
|
Oracle 关系型数据库 数据库

推荐镜像

更多