真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

檢測(cè)數(shù)據(jù)塊損壞(BlockCorruption)

數(shù)據(jù)塊的損壞分兩種情況,第一種是物理性的,第二種是邏輯性的。物理性一般指數(shù)據(jù)塊頭部不可以訪問(wèn)、數(shù)據(jù)塊校驗(yàn)值不合法。邏輯性一般是在物理性結(jié)構(gòu)完整的情況下,數(shù)據(jù)的內(nèi)容在含義上不正確,比如保存了不允許的字段值。

下面分別用兩種情況說(shuō)明數(shù)據(jù)塊的物理錯(cuò)誤和數(shù)據(jù)的邏輯錯(cuò)誤

一、數(shù)據(jù)塊物理錯(cuò)誤:  physical bad block,物理性一般指數(shù)據(jù)塊頭部不可以訪問(wèn)、數(shù)據(jù)塊校驗(yàn)值不合法               
--創(chuàng)建表空間test                                                     

SQL> select name from v$datafile;

NAME
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/DBdb/system01.dbf
/u01/app/oracle/oradata/DBdb/sysaux01.dbf
/u01/app/oracle/oradata/DBdb/undotbs01.dbf
/u01/app/oracle/oradata/DBdb/users01.dbf
/u01/app/oracle/oradata/DBdb/example01.dbf

SQL> create tablespace test datafile '/u01/app/oracle/oradata/DBdb/test.dbf' size 10m;

Tablespace created.

--創(chuàng)建表test,使用表空間test
SQL> create table scott.test tablespace test as select * from dba_objects where rownum <=100;

Table created.  
  
SQL> col name for a70
SQL> set lines 200 pages 999
SQL> select f.file#,
  2         t.name tablespace,
  3         f.name,
  4         trunc(f.bytes / 1048576, 2) size_mb,
  5         to_char(f.creation_time, 'yyyy-mm-dd') creation_time,
  6         status
  7    from v$datafile f, v$tablespace t
  8   where f.ts# = t.ts#
  9   order by f.creation_time;
FILE# TABLESPACE NAME                                          SIZE_MB CREATION_T STATUS
----- ---------- ------------------------------------------ ---------- ---------- -------
    1 SYSTEM     /u01/app/oracle/oradata/DBdb/system01.dbf        2800 2013-08-24 SYSTEM
    2 SYSAUX     /u01/app/oracle/oradata/DBdb/sysaux01.dbf         710 2013-08-24 ONLINE
    4 USERS      /u01/app/oracle/oradata/DBdb/users01.dbf      3058.75 2013-08-24 ONLINE
    3 UNDOTBS1   /u01/app/oracle/oradata/DBdb/undotbs01.dbf       2965 2013-08-24 ONLINE
    5 EXAMPLE    /u01/app/oracle/oradata/DBdb/example01.dbf     338.75 2017-04-27 ONLINE
    6 TEST       /u01/app/oracle/oradata/DBdb/test.dbf              10 2018-01-26 ONLINE

6 rows selected.
                                                                        
--test表從數(shù)據(jù)塊128號(hào)開(kāi)始的8個(gè)塊(128-135),數(shù)據(jù)文件是6號(hào)。    

SQL> set lines 200
SQL> col name for a50
SQL> select a.file_id,a.block_id,a.blocks,b.name fromdba_extents a,v$datafile b  where a.file_id=b.file# and a.owner='SCOTT' and a.segment_name='TEST';

   FILE_ID   BLOCK_ID     BLOCKS NAME
---------- ---------- ---------- --------------------------------------------------
         6        128          8 /u01/app/oracle/oradata/DBdb/test.dbf
                            
--test所有的行保存在131和132數(shù)據(jù)塊中                             
SQL> select distinct dbms_rowid.rowid_block_number(rowid) from scott.test;   

DBMS_ROWID.ROWID_BLOCK_NUMBER(ROWID)
------------------------------------
132
131                                                                                                                                  
--改變132數(shù)據(jù)塊的內(nèi)容                                                
[oracle@wang ~]$ dd of=/u01/app/oracle/oradata/DBdb/test.dbf bs=8192 conv=notrunc seek=132 <> abcdefghijklmnopqrstuvwxyz
> EOF    
0+1 records in
0+1 records out
27 bytes (27 B) copied, 8.484e-05 s, 318 kB/s
[oracle@wang~]$     
                                                         
                                                                          

