Maison base de données tutoriel mysql RMAN深入解析之--BlockRecover恢复坏块

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

Jun 07, 2016 pm 02:52 PM
恢复 aller en profondeur 解析

RMAN深入解析之--BlockRecover恢复坏块 案例环境: 操作系统:RedHat EL5 Oracle: Oracle 11gR2 案例描述: 通过块介质恢复(Block Media Recover:BMR)执行块级别的恢复操作来修复Oracle数据库上的逻辑或物理上损坏的数据块。 1、模拟数据块被破坏 10:26:48

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
Copier après la connexion

通过以上查询,可以知道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图片:

650) this.width=650;" title="b1.png" alt="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

-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
Copier après la connexion

查看转储文件:

[oracle@rh6 ~]$ 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:      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
Copier après la connexion

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
Copier après la connexion

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'
Copier après la connexion

验证数据文件:

[oracle@rh6 ~]$ 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
Copier après la connexion

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;

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
Copier après la connexion


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
Copier après la connexion

恢复完成,验证:

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
Copier après la connexion
[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
Copier après la connexion

读取数据成功!


[oracle@rh6 ~]$ 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@rh6 ~]$
Copier après la connexion

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/
Copier après la connexion
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment restaurer l'étincelle de discussion sur TikTok Comment restaurer l'étincelle de discussion sur TikTok Mar 16, 2024 pm 01:25 PM

Sur Douyin, une courte plateforme vidéo pleine de créativité et de vitalité, nous pouvons non seulement profiter d'une variété de contenus passionnants, mais également avoir des communications approfondies avec des amis partageant les mêmes idées. Parmi eux, les étincelles de discussion sont un indicateur important de l’intensité de l’interaction entre les deux parties, et elles enflamment souvent par inadvertance les liens émotionnels entre nous et nos amis. Cependant, parfois pour certaines raisons, le chat spark peut être déconnecté. Alors, que devons-nous faire si nous voulons restaurer le chat spark ? Ce guide didacticiel vous apportera une introduction détaillée à la stratégie de contenu, dans l'espoir d'aider tout le monde. Comment restaurer l'étincelle du chat Douyin ? 1. Ouvrez la page de message Douyin et sélectionnez un ami avec qui discuter. 2. Envoyez des messages et discutez entre vous. 3. Si vous envoyez des messages en continu pendant 3 jours, vous pouvez obtenir le logo Spark. Tous les 3 jours, envoyez-vous des photos ou des vidéos

Comment restaurer l'album photo Xiaomi Cloud en local Comment restaurer l'album photo Xiaomi Cloud en local Feb 24, 2024 pm 03:28 PM

Comment restaurer l'album photo Xiaomi Cloud en local ? L'application Xiaomi Cloud Photo Album peut restaurer en local, mais la plupart des amis ne savent pas comment restaurer l'album photo Xiaomi Cloud en local. L'étape suivante consiste à restaurer l'album photo Xiaomi Cloud en local. Tutoriels graphiques de méthode locale, les utilisateurs intéressés viennent y jeter un oeil ! Comment restaurer l'album photo cloud Xiaomi en local 1. Ouvrez d'abord la fonction de paramètres dans le téléphone Xiaomi et sélectionnez [Avatar personnel] sur l'interface principale ; 2. Entrez ensuite dans l'interface du compte Xiaomi et cliquez sur la fonction [Service Cloud] ; passez à Xiaomi Pour la fonction de service cloud, sélectionnez [Cloud Backup] ; 4. Enfin, dans l'interface comme indiqué ci-dessous, cliquez sur [Cloud Album] pour restaurer l'album en local.

Explication détaillée de l'erreur Oracle 3114 : comment la résoudre rapidement Explication détaillée de l'erreur Oracle 3114 : comment la résoudre rapidement Mar 08, 2024 pm 02:42 PM

Explication détaillée de l'erreur Oracle 3114 : Comment la résoudre rapidement, des exemples de code spécifiques sont nécessaires Lors du développement et de la gestion de la base de données Oracle, nous rencontrons souvent diverses erreurs, parmi lesquelles l'erreur 3114 est un problème relativement courant. L'erreur 3114 indique généralement un problème avec la connexion à la base de données, qui peut être provoqué par une défaillance du réseau, un arrêt du service de base de données ou des paramètres de chaîne de connexion incorrects. Cet article expliquera en détail la cause de l'erreur 3114 et comment résoudre rapidement ce problème, et joindra le code spécifique.

Comment récupérer le journal emmo supprimé Comment récupérer le journal emmo supprimé Feb 27, 2024 pm 04:40 PM

Emmo Diary est un logiciel spécialement conçu pour enregistrer votre humeur. Il vous offre un espace journal privé, vous permettant d'enregistrer des choses importantes ou insignifiantes au quotidien. Grâce à une technologie unique de reconnaissance des émotions, Emmo Diary peut également vous aider à mieux comprendre et gérer vos émotions. Mais parfois, je constate que mon journal a été accidentellement supprimé et je ne sais pas comment le restaurer. Ce guide didacticiel vous apportera donc un guide de récupération détaillé, dans l'espoir d'aider toutes les personnes dans le besoin. Comment Emmo peut-il récupérer son ancien journal ? 1. Cliquez sur l'icône [Paramètres] dans le coin inférieur gauche de l'écran de sélection emmo pour entrer ; 2. Sélectionnez l'icône [Sauvegarde et restauration des données] sur l'écran et entrez l'opération.

