{"id":4521,"date":"2021-11-03T21:35:26","date_gmt":"2021-11-03T12:35:26","guid":{"rendered":"http:\/\/haisins.epac.to\/wordpress\/?p=4521"},"modified":"2021-11-03T21:35:26","modified_gmt":"2021-11-03T12:35:26","slug":"block-corruption","status":"publish","type":"post","link":"http:\/\/haisins.synology.me\/wordpress\/?p=4521","title":{"rendered":"BLOCK  CORRUPTION"},"content":{"rendered":"<h1><a name=\"_Toc259696749\"><\/a>1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \uac1c\uc694 \ubc0f \ubaa9\uc801<\/h1>\n<ul>\n<li>Blcok corruption\uc774 \ubc1c\uc0dd\uc73c\ub85c \uc778\ud55c \uc624\ub958 ORA-01578 \ubc1c\uc0dd\uc6d0\uc778\uacfc \uc885\ub958 \ubc0f \ud655\uc778, \ucc98\ub9ac\ubc29\ubc95\uc5d0 \uc774\ubb38\uc11c\uc758 \ubaa9\uc801\uc744 \ub454\ub2e4.<\/li>\n<\/ul>\n<h2><a name=\"_Toc258316868\"><\/a><a name=\"_Toc259696750\"><\/a>1.1\u00a0\u00a0 Block Corruption \uc885\ub958<\/h2>\n<h3><a name=\"_Toc258316869\"><\/a><a name=\"_Toc259696751\"><\/a>1.1.1\u00a0 Logical Corruption<\/h3>\n<ul>\n<li>\uba54\ubaa8\ub9ac \ube14\ub85d\uc758 \uc190\uc0c1<\/li>\n<li>ORA-600 \uc5d0\ub7ec\uc911 \uccab\ubc88\uc9f8 \uc778\uc218\uac00 3398 \ubc1c\uc0dd<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h3><a name=\"_Toc258316870\"><\/a><a name=\"_Toc259696752\"><\/a>1.1.2\u00a0 Physical Corruption<\/h3>\n<ul>\n<li>\ubb3c\ub9ac\uc801 \ube14\ub85d\uc758 \uc190\uc0c1<\/li>\n<li>ORA-1579 \uc5d0\ub7ec\ubc1c\uc0dd<\/li>\n<li>ORA-600 [3339]\uc640 ORA-600[4519] \ub294 \uba54\ubaa8\ub9ac\uc640 \ub514\uc2a4\ud06c \uc190\uc0c1 \ubaa8\ub450\uc640 \uc5f0\uad00<\/li>\n<\/ul>\n<h1><a name=\"_Toc259696753\"><\/a>2\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 BLOCK CORRUPTION \ubc1c\uc0dd\uc6d0\uc778<\/h1>\n<ul>\n<li>Disk \uc190\uc0c1\uc73c\ub85c \uc778\ud55c \ubb38\uc81c \ubc1c\uc0dd<\/li>\n<li>\uba54\ubaa8\ub9ac\uc0c1\uc5d0\uc11c \uc774\ubbf8 \uc190\uc0c1\ub41c \ube14\ub85d\uc744 \ub514\uc2a4\ud06c\uc0c1\uc5d0 \uadf8\ub300\ub85c \uae30\ub85d\ub41c \uacbd\uc6b0<\/li>\n<li>\ube14\ub85d\uc774 \ub370\uc774\ud130\ud30c\uc77c\uc0c1\uc758 \uae30\ub85d\ub420 \uc704\uce58\ub97c \uc798\ubabb\ucc3e\uc544 \uc190\uc0c1\ub41c\uacbd\uc6b0(write blocks out of sequence)<\/li>\n<li>I\/O controller \ubb38\uc81c<\/li>\n<li>\ub3d9\uc77c\ud55c \ub514\ubc14\uc774\uc2a4\uc5d0\uc11c \ub2e4\ub978 \ube14\ub85d\uc744 \uc77d\uc5b4\uc628\uacbd\uc6b0 (O\/S, H\/W \ubb38\uc81c\uc778 \uacbd\uc6b0 \ub9ce\uc74c)<\/li>\n<li>Oracle\uc774\ub098 O\/S bug<\/li>\n<\/ul>\n<h1><a name=\"_Toc259696754\"><\/a>3\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Block corruption \ud655\uc778<\/h1>\n<ul>\n<li>\uc190\uc0c1\ub41c \ube14\ub85d access\uc2dc\uc5d0 \uc5d0\ub7ec\ubc1c\uc0dd<\/li>\n<\/ul>\n<table>\n<tbody>\n<tr>\n<td width=\"656\">select * from t1;<br \/>\nERROR at line 1:<br \/>\nORA-01578: ORACLE data block corrupted (file # x, block #xxxx)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<ul>\n<li>dbv \ud655\uc778<\/li>\n<\/ul>\n<table>\n<tbody>\n<tr>\n<td width=\"656\">dbv file=test1_01.dbf blocksize=8192<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<ul>\n<li>Corruption\ub41c \ube14\ub85d\uc758 object \ud655\uc778<\/li>\n<\/ul>\n<table>\n<tbody>\n<tr>\n<td width=\"656\">&#8212; f: \ud654\uc77c\ubc88\ud638<\/p>\n<p>&#8212; b: \ube14\ub7ed\ubc88\ud638<\/p>\n<p>select segment_name, segment_type<\/p>\n<p>from dba_extents<\/p>\n<p>where file_id = f and<\/p>\n<p>b between block_id and block_id + blocks &#8211; 1;<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<h1><a name=\"_Toc259696755\"><\/a>4\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 RECOVERY SCENARIO<\/h1>\n<h2><a name=\"_Toc258316874\"><\/a><a name=\"_Toc259696756\"><\/a>4.1\u00a0\u00a0 RMAN\uc744 \uc774\uc6a9\ud55c RECOVERY<\/h2>\n<h3><a name=\"_Toc258316875\"><\/a><a name=\"_Toc259696757\"><\/a>4.1.1\u00a0 \ud658\uacbd\uad6c\uc131<\/h3>\n<table>\n<tbody>\n<tr>\n<td width=\"656\">SQL&gt; create tablespace test1 datafile &#8216;\/u01\/oradata\/ORA\/test1_01.dbf&#8217; size 1M;<\/p>\n<p>SQL&gt; alter user test identified by test default tablespace test1;<\/p>\n<p>SQL&gt; insert into t1<\/p>\n<p>select *<\/p>\n<p>from dual<\/p>\n<p>connect by level &lt;=1000;<\/p>\n<p>SQL&gt; commit;<\/p>\n<p>SQL&gt; alter system switch logfile;<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<h3><a name=\"_Toc258316876\"><\/a><a name=\"_Toc259696758\"><\/a>4.1.2\u00a0 Rman backup \uc218\ud589<\/h3>\n<table>\n<tbody>\n<tr>\n<td width=\"656\">RMAN&gt; report schema;<\/p>\n<p>Report of database schema<\/p>\n<p>List of Permanent Datafiles<\/p>\n<p>===========================<\/p>\n<p>File Size(MB) Tablespace\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 RB segs Datafile Name<\/p>\n<p>&#8212;- &#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; &#8212;&#8212;- &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<\/p>\n<p>5\u00a0\u00a0\u00a0 0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 MGMT_TABLESPACE\u00a0\u00a0\u00a0\u00a0\u00a0 ***\u00a0\u00a0\u00a0\u00a0 \/u01\/app\/oracle\/OracleHome\/oms10g\/oradata\/mgmt.dbf<\/p>\n<p>6\u00a0\u00a0\u00a0 0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 MGMT_ECM_DEPOT_TS\u00a0\u00a0\u00a0 ***\u00a0\u00a0\u00a0\u00a0 \/u01\/app\/oracle\/OracleHome\/oms10g\/oradata\/mgmt_ecm_depot1.dbf<\/p>\n<p><strong>7\u00a0\u00a0\u00a0 1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 TEST1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ***\u00a0\u00a0\u00a0\u00a0 \/u01\/oradata\/ORA\/test1_01.dbf<\/strong><\/p>\n<p>List of Temporary Files<\/p>\n<p>=======================<\/p>\n<p>File Size(MB) Tablespace\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Maxsize(MB) Tempfile Name<\/p>\n<p>&#8212;- &#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/p>\n<p>1\u00a0\u00a0\u00a0 20\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 TEMP\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 32767\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \/u01\/oradata\/ORA\/temp01.dbf<\/p>\n<p>&nbsp;<\/p>\n<p>RMAN&gt; backup tablespace test1;<\/p>\n<p>Starting backup at 02-APR-10<\/p>\n<p>piece handle=\/u01\/recovery\/ORA\/backupset\/2010_04_02\/o1_mf_nnndf_TAG20100402T150042_5vc20b5t_.bkp tag=TAG20100402T150042 comment=NONE<\/p>\n<p>Finished backup at 02-APR-10<\/p>\n<p>RMAN&gt; list backup<\/p>\n<p>RMAN&gt; list backupset 11;<\/p>\n<p>List of Backup Sets<\/p>\n<p>===================<\/p>\n<p>BS Key\u00a0 Type LV Size\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Device Type Elapsed Time Completion Time<\/p>\n<p>&#8212;&#8212;- &#8212;- &#8212; &#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8212; &#8212;&#8212;&#8212;&#8212;&#8212;<\/p>\n<p>11\u00a0\u00a0\u00a0\u00a0\u00a0 Full\u00a0\u00a0\u00a0 152.00K\u00a0\u00a0\u00a0 DISK\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 00:00:00\u00a0\u00a0\u00a0\u00a0 02-APR-10<\/p>\n<p>BP Key: 11\u00a0\u00a0 Status: AVAILABLE\u00a0 Compressed: NO\u00a0 Tag: TAG20100402T150042<\/p>\n<p>Piece Name: \/u01\/recovery\/ORA\/backupset\/2010_04_02\/o1_mf_nnndf_TAG20100402T150042_5vc20b5t_.bkp<\/p>\n<p>List of Datafiles in backup set 11<\/p>\n<p>File LV Type Ckp SCN\u00a0\u00a0\u00a0 Ckp Time\u00a0 Name<\/p>\n<p>&#8212;- &#8212; &#8212;- &#8212;&#8212;&#8212;- &#8212;&#8212;&#8212; &#8212;-<\/p>\n<p>7\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Full 1621908\u00a0\u00a0\u00a0 02-APR-10 \/u01\/oradata\/ORA\/test1_01.dbf<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h3><a name=\"_Toc258316877\"><\/a><a name=\"_Toc259696759\"><\/a>4.1.3\u00a0 BLOCK CORRUPT \uc791\uc5c5<\/h3>\n<table width=\"670\">\n<tbody>\n<tr>\n<td width=\"670\">l\u00a0 Segment \uc815\ubcf4\ud655\uc778<\/p>\n<p>select owner, segment_name, segment_type, header_file, header_block, blocks,<\/p>\n<p>tablespace_name from dba_segments<\/p>\n<p>where owner =&#8217;TEST&#8217; and segment_name =&#8217;T1&#8242;;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<table width=\"655\">\n<tbody>\n<tr>\n<td width=\"62\">OWNER<\/td>\n<td width=\"102\">SEGMENT_NAME<\/td>\n<td width=\"109\">SEGMENT_TYPE<\/td>\n<td width=\"93\">HEADER_FILE<\/td>\n<td width=\"108\">HEADER_BLOCK<\/td>\n<td width=\"60\">BLOCKS<\/td>\n<td width=\"120\">TABLESPACE_NAME<\/td>\n<\/tr>\n<tr>\n<td width=\"62\">TEST<\/td>\n<td width=\"102\">T1<\/td>\n<td width=\"109\">TABLE<\/td>\n<td width=\"93\">7<\/td>\n<td width=\"108\">11<\/td>\n<td width=\"60\">8<\/td>\n<td width=\"120\">TEST1<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>l\u00a0 Data file \uc815\ubcf4<\/p>\n<p>select file#, ts#, rfile#, status, enabled, name, blocks, block_size<\/p>\n<p>from v$datafile where file#= 7 ;<\/p>\n<p>&nbsp;<\/p>\n<table width=\"661\">\n<tbody>\n<tr>\n<td width=\"58\">FILE#<\/td>\n<td width=\"36\">TS#<\/td>\n<td width=\"56\">RFILE#<\/td>\n<td width=\"65\">STATUS<\/td>\n<td width=\"85\">ENABLED<\/td>\n<td width=\"216\">NAME<\/td>\n<td width=\"60\">BLOCKS<\/td>\n<td width=\"85\">BLOCK_SIZE<\/td>\n<\/tr>\n<tr>\n<td width=\"58\">7<\/td>\n<td width=\"36\">9<\/td>\n<td width=\"56\">7<\/td>\n<td width=\"65\">ONLINE<\/td>\n<td width=\"85\">READ WRITE<\/td>\n<td width=\"216\">\/u01\/oradata\/ORA\/test1_01.dbf<\/td>\n<td width=\"60\">128<\/td>\n<td width=\"85\">8192<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p>l\u00a0 Corrupt \ud560 block \uc815\ubcf4 \ud655\uc778 (15\ubc88 block corrution \uc608\uc815)<\/p>\n<p>select c1, rowid, dbms_rowid.rowid_relative_fno(rowid) fno#,<\/p>\n<p>dbms_rowid.rowid_block_number(rowid) blk#<\/p>\n<p>from t1;<\/p>\n<p>&nbsp;<\/p>\n<table width=\"660\">\n<tbody>\n<tr>\n<td width=\"108\">\ubc88\ud638<\/td>\n<td width=\"84\">C1<\/td>\n<td width=\"228\">ROWID<\/td>\n<td width=\"120\">FNO#<\/td>\n<td width=\"120\">BLK#<\/td>\n<\/tr>\n<tr>\n<td width=\"108\">94<\/td>\n<td width=\"84\">X<\/td>\n<td width=\"228\">AAARr8AAHAAAAAMABd<\/td>\n<td width=\"120\">7<\/td>\n<td width=\"120\">12<\/td>\n<\/tr>\n<tr>\n<td width=\"108\">95<\/td>\n<td width=\"84\">X<\/td>\n<td width=\"228\">AAARr8AAHAAAAAMABe<\/td>\n<td width=\"120\">7<\/td>\n<td width=\"120\">12<\/td>\n<\/tr>\n<tr>\n<td width=\"108\">96<\/td>\n<td width=\"84\">X<\/td>\n<td width=\"228\">AAARr8AAHAAAAAMABf<\/td>\n<td width=\"120\">7<\/td>\n<td width=\"120\">12<\/td>\n<\/tr>\n<tr>\n<td width=\"108\">97<\/td>\n<td width=\"84\">1111<\/td>\n<td width=\"228\">AAARr8AAHAAAAAPAAA<\/td>\n<td width=\"120\">7<\/td>\n<td width=\"120\">15<\/td>\n<\/tr>\n<tr>\n<td width=\"108\">98<\/td>\n<td width=\"84\">2222<\/td>\n<td width=\"228\">AAARr8AAHAAAAAPAAB<\/td>\n<td width=\"120\">7<\/td>\n<td width=\"120\">15<\/td>\n<\/tr>\n<tr>\n<td width=\"108\">99<\/td>\n<td width=\"84\">X<\/td>\n<td width=\"228\">AAARr8AAHAAAAAPAAC<\/td>\n<td width=\"120\">7<\/td>\n<td width=\"120\">15<\/td>\n<\/tr>\n<tr>\n<td width=\"108\">100<\/td>\n<td width=\"84\">X<\/td>\n<td width=\"228\">AAARr8AAHAAAAAPAAD<\/td>\n<td width=\"120\">7<\/td>\n<td width=\"120\">15<\/td>\n<\/tr>\n<tr>\n<td width=\"108\">101<\/td>\n<td width=\"84\">X<\/td>\n<td width=\"228\">AAARr8AAHAAAAAPAAE<\/td>\n<td width=\"120\">7<\/td>\n<td width=\"120\">15<\/td>\n<\/tr>\n<tr>\n<td width=\"108\">102<\/td>\n<td width=\"84\">X<\/td>\n<td width=\"228\">AAARr8AAHAAAAAPAAF<\/td>\n<td width=\"120\">7<\/td>\n<td width=\"120\">15<\/td>\n<\/tr>\n<tr>\n<td width=\"108\">562<\/td>\n<td width=\"84\">X<\/td>\n<td width=\"228\">AAARr8AAHAAAAAQAAM<\/td>\n<td width=\"120\">7<\/td>\n<td width=\"120\">16<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p>l\u00a0 15\ubc88\uc9f8 block corruption \ud55c\ub2e4<\/p>\n<p>$ dd if=\/dev\/zero of=\/u01\/oradata\/ORA\/test1_01.dbf seek=15 count=1 bs=8192 conv=notrunc<\/p>\n<p>1+0 records in<\/p>\n<p>1+0 records out<\/p>\n<p>$<\/p>\n<p>SQL&gt; alter system flush buffer_cache;\u00a0 \uf0e8 buffer cache\ub97c flush \ud55c\ub2e4<\/p>\n<p>System altered.<\/p>\n<p>SQL&gt; select * from t1;<\/p>\n<p>select * from t1<\/p>\n<p>*<\/p>\n<p>ERROR at line 1:<\/p>\n<p>ORA-08103: object no longer exists<\/p>\n<p>SQL&gt; select * from t1 where rowid =&#8217;AAARr8AAHAAAAAMABd&#8217;;\u00a0 \uf0e8 12\ubc88 block rowid\ub85c \ud655\uc778<\/p>\n<p>C1<\/p>\n<p>&#8212;&#8212;&#8212;-<\/p>\n<p>X<\/p>\n<p>SQL&gt; select * from t1 where rowid =&#8217;AAARr8AAHAAAAAPAAA&#8217;; \uf0e8 15\ubc88 rowid\ub85c \ud655\uc778<\/p>\n<p>select * from t1 where rowid =&#8217;AAARr8AAHAAAAAPAAA&#8217;<\/p>\n<p>*<\/p>\n<p>ERROR at line 1:<\/p>\n<p>ORA-08103: object no longer exists<\/p>\n<p>&nbsp;<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<h3><a name=\"_Toc258316878\"><\/a><a name=\"_Toc259696760\"><\/a>4.1.4\u00a0 Block corruption \ud655\uc778<\/h3>\n<h4>4.1.4.1\u00a0\u00a0\u00a0 Dbv\ub97c \uc774\uc6a9\ud55c \ud655\uc778<\/h4>\n<table>\n<tbody>\n<tr>\n<td width=\"656\">$ dbv file=test1_01.dbf blocksize=8192<\/p>\n<p>DBVERIFY: Release 10.2.0.1.0 &#8211; Production on Fri Apr 2 16:40:08 2010<\/p>\n<p>Copyright (c) 1982, 2005, Oracle.\u00a0 All rights reserved.<\/p>\n<p>DBVERIFY &#8211; Verification starting : FILE = test1_01.dbf<\/p>\n<p><strong>Page 15 is marked corrupt<\/strong><\/p>\n<p><strong>Corrupt block relative dba: 0x01c0000f (file 7, block 15)<\/strong><\/p>\n<p>Completely zero block found during dbv:<\/p>\n<p>DBVERIFY &#8211; Verification complete<\/p>\n<p>Highest block SCN\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : 1621880 (0.1621880)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<h4>4.1.4.2\u00a0\u00a0\u00a0 dbms_repair package\ub97c \ud65c\uc6a9\ud55c \ud655\uc778\uc791\uc5c5<\/h4>\n<table>\n<tbody>\n<tr>\n<td width=\"656\">l\u00a0 \uc190\uc0c1\ub41c \ube14\ub85d\uc758 \uc815\ubcf4\ub97c \ubcf4\uad00\ud55c table, view \uc0dd\uc131<\/p>\n<p>SQL&gt; exec dbms_repair.admin_tables(&#8216;<\/p>\n<p>REPAIR_TABLE&#8217;,\u00a0 \uf0e8 table name<\/p>\n<p>DBMS_REPAIR.REPAIR_TABLE, \uf0e8 table type<\/p>\n<p>DBMS_REPAIR.CREATE_ACTION, \uf0e8 \uc791\uc5c5<\/p>\n<p>&#8216;USERS&#8217;); \uf0e8 \ud14c\uc774\ube14\uc2a4\ud398\uc774\uc2a4<\/p>\n<p>PL\/SQL procedure successfully completed.<\/p>\n<p>SQL&gt; select * from tab where tname like &#8216;%REPAIR%&#8217;;<\/p>\n<p>TNAME\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 TABTYPE\u00a0\u00a0 CLUSTERID<\/p>\n<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; &#8212;&#8212;- &#8212;&#8212;&#8212;-<\/p>\n<p>REPAIR_TABLE\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 TABLE<\/p>\n<p>DBA_REPAIR_TABLE\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 VIEW<\/p>\n<p>l\u00a0 \uc190\uc0c1\ub41c \ube14\ub85d\uc744 \uac00\uc9c4 \ud14c\uc774\ube14\uc758 index \ub97c \uc704\ud55c \ud14c\uc774\ube14\uc0dd\uc131<\/p>\n<p>SQL&gt; exec dbms_repair.admin_tables(<\/p>\n<p>&#8216;ORPHAN_KEY_TABLE&#8217;,<\/p>\n<p>DBMS_REPAIR.ORPHAN_TABLE,<\/p>\n<p>DBMS_REPAIR.CREATE_ACTION<\/p>\n<p>,&#8217;USERS&#8217;);<\/p>\n<p>PL\/SQL procedure successfully completed.<\/p>\n<p>SQL&gt; select * from tab where tname like &#8216;%ORPHAN%&#8217;;<\/p>\n<p>TNAME\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 TABTYPE\u00a0\u00a0 CLUSTERID<\/p>\n<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; &#8212;&#8212;- &#8212;&#8212;&#8212;-<\/p>\n<p>ORPHAN_KEY_TABLE\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 TABLE<\/p>\n<p>DBA_ORPHAN_KEY_TABLE\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 VIEW<\/p>\n<p>l\u00a0 \uc190\uc0c1\ub41c \ud14c\uc774\ube14<\/p>\n<p>SQL&gt; SET SERVEROUTPUT ON<\/p>\n<p>SQL&gt; VAR CORRUPT_COUNT NUMBER<\/p>\n<p>SQL&gt; BEGIN<\/p>\n<p>2\u00a0 DBMS_REPAIR.CHECK_OBJECT<\/p>\n<p>3\u00a0 (<\/p>\n<p>4\u00a0 &#8216;TEST&#8217;,&#8217;T1&#8242;,REPAIR_TABLE_NAME=&gt;&#8217;REPAIR_TABLE&#8217;<\/p>\n<p>5\u00a0 ,CORRUPT_COUNT=&gt;:CORRUPT_COUNT);<\/p>\n<p>6\u00a0 end;<\/p>\n<p>7\u00a0 \/<\/p>\n<p>BEGIN<\/p>\n<p>*<\/p>\n<p>ERROR at line 1:<\/p>\n<p><strong>ORA-00600: internal error code, arguments: [4555], [0], [], [], [], [], [], []<\/strong><\/p>\n<p><strong>ORA-06512: at &#8220;SYS.DBMS_REPAIR&#8221;, line 293<\/strong><\/p>\n<p><strong>ORA-06512: at line 2<\/strong><\/p>\n<p>l\u00a0 \uc190\uc0c1\ub418\uc9c0 \uc54a\uc740 \ud14c\uc774\ube14<\/p>\n<p>SQL&gt; set serveroutput on<\/p>\n<p>DECLARE num_corrupt INT;<\/p>\n<p>BEGIN<\/p>\n<p>num_corrupt := 0;<\/p>\n<p>DBMS_REPAIR.CHECK_OBJECT (<\/p>\n<p>SCHEMA_NAME =&gt; &#8216;&amp;schema_name&#8217;,<\/p>\n<p>OBJECT_NAME =&gt; &#8216;&amp;object_name&#8217;,<\/p>\n<p>REPAIR_TABLE_NAME =&gt; &#8216;REPAIR_TABLE&#8217;,<\/p>\n<p>corrupt_count =&gt; num_corrupt);<\/p>\n<p>DBMS_OUTPUT.PUT_LINE(&#8216;number corrupt: &#8216; || TO_CHAR (num_corrupt));<\/p>\n<p>END;<\/p>\n<p>\/SQL&gt;\u00a0\u00a0 2\u00a0\u00a0\u00a0 3\u00a0\u00a0\u00a0 4\u00a0\u00a0\u00a0 5\u00a0\u00a0\u00a0 6\u00a0\u00a0\u00a0 7\u00a0\u00a0\u00a0 8\u00a0\u00a0\u00a0 9\u00a0\u00a0 10\u00a0\u00a0 11<\/p>\n<p>Enter value for schema_name: TEST<\/p>\n<p>old\u00a0\u00a0 5: SCHEMA_NAME =&gt; &#8216;&amp;schema_name&#8217;,<\/p>\n<p>new\u00a0\u00a0 5: SCHEMA_NAME =&gt; &#8216;TEST&#8217;,<\/p>\n<p>Enter value for object_name: T2<\/p>\n<p>old\u00a0\u00a0 6: OBJECT_NAME =&gt; &#8216;&amp;object_name&#8217;,<\/p>\n<p>new\u00a0\u00a0 6: OBJECT_NAME =&gt; &#8216;T2&#8217;,<\/p>\n<p>number corrupt: 0<\/p>\n<p><strong>PL\/SQL procedure successfully completed.<\/strong><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<h4>4.1.4.3\u00a0\u00a0\u00a0 RMAN\uc744 \uc774\uc6a9\ud55c \ud655\uc778<\/h4>\n<table>\n<tbody>\n<tr>\n<td width=\"656\">RMAN&gt; <strong>backup validate check logical database skip offline; <\/strong><strong>\uf0e8<\/strong><strong> offline datafile skip<\/strong><\/p>\n<p>Starting backup at 05-APR-10<\/p>\n<p>input datafile fno=00007 name=\/u01\/oradata\/ORA\/test1_01.dbf<\/p>\n<p>channel ORA_DISK_1: backup set complete, elapsed time: 00:00:55<\/p>\n<p>SQL&gt; select * from v$database_block_corruption;<\/p>\n<p>no rows selected\u00a0\u00a0 <strong>\uf0e8<\/strong><strong> validation check(RMAN) <\/strong><strong>\uc791\uc5c5\uc804<\/strong><\/p>\n<p>SQL&gt;<\/p>\n<p>SQL&gt; <strong>\/\u00a0 <\/strong><strong>\uf0e8<\/strong><strong> validation check(RMAN) <\/strong><strong>\uc791\uc5c5 \ud6c4<\/strong><\/p>\n<p>FILE#\u00a0\u00a0\u00a0\u00a0 BLOCK#\u00a0\u00a0\u00a0\u00a0 \u00a0 BLOCKS CORRUPTION_CHANGE# CORRUPTIO<\/p>\n<p>&#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;&#8212;&#8212;&#8212; &#8212;&#8212;&#8212;<\/p>\n<p><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a07\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0 15\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0 0 ALL \u00a0\u00a0\u00a0\u00a0\u00a0ZERO<\/strong><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<h3><a name=\"_Toc258316879\"><\/a><a name=\"_Toc259696761\"><\/a>4.1.5\u00a0 RECOVERY<\/h3>\n<h4>4.1.5.1\u00a0\u00a0\u00a0 \ub370\uc774\ud130 \ud655\uc778<\/h4>\n<ul>\n<li>\uc704\uc5d0\uc11c 7\ubc88\ud30c\uc77c\uc758 15\ubc88\uc9f8 \ube14\ub85d\uc774 \uc190\uc0c1\ub41c \uac83\uc744 \ud655\uc778\ud560\uc218 \uc788\ub2e4.<\/li>\n<li>\uacfc\uc5f0 \uadf8\uacf3\uc5d0 \ub370\uc774\ud130\uac00 \uc874\uc7ac\ud558\ub294\uc9c0\ub294 \ud655\uc778\ud574\ubcf4\uc790<\/li>\n<\/ul>\n<table>\n<tbody>\n<tr>\n<td width=\"656\">select segment_name, segment_type<\/p>\n<p>from dba_extents<\/p>\n<p>where file_id = 7 and<\/p>\n<p>15 between block_id and block_id + blocks &#8211; 1;<\/p>\n<p>&nbsp;<\/p>\n<p>SEGMENT_NAME\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0 SEGMENT_TYPE<\/p>\n<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<\/p>\n<p><strong>T1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0 TABLE<\/strong><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<h4>4.1.5.2\u00a0\u00a0\u00a0 \ub370\uc774\ud130 \ubcf5\uad6c<\/h4>\n<ul>\n<li>Corrutpion\ub41c block\uc774 table\uc774\ub780 \uac83\uc744 \uc704\uc5d0\uc11c \ud655\uc778\ud588\ub2e4<\/li>\n<li>Rman\uc73c\ub85c \ubcf5\uad6c\uc791\uc5c5\uc744 \uc9c4\ud589\ud55c\ub2e4.<\/li>\n<\/ul>\n<table>\n<tbody>\n<tr>\n<td width=\"656\">RMAN<strong>&gt; blockrecover datafile 7 block 15;<\/strong><\/p>\n<p>Starting blockrecover at 06-APR-10<\/p>\n<p>using target database control file instead of recovery catalog<\/p>\n<p>allocated channel: ORA_DISK_1<\/p>\n<p>channel ORA_DISK_1: sid=148 devtype=DISK<\/p>\n<p>channel ORA_DISK_1: restoring block(s)<\/p>\n<p>channel ORA_DISK_1: specifying block(s) to restore from backup set<\/p>\n<p>restoring blocks of datafile 00007<\/p>\n<p>channel ORA_DISK_1: reading from backup piece \/u01\/recovery\/ORA\/backupset\/2010_04_02\/o1_mf_nnndf_TAG20100402T150042_5vc20b5t_.bkp<\/p>\n<p>channel ORA_DISK_1: restored block(s) from backup piece 1<\/p>\n<p>piece handle=\/u01\/recovery\/ORA\/backupset\/2010_04_02\/o1_mf_nnndf_TAG20100402T150042_5vc20b5t_.bkp tag=TAG20100402T150042<\/p>\n<p>channel ORA_DISK_1: block restore complete, elapsed time: 00:00:01<\/p>\n<p>starting media recovery<\/p>\n<p>media recovery complete, elapsed time: 00:00:03<\/p>\n<p>Finished blockrecover at 06-APR-10<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<h3><a name=\"_Toc258316880\"><\/a><a name=\"_Toc259696762\"><\/a>4.1.6\u00a0 Recovery data \ud655\uc778<\/h3>\n<table>\n<tbody>\n<tr>\n<td width=\"656\">Sql&gt; select * from t1;<\/p>\n<p>X<\/p>\n<p>1002 rows selected.<\/p>\n<p>SQL&gt; select * from t1 where rowid =&#8217;AAARr8AAHAAAAAPAAA&#8217;;<\/p>\n<p>C1<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<h2><a name=\"_Toc259696763\"><\/a>4.2\u00a0\u00a0 Export backup\uc744 \uc774\uc6a9\ud55c Recovery<\/h2>\n<h3><a name=\"_Toc259696764\"><\/a>4.2.1\u00a0 Export\/import\ub97c \uc774\uc6a9\ud55c recovery<\/h3>\n<table>\n<tbody>\n<tr>\n<td width=\"656\">l\u00a0 \uc815\uc0c1\uc801\uc778 data export \uc791\uc5c5 \uc218\ud589<\/p>\n<p>$ exp test\/test file=test_exp.dmp log=test_exp.log<\/p>\n<p><strong>. . exporting table\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 SYS_EXPORT_SCHEMA_01\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 11 rows exported<\/strong><\/p>\n<p><strong>. . exporting table\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 T1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1002 rows exported<\/strong><\/p>\n<p>. . exporting table\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 T2\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0 rows exported<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>l\u00a0 Datapump\ub97c \uc774\uc6a9\ud55c export<\/p>\n<p>Export: Release 10.2.0.1.0 &#8211; Production on Tuesday, 06 April, 2010 12:48:43<\/p>\n<p>. . exported &#8220;TEST&#8221;.&#8221;T1&#8243;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 19.58 KB\u00a0\u00a0\u00a0 1002 rows<\/p>\n<p>. . exported &#8220;TEST&#8221;.&#8221;T2&#8243;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0 KB\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0 rows<\/p>\n<p>&nbsp;<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<h3><a name=\"_Toc259696765\"><\/a>4.2.2\u00a0 Block corruption \uc791\uc5c5\uc218\ud589<\/h3>\n<ul>\n<li>1.3.\uacfc \uac19\uc740 \ubc29\ubc95\uc744 \uc774\uc6a9\ud574\uc11c block corruption\uc744 \uc218\ud589\ud55c\ub2e4.<\/li>\n<li>1.4\uc640 \uac19\uc740 \ubc29\ubc95\uc73c\ub85c blcok corruption\uc744 \ud655\uc778\ud55c\ub2e4<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h3><a name=\"_Toc259696766\"><\/a>4.2.3\u00a0 Export \uc7ac\uc218\ud589<\/h3>\n<ul>\n<li>T1 \ud14c\uc774\ube14\uc774 \uc815\uc0c1\uc801\uc73c\ub85c export \ub418\uc9c0 \uc54a\ub294\ub2e4.<\/li>\n<\/ul>\n<table>\n<tbody>\n<tr>\n<td width=\"656\">l\u00a0 TEST_corruption.dmp\ub85c export \uc791\uc5c5 \uc218\ud589<\/p>\n<p>EXP-00091: Exporting questionable statistics.<\/p>\n<p>. . exporting table\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 T1<\/p>\n<p><strong>EXP-00056: ORACLE error 8103 encountered<\/strong><\/p>\n<p><strong>ORA-08103: object no longer exists<\/strong><\/p>\n<p>. . exporting table\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 T2\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0 rows exported<\/p>\n<p>. exporting synonyms<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<h3><a name=\"_Toc259696767\"><\/a>4.2.4\u00a0 Import\ub97c \ud1b5\ud55c T1 \ud14c\uc774\ube14 Recovery<\/h3>\n<table>\n<tbody>\n<tr>\n<td width=\"656\">SQL&gt; drop table test.t1; \uf0e8 <strong>\uc815\uc0c1\uc801\uc73c\ub85c<\/strong><strong> backup <\/strong><strong>\ubc1b\uc544\uc9c4 \ud30c\uc77c \ud655\uc778\ud6c4 \uc791\uc5c5<\/strong><\/p>\n<p>Table dropped.<\/p>\n<p>l\u00a0 Imp test\/test file=test.dmp log=test_imp.log tables=t1<\/p>\n<p>Sql&gt; select * from t1;<\/p>\n<p>X<\/p>\n<p>X<\/p>\n<p>1002 rows selected.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<ul>\n<li><strong>Export <\/strong><strong>\ubc1b\uae30\uc804\uc5d0<\/strong><strong> DATA<\/strong><strong>\ub9cc \ubcf5\uad6c \uac00\ub2a5\ud568 <\/strong><\/li>\n<li><strong>DATA<\/strong><strong>\uac00 \ubcc0\uacbd\uc774 \uc5c6\ub294\uacbd\uc6b0\uc5d0 \uc0ac\uc6a9\uac00\ub2a5<\/strong><\/li>\n<\/ul>\n<h1><a name=\"_Toc259696768\"><\/a>5\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \uc0ac\uc6a9\ud558\uc9c0\uc54a\ub294 block corruption \ubc1c\uc0dd<\/h1>\n<ul>\n<li>\ubc31\uc5c5\ud6c4 \uae30\uc874\uc758 T1\ud14c\uc774\ube14 \uc0ad\uc81c, \uc0c8\ub85c\uc6b4 T1\ud14c\uc774\ube14 \uc0dd\uc131\ud6c4 \uc0c8\ub85c\uc6b4 \ub370\uc774\ud130 \uc785\ub825<\/li>\n<li>Block corruption\uc744 \ubc1c\uc0dd\uc2dc\ud0a8\ub2e4..(\ub370\uc774\ud130\uac00 \ub4e4\uc5b4\uc788\uc9c0 \uc54a\uc740 \ube14\ub85d)<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h3><a name=\"_Toc259696769\"><\/a>5.1.1\u00a0 \ud655\uc778 \ubc0f \uc218\ud589 \uc21c\uc11c<\/h3>\n<table>\n<tbody>\n<tr>\n<td width=\"656\">l\u00a0 \uc0c8\ub85c\uc6b4 \ub370\uc774\ud130 \uc785\ub825<\/p>\n<p>l\u00a0 Block corrution \uc791\uc5c5<\/p>\n<p>l\u00a0 Dbv \ud655\uc778<\/p>\n<p>$ dbv file=test1_01.dbf blocksize=8192<\/p>\n<p>DBVERIFY &#8211; Verification starting : FILE = test1_01.dbf<\/p>\n<p>Page 15 is marked corrupt<\/p>\n<p>Corrupt block relative dba: 0x01c0000f (file 7, block 15)<\/p>\n<p>&nbsp;<\/p>\n<p>l\u00a0 Table\uc778\uc9c0 index\uc778\uc9c0 \ud655\uc778\ud55c\ub2e4<\/p>\n<p>select segment_name, segment_type<\/p>\n<p>from dba_extents<\/p>\n<p>where file_id = 7 and<\/p>\n<p>15 between block_id and block_id + blocks &#8211; 1;<\/p>\n<p>l\u00a0 Index\uc2dc Rebuild \uc791\uc5c5\uc218\ud589<\/p>\n<p>l\u00a0 Table\uc2dc \ubcf5\uad6c\uc791\uc5c5\uc218\ud589<\/p>\n<p>l\u00a0 \ub370\uc774\ud130\uac00 \uc5c6\uc744\uc2dc exp -&gt; imp\ub85c \uc218\ud589<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<h1><a name=\"_Toc259696770\"><\/a>6\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Event(10210, 10211, 10231) \uc0ac\uc6a9<\/h1>\n<ul>\n<li>8i \uc774\uc804\ubc84\uc804\uc5d0\uc11c block skip\ud560 \ub54c \uc0ac\uc6a9\ud55c\ub2e4.<\/li>\n<li>Block corrupt\uc73c\ub85c \uc778\ud574 table \uc804\uccb4\ub97c \uc77d\uc9c0 \ubabb\ud560 \ub54c<\/li>\n<li>Corruption \ub41c \ube14\ub85d\uc758 \ub370\uc774\ud130\uac00 \ud544\uc694\uce58 \uc54a\uc744\uacbd\uc6b0<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h1><a name=\"_Toc259696771\"><\/a>7\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 dbms_repair (8i \uc774\ud6c4\ubc84\uc804)<\/h1>\n<h2><a name=\"_Toc259696772\"><\/a>7.1\u00a0\u00a0 rapair table \uc0dd\uc131<\/h2>\n<table>\n<tbody>\n<tr>\n<td width=\"656\">BEGIN<\/p>\n<p>DBMS_REPAIR.ADMIN_TABLES (<\/p>\n<p>TABLE_NAME =&gt; &#8216;REPAIR_TABLE&#8217;,<\/p>\n<p>TABLE_TYPE =&gt; dbms_repair.repair_table,<\/p>\n<p>ACTION =&gt; dbms_repair.create_action,<\/p>\n<p>TABLESPACE =&gt; &#8216;&amp;tablespace_name&#8217;);<\/p>\n<p>END;<\/p>\n<p>\/<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2><a name=\"_Toc259696773\"><\/a>7.2\u00a0\u00a0 block cuttuption schema, objcet \uc785\ub825 (\uc815\ubcf4\uc218\uc9d1)<\/h2>\n<table>\n<tbody>\n<tr>\n<td width=\"656\">set serveroutput on<\/p>\n<p>DECLARE num_corrupt INT;<\/p>\n<p>BEGIN<\/p>\n<p>num_corrupt := 0;<\/p>\n<p>DBMS_REPAIR.CHECK_OBJECT (<\/p>\n<p>SCHEMA_NAME =&gt; &#8216;&amp;schema_name&#8217;,<\/p>\n<p>OBJECT_NAME =&gt; &#8216;&amp;object_name&#8217;,<\/p>\n<p>REPAIR_TABLE_NAME =&gt; &#8216;REPAIR_TABLE&#8217;,<\/p>\n<p>corrupt_count =&gt; num_corrupt);<\/p>\n<p>DBMS_OUTPUT.PUT_LINE(&#8216;number corrupt: &#8216; || TO_CHAR (num_corrupt));<\/p>\n<p>END;<\/p>\n<p>\/<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<ul>\n<li>\uc218\uc9d1\ub41c \uc815\ubcf4 \ud655\uc778<\/li>\n<\/ul>\n<table>\n<tbody>\n<tr>\n<td width=\"656\">select BLOCK_ID, CORRUPT_TYPE, CORRUPT_DESCRIPTION<\/p>\n<p>from REPAIR_TABLE;<\/p>\n<p>&nbsp;<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<h2><a name=\"_Toc259696774\"><\/a>7.3\u00a0\u00a0 Block fixed<\/h2>\n<ul>\n<li>Table block fix<\/li>\n<\/ul>\n<table>\n<tbody>\n<tr>\n<td width=\"656\">DECLARE num_fix INT;<\/p>\n<p>BEGIN<\/p>\n<p>num_fix := 0;<\/p>\n<p>DBMS_REPAIR.FIX_CORRUPT_BLOCKS (<\/p>\n<p>SCHEMA_NAME =&gt; &#8216;&amp;schema_name&#8217;,<\/p>\n<p>OBJECT_NAME=&gt; &#8216;&amp;object_name&#8217;,<\/p>\n<p>OBJECT_TYPE =&gt; dbms_repair.table_object,<\/p>\n<p>REPAIR_TABLE_NAME =&gt; &#8216;REPAIR_TABLE&#8217;,<\/p>\n<p>FIX_COUNT=&gt; num_fix);<\/p>\n<p>DBMS_OUTPUT.PUT_LINE(&#8216;num fix: &#8216; || to_char(num_fix));<\/p>\n<p>END;<\/p>\n<p>\/<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<ul>\n<li>table repair\ud6c4 full scan \uc5d0\ub7ec \uc9c0\uc18d\uc2dc \uc778\ub371\uc2a4 \uc815\ubcf4 \ud655\uc778<\/li>\n<\/ul>\n<table>\n<tbody>\n<tr>\n<td width=\"656\">Select index_name from dba_indexes<\/p>\n<p>where table_name in (select distinct object_name from repair_table);<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<ul>\n<li>curruption data index \uc815\ubcf4\uc218\uc9d1<\/li>\n<\/ul>\n<table>\n<tbody>\n<tr>\n<td width=\"656\">var key_count number<br \/>\nSQL&gt; begin<br \/>\n2\u00a0 dbms_repair.dump_orphan_keys(<br \/>\n3\u00a0 schema_name=&gt;&#8221;,<br \/>\n4\u00a0 object_name=&gt;&#8221;,<br \/>\n5\u00a0 object_type=&gt;DBMS_REPAIR.INDEX_OBJECT,<br \/>\n6\u00a0 repair_table_name=&gt;&#8217;REPAIR_TABLE&#8217;,<br \/>\n7\u00a0 orphan_table_name=&gt;&#8217;ORPHAN_KEY_TABLE&#8217;,<br \/>\n8\u00a0 key_count=&gt;:key_count);<br \/>\n9\u00a0 end;<br \/>\n10\u00a0 \/<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<ul>\n<li>curruption data index \uc815\ubcf4\ud655\uc778<\/li>\n<\/ul>\n<table>\n<tbody>\n<tr>\n<td width=\"656\">select SCHEMA_NAME, INDEX_NAME, INDEX_ID, TABLE_NAME, KEYROWID from orphan_key_table;<\/p>\n<p>&#8212;- \ucd94\ucd9c\ub41c index\ub97c rebuild \ud574\uc900\ub2e4<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<h1><a name=\"_Toc259696775\"><\/a>8\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ORACLE BUG \ub85c \uc778\ud55c block corruption<\/h1>\n<table>\n<tbody>\n<tr>\n<td width=\"656\">n\u00a0 Bug 4655520 Block corrupted during write not noticed \uc5d0\uc11c\ubcf4\uba74 \uc544\ub798 \ubc84\uc83c\uc5d0\uc11c block corruption \uc774 \ubc1c\uc0dd<\/p>\n<p>&#8211;\u00a0\u00a0\u00a0 9.2.0.6<\/p>\n<p>&#8211;\u00a0\u00a0\u00a0 9.2.0.7<\/p>\n<p>&#8211;\u00a0\u00a0\u00a0 10.1.0.5<\/p>\n<p>&#8211;\u00a0\u00a0\u00a0 10.2.0.2<\/p>\n<p>l\u00a0 \uc774\uac83\uc740 \uc544\ub798\ubc84\uc804\uc5d0\uc11c fix\ub418\uc5c8\uc2b5\ub2c8\ub2e4.<\/p>\n<p>&#8211;\u00a0\u00a0\u00a0 9.2.0.8 (Server Patch Set)<\/p>\n<p>&#8211;\u00a0\u00a0\u00a0 10.1.0.6 (Server Patch Set)<\/p>\n<p>&#8211;\u00a0\u00a0\u00a0 10.2.0.3 (Server Patch Set)11g (Future version)<\/p>\n<p>n\u00a0 Bug 4411228 &#8211; Block corruption with mixture of file system and RAW files \ubc1c\uc0dd\uac00\ub2a5\ud55c \ubc84\uc804<\/p>\n<p>&#8211;\u00a0\u00a0\u00a0 9.2.0.5<\/p>\n<p>&#8211;\u00a0\u00a0\u00a0 9.2.0.7<\/p>\n<p>&#8211;\u00a0\u00a0\u00a0 10.1.0.5<\/p>\n<p>&#8211;\u00a0\u00a0\u00a0 10.2.0.2<\/p>\n<p>l\u00a0 fix\ub41c \ubc84\uc804<\/p>\n<p>&#8211;\u00a0\u00a0\u00a0 9.2.0.8 (Server Patch Set)<\/p>\n<p>&#8211;\u00a0\u00a0\u00a0 10.1.0.6 (Server Patch Set)<\/p>\n<p>&#8211;\u00a0\u00a0\u00a0 10.2.0.3 (Server Patch Set)<\/p>\n<p>&#8211;\u00a0\u00a0\u00a0 11g (Future version)<\/p>\n<p>n\u00a0 Bug 5061091 Block recovery corrupts undo header when log_parallelism &gt; 1 \ubc1c\uc0dd\uac00\ub2a5 \ubc84\uc804<\/p>\n<p>&#8211;\u00a0\u00a0\u00a0 9.2.0.6<\/p>\n<p>&#8211;\u00a0\u00a0\u00a0 10.1.0.5<\/p>\n<p>&#8211;\u00a0\u00a0\u00a0 10.2.0.2<\/p>\n<p>l\u00a0 fix\ub41c \ubc84\uc804<\/p>\n<p>&#8211;\u00a0\u00a0\u00a0 10.1.0.6 (Server Patch Set)<\/p>\n<p>&#8211;\u00a0\u00a0\u00a0 10.2.0.3 (Server Patch Set)<\/p>\n<p>&#8211;\u00a0\u00a0\u00a0 11g (Future version<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \uac1c\uc694 \ubc0f \ubaa9\uc801 Blcok corruption\uc774 \ubc1c\uc0dd\uc73c\ub85c \uc778\ud55c \uc624\ub958 ORA-01578 \ubc1c\uc0dd\uc6d0\uc778\uacfc \uc885\ub958 \ubc0f \ud655\uc778, \ucc98\ub9ac\ubc29\ubc95\uc5d0 \uc774\ubb38\uc11c\uc758 \ubaa9\uc801\uc744 \ub454\ub2e4. 1.1\u00a0\u00a0 Block Corruption \uc885\ub958 1.1.1\u00a0 Logical Corruption \uba54\ubaa8\ub9ac \ube14\ub85d\uc758 \uc190\uc0c1 ORA-600 \uc5d0\ub7ec\uc911 \uccab\ubc88\uc9f8 \uc778\uc218\uac00 3398 \ubc1c\uc0dd &nbsp; 1.1.2\u00a0 Physical Corruption \ubb3c\ub9ac\uc801 \ube14\ub85d\uc758 \uc190\uc0c1 ORA-1579 \uc5d0\ub7ec\ubc1c\uc0dd ORA-600 [3339]\uc640 ORA-600[4519] \ub294 \uba54\ubaa8\ub9ac\uc640 \ub514\uc2a4\ud06c \uc190\uc0c1 \ubaa8\ub450\uc640 \uc5f0\uad00 2\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 BLOCK CORRUPTION [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":4522,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"spay_email":""},"categories":[14],"tags":[1161,1163,1162],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/haisins.synology.me\/wordpress\/wp-content\/uploads\/2021\/11\/troubleshoot.png?fit=680%2C345","amp_enabled":true,"_links":{"self":[{"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/4521"}],"collection":[{"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4521"}],"version-history":[{"count":1,"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/4521\/revisions"}],"predecessor-version":[{"id":4523,"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/4521\/revisions\/4523"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=\/wp\/v2\/media\/4522"}],"wp:attachment":[{"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4521"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4521"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4521"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}