二、數(shù)據(jù)邏輯錯(cuò)誤:logical bad block,邏輯性一般是在物理性結(jié)構(gòu)完整的情況下,數(shù)據(jù)的內(nèi)容在含義上不正確  
                                              

--創(chuàng)建range分區(qū)表                                                    
SQL> create table scott.emp1 (empno number(4),ename varchar2(10),deptno number(2)) partition by range (deptno)                                     
(partition p1 values less than (10) tablespace users,partition p2 values less than (20) tablespace users, partition p3 values less than (30)) tablespace users;

Table created. 

SQL> conn scott/tiger;
Connected.
SQL>         

SQL> select EMPNO,ENAME,DEPTNO from EMP;

     EMPNO ENAME          DEPTNO
---------- ---------- ----------
      7499 ALLEN              30
      7521 WARD               30
      7566 JONES              20
      7654 MARTIN             30
      7698 BLAKE              30
      7782 CLARK              10
      7788 SCOTT              20
      7839 KING               10
      7844 TURNER             30
      7876 ADAMS              20
      7900 JAMES              30

     EMPNO ENAME          DEPTNO
---------- ---------- ----------
      7902 FORD               20
      7934 MILLER             10

13 rows selected.
                
SQL> insert into scott.emp1 select  EMPNO,ENAME,DEPTNO from SCOTT.EMP where deptno<30;

7 rows created.

SQL> commit;

Commit
                                                       
--EMP1表從數(shù)據(jù)塊40576號(hào)開(kāi)始的1024個(gè)塊(40576+1024=41600)以及從數(shù)據(jù)塊41600號(hào)開(kāi)始的1024個(gè)塊(41600+1024=42624),數(shù)據(jù)文件是4號(hào)。

 
SQL>  select a.file_id,a.block_id,a.blocks,b.name from dba_extents a,v$datafile b  where a.file_id=b.file# and a.owner='SCOTT' and a.segment_name='EMP1';

   FILE_ID   BLOCK_ID     BLOCKS NAME
---------- ---------- ---------- --------------------------------------------------
         4      40576       1024 /u01/app/oracle/oradata/DBdb/users01.dbf
         4      41600       1024 /u01/app/oracle/oradata/DBdb/users01.dbf


--deptno是30的記錄不能插入emp1表                                
SQL> insert into scott.emp1 values(1000,'SCOTT',30);  
insert into scott.emp1 values(1000,'SCOTT',30)
                  *
ERROR at line 1:
ORA-14400: inserted partition key does not map to any partition

                              
--使用交換分區(qū)的方式讓emp1表接受deptno為30的行                     
SQL> create table scott.emp2 (empno number(4),ename varchar2(10),deptno number(2)) tablespace users;  

Table created.

SQL> insert into scott.emp2 values(1000,'SCOTT',30);

1 row created.

SQL> alter table scott.emp1 exchange partition p3 with table scott.emp2 without validation;

Table altered.

SQL>                                                                                                                                                     --deptno為30的記錄已插入emp1表                                   
SQL> select * from scott.emp1 partition (p3);   

     EMPNO ENAME          DEPTNO
---------- ---------- ----------
      1000 SCOTT              30

SQL> select * from scott.emp1;

     EMPNO ENAME          DEPTNO
---------- ---------- ----------
      7782 CLARK              10
      7839 KING               10
      7934 MILLER             10
      1000 SCOTT              30
 
SQL> select * from scott.emp2;

     EMPNO ENAME          DEPTNO
---------- ---------- ----------
      7566 JONES              20
      7788 SCOTT              20
      7876 ADAMS              20
      7902 FORD               20
                                                                                                                           
三、oracle提供了很多工具用來(lái)檢查數(shù)據(jù)塊是否損壞,有的可以從物理層面上檢查,有的可以從邏輯層面上檢測(cè) 

1.1 DBVERIFY工具,數(shù)據(jù)塊的物理錯(cuò)誤可以通過(guò)DBV命令檢查出來(lái)
DBVerify - Identify Datafile Block Corruptions
    DBVERIFY identifiesPhysical and Logical Intra Block Corruptionsby default. Dbverify cannot be run for the whole database in a single command. It does not need a database connection either:

[oracle@wang ~]$ dbv file=/u01/app/oracle/oradata/DBdb/test.dbfblocksize=8192