Comment restaurer les commentaires supprimés sur Xiaohongshu ? Des conseils pour les commentaires supprimés ? Comment restaurer les commentaires supprimés sur Xiaohongshu ? Des conseils pour les commentaires supprimés ? Mar 27, 2024 am 11:56 AM

Xiaohongshu est une plateforme sociale de commerce électronique populaire où les utilisateurs peuvent partager des expériences d'achat, des détails sur leur vie, etc. Lors de l'utilisation, certains utilisateurs peuvent voir leurs commentaires supprimés. Alors, comment restaurer les commentaires supprimés sur Xiaohongshu ? 1. Comment restaurer les commentaires supprimés sur Xiaohongshu ? S'il s'avère qu'un commentaire a été supprimé par erreur, les utilisateurs peuvent choisir d'attendre que l'équipe officielle de Xiaohongshu le restaure. Dans ce cas, il est préférable d’être patient et d’attendre car l’équipe officielle peut automatiquement traiter et reprendre les commentaires après un certain temps. Si vous constatez qu'un commentaire a été supprimé, envisagez de republier un contenu similaire. Mais lorsque vous republiez, assurez-vous que le contenu est conforme aux directives de la communauté de Xiaohongshu pour éviter d'être à nouveau supprimé. 3. Contactez le service client de Xiaohongshu : si vous pensez que votre commentaire a été erroné

Comment récupérer des notes supprimées sur un téléphone Xiaomi Comment récupérer des notes supprimées sur un téléphone Xiaomi Mar 20, 2024 pm 09:16 PM

Comment récupérer des notes autocollantes supprimées sur les téléphones mobiles Xiaomi ? La modification de notes sur les téléphones mobiles Xiaomi peut les supprimer accidentellement, mais la plupart des utilisateurs ne savent pas comment récupérer des notes autocollantes supprimées. Voici ensuite le didacticiel graphique sur la façon de récupérer des notes autocollantes supprimées sur Xiaomi. téléphones portables apportés par l'éditeur, les utilisateurs intéressés viennent y jeter un œil ! Tutoriel d'utilisation du téléphone mobile Xiaomi Comment restaurer les notes supprimées du téléphone mobile Xiaomi 1. Tout d'abord, utilisez la fonction de notes autocollantes du téléphone mobile Xiaomi et accédez à la page principale 2. Recherchez ensuite les [Notes] guidées par la flèche indiquée dans la figure ci-dessous ; la page principale ; 3. Ensuite, il se développera. Dans la barre de fonctions, sélectionnez [Corbeille] ; 4. Ensuite, sur la page de la fonction Corbeille, recherchez le fichier de notes que vous souhaitez restaurer et cliquez dessus. 5. Enfin, développez la dernière fenêtre ; en bas et cliquez sur [Restaurer].

Analyse de la signification et de l'utilisation du point médian en PHP Analyse de la signification et de l'utilisation du point médian en PHP Mar 27, 2024 pm 08:57 PM

[Analyse de la signification et de l'utilisation du point médian PHP] En PHP, le point médian (.) est un opérateur couramment utilisé, utilisé pour connecter deux chaînes ou propriétés ou méthodes d'objets. Dans cet article, nous approfondirons la signification et l’utilisation des points médians en PHP, en les illustrant avec des exemples de code concrets. 1. Opérateur de point médian de chaîne de connexion L’utilisation la plus courante en PHP consiste à connecter deux chaînes. En plaçant . entre deux chaînes, vous pouvez les assembler pour former une nouvelle chaîne. $string1=&qu

Parsing Wormhole NTT : un framework ouvert pour n'importe quel jeton Parsing Wormhole NTT : un framework ouvert pour n'importe quel jeton Mar 05, 2024 pm 12:46 PM

Wormhole est un leader en matière d'interopérabilité blockchain, axé sur la création de systèmes décentralisés résilients et évolutifs qui donnent la priorité à la propriété, au contrôle et à l'innovation sans autorisation. Le fondement de cette vision est un engagement envers l'expertise technique, les principes éthiques et l'alignement de la communauté pour redéfinir le paysage de l'interopérabilité avec simplicité, clarté et une large suite de solutions multi-chaînes. Avec l’essor des preuves sans connaissance, des solutions de mise à l’échelle et des normes de jetons riches en fonctionnalités, les blockchains deviennent plus puissantes et l’interopérabilité devient de plus en plus importante. Dans cet environnement d’applications innovant, de nouveaux systèmes de gouvernance et des capacités pratiques offrent des opportunités sans précédent aux actifs du réseau. Les créateurs de protocoles se demandent désormais comment opérer dans ce nouveau marché multi-chaînes.

See all articles