iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >RMAN深入解析之--BlockRecover恢复坏块
  • 185
分享到

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

2024-04-02 19:04:59 185人浏览 泡泡鱼
摘要

RMAN深入解析之--BlockRecover恢复坏块案例环境:操作系统:RedHat EL5Oracle:  Oracle 11gR2案例描述:   通过块介质恢复(Bloc

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

案例环境:

操作系统:RedHat EL5

Oracle:  Oracle 11gR2


案例描述:

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

1、模拟数据块被破坏

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图片:

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

通过转储数据块验证:

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

System altered.

 

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

total 14300

-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@rh7 ~]$ cat  /u01/app/oracle/diag/rdbms/prod/prod/trace/prod_ora_2883.trc|more

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:      rh7
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, p_w_picpath: oracle@rh7 (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@rh7 (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打开内容一致

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.

读取数据出错:

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@rh7 ~]$ dbv file=/u01/app/oracle/oradata/prod/users01.dbf blocksize=8192

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@rh7 ~]$ 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;

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;

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;

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
[oracle@rh7 ~]$ 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@rh7 ~]$ dbv file=/u01/app/oracle/oradata/prod/users01.dbf blocksize=8192

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@rh7 ~]$

4、查看告警日志信息


告警日志:

dbv校验生成的日志

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的日志:

Started Block Media Recovery
Media Recovery Log /dsk4/arch2/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/arch2/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/arch2/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

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

您可能感兴趣的文档:

--结束END--

本文标题: RMAN深入解析之--BlockRecover恢复坏块