DBVERIFY: Release 11.2.0.4.0 - Production on Wed Nov 8 22:57:05 2017

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

DBVERIFY - Verification starting : FILE = /u01/app/oracle/oradata/DBdb/test.dbf
Page 132 is marked                                            ---檢查test表空間的數(shù)據(jù)文件可以發(fā)現(xiàn)132塊已經(jīng)損壞。
Corrupt block relative dba: 0x01800084 (file 6, block 132)   --file 6, block 132,與我們自己手工破壞的塊號(hào)匹配(scott.test表)
Bad header found during dbv:
Data in bad block:
 type: 97 format: 2 rdba: 0x68676665
 last change scn: 0x6e6d.6c6b6a69 seq: 0x6f flg: 0x70
 spare1: 0x63 spare2: 0x64 spare3: 0x7473
 consistency value in tail: 0x658b0602
 check value in block header: 0x7271
 block checksum disabled

DBVERIFY - Verification complete

Total Pages Examined         : 1280
Total Pages Processed (Data) : 1
Total Pages Failing   (Data) : 0
Total Pages Processed (Index): 0
Total Pages Failing   (Index): 0
Total Pages Processed (Other): 130
Total Pages Processed (Seg)  : 0
Total Pages Failing   (Seg)  : 0
Total Pages Empty            : 1148
Total Pages Marked Corrupt   : 1
Total Pages Influx           : 0
Total Pages Encrypted        : 0
Highest block SCN            : 4023695 (0.4023695)
[oracle@wang ~]$                                
                                                                                                                                                         --檢查users表空間的數(shù)據(jù)文件沒(méi)有發(fā)現(xiàn)邏輯錯(cuò)誤
[oracle@wang ~]$dbv file=/u01/app/oracle/oradata/DBdb/users01.dbf blocksize=8192    


DBVERIFY: Release 11.2.0.4.0 - Production on Wed Nov 8 23:01:07 2017

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

DBVERIFY - Verification starting : FILE = /u01/app/oracle/oradata/DBdb/users01.dbf


DBVERIFY - Verification complete

Total Pages Examined         : 391520
Total Pages Processed (Data) : 290743
Total Pages Failing   (Data) : 0
Total Pages Processed (Index): 12935
Total Pages Failing   (Index): 0
Total Pages Processed (Other): 67340
Total Pages Processed (Seg)  : 0
Total Pages Failing   (Seg)  : 0
Total Pages Empty            : 20502
Total Pages Marked Corrupt   : 0
Total Pages Influx           : 0
Total Pages Encrypted        : 0
Highest block SCN            : 4024489 (0.4024489)
[oracle@wang~]$                                                                                                                                                                                              
1.2 RMAN的backup命令                                                 
RMAN - Identify Datafile Block Corruptions

To identify both Physical and Logical Block Corruptions use the "CHECK LOGICAL" option. The next command checks the complete database for both corruptionswithout actually doing a backup:
添加check logical選項(xiàng)可以檢查邏輯壞塊;

$ rman target /
RMAN>  backupcheck logicalvalidate

The next command checks the complete database for both corruptions in a backup:

$ rman target /
RMAN> backupcheck logical database

檢查壞塊,示例:
backup check logical validate datafile 6;
validate check logical datafile 6;

validate database;                                --驗(yàn)證整個(gè)數(shù)據(jù)庫(kù)
validate backupset 22;                            --驗(yàn)證某個(gè)備份文件
validate tablespace users;                        --驗(yàn)證某個(gè)表空間
validate datafile 1;                              --驗(yàn)證某個(gè)數(shù)據(jù)文件
validate datafile 1 block 10;                     --驗(yàn)證某個(gè)數(shù)據(jù)文件中的某個(gè)塊   
validate check logical datafile 1 BLOCK 5 TO 20;  --檢查數(shù)據(jù)文件 1 中的數(shù)據(jù)塊 5 到 20
                                                        
backup validate database;                         --驗(yàn)證所有文件,包括數(shù)據(jù)文件、控制文件、參數(shù)文件
backup validate datafile 6;                       --驗(yàn)證6號(hào)數(shù)據(jù)文件      
backup validate datafile 4;                       --驗(yàn)證4號(hào)數(shù)據(jù)文件