本文链接: https://www.lsjlt.com/news/40148.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 基于RMAN实现坏块介质恢复(blockrecover)
    http://blog.csdn.net/leshami/article/details/10500997 对于物理损坏的数据块,我们可以通过RMAN块介质恢复(BLOCK MEDIA RECOVERY)...
    99+
    2024-04-02
  • RMAN深入解析之--Incarnation应用(不完全恢复)
    当在做Media Recover的不完全恢复时,通过resetlogs打开库,则Incarnation(数据库对应物)表示这个数据库的特定的逻辑生存期。当作为DBA可能面临这样的还原:需要使用上次执行re...
    99+
    2024-04-02
  • RMAN深入解析之--备份数据块
    RMAN深入解析之--备份数据块  对于RMAN的备份是基于数据块的备份,数据块备份的工作原理是:RMAN基于备份算法规则来编译要备份的文件列表。基于信道数和同时备份的文件数,RMAN在Oracl...
    99+
    2024-04-02
  • 怎样深入解析RMAN 备份与恢复
    今天就跟大家聊聊有关怎样深入解析RMAN 备份与恢复,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。RMAN 备份与恢复深入解析一 数据库版本SQL> select *...
    99+
    2023-06-06
  • Oracle中基于RMAN如何实现坏块介质恢复
    小编给大家分享一下Oracle中基于RMAN如何实现坏块介质恢复,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! ...
    99+
    2024-04-02
  • Oracle数据块损坏之10231内部事件不完全恢复
    什么是块损坏: 所谓损坏的数据块,是指块没有采用可识别的 Oracle 格式,或者其内容在内部不一致。通常情况下,损坏是由硬件故障或操作系统问题引起的。Oracle 数据库将损坏的块标识为“逻辑损坏”或“介...
    99+
    2024-04-02
  • 深入解析MongoDB的数据备份与恢复策略
    深入解析MongoDB的数据备份与恢复策略摘要:MongoDB是一款非常流行的NoSQL数据库,为了确保数据的安全性和可靠性,在使用MongoDB时,合理的备份与恢复策略是至关重要的。本文将对MongoDB数据备份与恢复的相关内容进行深入解...
    99+
    2023-11-03
    MongoDB 数据备份 恢复策略
  • python爬虫之request模块深入讲解
    目录一、概述二、安装和基本步骤使用三、http知识复习四、request请求模块的方法使用五,params和payload参数使用说明总结一、概述 在后期渗透测试中,经常会遇到需要向...
    99+
    2024-04-02
  • 深入剖析MongoDB的数据复制与故障恢复机制
    深入剖析MongoDB的数据复制与故障恢复机制引言:随着大数据时代的到来,数据的存储和管理变得愈发重要。在数据库领域,MongoDB作为一种广泛应用的NoSQL数据库,其数据复制和故障恢复机制对于保障数据的可靠性和高可用性至关重要。本文将深...
    99+
    2023-11-04
    MongoDB 故障恢复 数据复制
  • 揭开 ES6 模块面纱:深入解析模块化概念
    模块化概念 模块化是一种将代码组织成模块的编程范式。每个模块代表应用程序的一个特定部分或功能,并具有自己的私有变量和函数。模块之间的交互受到严格控制,只有通过明确的接口才能访问彼此。这种结构化组织有助于增强代码的可复用性、可维护性和可测试...
    99+
    2024-03-02
    ES6 模块、模块化、JavaScript
  • 【深入剖析】服务器故障恢复过程:从故障识别到全面恢复!
    一、故障识别 服务器故障可能是由于硬件故障、软件故障或网络故障等原因造成的。因此,在进行故障恢复之前,首先需要对故障进行识别。通常,可以通过以下步骤进行故障识别: 检查服务器硬件。检查服务器的外观是否有损坏,是否正常供电,网卡和硬盘...
    99+
    2024-02-26
    服务器故障 恢复过程 系统监控 故障识别 数据恢复 全面恢复
  • 深入解析Java反射之基础篇
    目录前言一、回顾:什么是反射?二、反射的主要用途三、反射的基本运用1、获得 Class 对象2、判断是否为某个类的实例3、创建实例4、获取方法5、获取构造器信息6、获取类的成员变量(...
    99+
    2024-04-02
  • 深入解析Golang和Go之间的差异
    深入解析Golang和Go之间的差异 概览 Golang和Go是同一门编程语言的两个名称,它们是指Google开发的一种简洁、高效、并发安全的编程语言。Golang是该语言的全称,而Go则是其更常用的简称。在...
    99+
    2024-01-23
    - golang - Go - 差异
  • 阿里云服务器能恢复快照吗?带你深入了解快照恢复功能
    阿里云服务器作为云计算的重要组成部分,其稳定性和安全性一直备受关注。本文将深入介绍阿里云服务器的快照恢复功能,让用户更好地了解和利用这一功能。 阿里云服务器作为云计算的重要组成部分,其强大的计算能力和稳定性备受用户好评。同时,阿里云服务器...
    99+
    2023-11-16
    快照 阿里 带你
  • Golang汇编之控制流深入分析讲解
    目录顺序执行if/goto跳转for循环顺序执行 顺序执行是我们比较熟悉的工作模式,类似俗称流水账编程。所有不含分支、循环和goto语言,并且每一递归调用的Go函数一般都是顺序执行的...
    99+
    2023-05-20
    Go汇编之控制流 Golang控制流
  • 深入解析 node.js 操作系统模块:解锁系统掌控力
    模块概述 操作系统模块通过一系列方法和属性,提供了对操作系统功能的访问。其中包括: os.arch():返回操作系统的体系结构。 os.platform():返回操作系统的平台(如 Windows、Linux 或 macOS)。 os....
    99+
    2024-04-02
  • Java并发编程之关键字volatile的深入解析
    目录前言一、可见性二、有序性总结前言 volatile是研究Java并发编程绕不过去的一个关键字,先说结论: volatile的作用:       &n...
    99+
    2024-04-02
  • C++深入讲解对象的销毁之析构函数
    目录一、对象的销毁二、析构函数三、小结一、对象的销毁 生活中的对象都是被初始化后才上市的生活中的对象被销毁前会做一些清理工作—股而言,需要销毁的对象都应该做清理 解决方案...
    99+
    2024-04-02
  • PHP5和PHP8之间的版本差异剖析:深入了解
    深入了解PHP5和PHP8:版本间的差异解析 随着互联网的快速发展和技术的不断进步,编程语言的发展也愈发迅猛。PHP作为一种广泛应用于Web开发的脚本语言,自诞生以来就受到了众多开发者的喜爱。而经过多年演化的PHP,其版本也从最...
    99+
    2024-01-26
    PHP 版本差异
  • vue3.x源码剖析之数据响应式的深入讲解
    目录前言什么是数据响应式数据响应式的大体流程vue2.x数据响应式和3.x响应式对比大致流程图实现依赖收集代码仓库结尾前言 如果错过了秋枫和冬雪,那么春天的樱花一定会盛开吧。最近一直...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作