注意:這個(gè)命令只是檢查數(shù)據(jù)庫(kù)的壞塊,而不會(huì)真正進(jìn)行備份。從 11g 開(kāi)始可以省略 backup 子句,而直接使用命令"validate check logical database"。
如果由于缺失文件導(dǎo)致命令失敗,可以增加 'SKIP INACCESSIBLE' 子句來(lái)避免這個(gè)問(wèn)題,為了加快檢查速度,可以設(shè)置 PARALLELISM 指定多個(gè)通道:

壞塊信息會(huì)被記錄在視圖 V$DATABASE_BLOCK_CORRUPTION 中。使用如上validate 子句檢查數(shù)據(jù)文件等后 RMAN 會(huì)生成一個(gè) trace 文件,詳細(xì)描述壞塊信息

或者備份數(shù)據(jù)文件,也可以檢查出壞塊。
v$database_block_corruption查看backup操作發(fā)現(xiàn)的損壞                             
V$DATABASE_BLOCK_CORRUPTION displays information about database blocks that were corrupted after the last backup.  此視圖只顯示上次備份后損壞的數(shù)據(jù)庫(kù)塊的信息。

參考:http://www.linuxidc.com/Linux/2014-08/105897.htm

1.2.1使用rman備份檢查壞塊:

[oracle@wang ~]$ rman target /

Recovery Manager: Release 11.2.0.4.0 - Production on Wed Nov 8 23:07:46 2017

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

connected to target database: DBDB (DBID=3282897732)

RMAN>backup datafile 6;

Starting backup at 08-NOV-17
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=31 device type=DISK
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00006 name=/u01/app/oracle/oradata/DBdb/test.dbf
channel ORA_DISK_1: starting piece 1 at 08-NOV-17
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: failure of backup command on ORA_DISK_1 channel at 11/08/2017 23:07:52
ORA-19566:exceeded limit of 0 corrupt blocks for file /u01/app/oracle/oradata/DBdb/test.dbf

RMAN>               

驗(yàn)證說(shuō)明;備份test表空間數(shù)據(jù)文件時(shí)報(bào)錯(cuò),備份要求數(shù)據(jù)塊0錯(cuò)誤??梢允褂靡晥Dv$database_block_corruption查看backup操作發(fā)現(xiàn)的損壞的塊。

V$DATABASE_BLOCK_CORRUPTION displays information about database blocks that were corrupted after the last backup.

查詢?nèi)缦拢?/strong>
SQL> select * fromv$database_block_corruption;

     FILE#     BLOCK#     BLOCKS CORRUPTION_CHANGE# CORRUPTIO
---------- ---------- ---------- ------------------ ---------
         6        132          1                  0 CORRUPT
 物理壞塊被發(fā)現(xiàn)

RMAN> backup datafile 4;

Starting backup at 26-JAN-18
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=00004 name=/u01/app/oracle/oradata/DBdb/users01.dbf
channel ORA_DISK_1: starting piece 1 at 26-JAN-18
channel ORA_DISK_1: finished piece 1 at 26-JAN-18
piece handle=/u01/app/oracle/fast_recovery_area/DBDB/newback/DBDB/backupset/2018_01_26/o1_mf_nnndf_TAG20180126T065941_f6nrbxnx_.bkp tag=TAG20180126T065941 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:03
Finished backup at 26-JAN-18

RMAN>

--再次檢查視圖:
SQL> select * from v$database_block_corruption;

     FILE#     BLOCK#     BLOCKS CORRUPTION_CHANGE# CORRUPTIO
---------- ---------- ---------- ------------------ ---------
         6        132          1                  0 CORRUPT

邏輯壞塊未被檢測(cè)出來(lái);

1.2.2 使用 validate check logical子句檢查邏輯及物理壞塊
RMAN> validate check logical datafile 6;

Starting validate at 26-JAN-18
using channel ORA_DISK_1
channel ORA_DISK_1: starting validation of datafile
channel ORA_DISK_1: specifying datafile(s) for validation
input datafile file number=00006 name=/u01/app/oracle/oradata/DBdb/test.dbf
channel ORA_DISK_1: validation complete, elapsed time: 00:00:01
List of Datafiles
=================
File Status Marked Corrupt Empty Blocks Blocks Examined High SCN
---- ------ -------------- ------------ --------------- ----------
6    FAILED 0              1148         1280            4177988   
  File Name: /u01/app/oracle/oradata/DBdb/test.dbf
  Block Type Blocks Failing Blocks Processed
  ---------- -------------- ----------------
  Data       0              1               
  Index      0              0               
  Other      1              131             

validate found one or more corrupt blocks
See trace file /u01/app/oracle/diag/rdbms/dbdb/DBdb/trace/DBdb_ora_32387.trc for details
Finished validate at 26-JAN-18

RMAN> validate check logical datafile 4;

Starting validate at 26-JAN-18
using channel ORA_DISK_1
channel ORA_DISK_1: starting validation of datafile
channel ORA_DISK_1: specifying datafile(s) for validation
input datafile file number=00004 name=/u01/app/oracle/oradata/DBdb/users01.dbf
channel ORA_DISK_1: validation complete, elapsed time: 00:00:45
List of Datafiles
=================
File Status Marked Corrupt Empty Blocks Blocks Examined High SCN
---- ------ -------------- ------------ --------------- ----------
4    OK     0              21386        391549          4178643   
  File Name: /u01/app/oracle/oradata/DBdb/users01.dbf
  Block Type Blocks Failing Blocks Processed
  ---------- -------------- ----------------
  Data       0              241463          
  Index      0              55618           
  Other      0              73053           

Finished validate at 26-JAN-18

RMAN> 
未檢查出邏輯壞塊。。。。。。。。。。。。。
                            

 1.3 exp/expdp命令 
exp/expdp命令導(dǎo)出數(shù)據(jù)庫(kù)時(shí)會(huì)完全掃描每個(gè)數(shù)據(jù)塊,所以也會(huì)檢查出數(shù)據(jù)塊的物理錯(cuò)誤。
[oracle@wang ~]$ exp scott/tiger owner=scott


Export: Release 11.2.0.4.0 - Production on Thu Nov 9 00:16:08 2017

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


Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Export done in ZHS16GBK character set and AL16UTF16 NCHAR character set

About to export specified users ...
. exporting pre-schema procedural objects and actions
. exporting foreign function library names for user SCOTT
. exporting PUBLIC type synonyms
. exporting private type synonyms
. exporting object type definitions for user SCOTT
About to export SCOTT's objects ...
. exporting database links
. exporting sequence numbers
. exporting cluster definitions
. about to export SCOTT's tables via Conventional Path ...
. . exporting table                          BONUS          0 rows exported
. . exporting table                           DEPT          4 rows exported
. . exporting table                            EMP         13 rows exported
. . exporting table                           EMP1
. . exporting partition                             P1          0 rows exported
. . exporting partition                             P2          3 rows exported
. . exporting partition                             P3          1 rows exported     --邏輯錯(cuò)誤沒(méi)檢查出來(lái)。
. . exporting table                           EMP2          4 rows exported
. . exporting table                         GRADES          0 rows exported
. . exporting table                           JOBS         13 rows exported
. . exporting table                        STUDENT          0 rows exported
. . exporting table                           TEST
EXP-00056: ORACLE error 1578 encountered
ORA-01578: ORACLE data block corrupted (file # 6, block # 132)                  --檢測(cè)出6號(hào)數(shù)據(jù)文件的132號(hào)塊損壞
ORA-01110: data file 6: '/u01/app/oracle/oradata/DBdb/test.dbf'
. exporting synonyms
. exporting views
. exporting stored procedures
. exporting operators
. exporting referential integrity constraints
. exporting triggers
. exporting indextypes
. exporting bitmap, functional and extensible indexes
. exporting posttables actions
. exporting materialized views
. exporting snapshot logs
. exporting job queues
. exporting refresh groups and children
. exporting dimensions
. exporting post-schema procedural objects and actions
. exporting statistics
Export terminated successfully with warnings.
                                                   
1.4 ANALYZE語(yǔ)句 
analyze... validate staructure語(yǔ)句可以分析表和索引的邏輯完整性,所以能夠檢測(cè)出上面例子中分區(qū)表的邏輯錯(cuò)誤。

檢測(cè)數(shù)據(jù)塊損壞(Block Corruption)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">

--analyze語(yǔ)句要求有一張保存分析結(jié)果的表,執(zhí)行utlvalid.sql腳本建立invalid_rows表保存分析結(jié)果。
QL> @?/rdbms/admin/utlvalid.sql


Table creat
新聞名稱:檢測(cè)數(shù)據(jù)塊損壞(BlockCorruption)
網(wǎng)站地址:http://weahome.cn/article/jhiehs.html

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部