{"id":2768,"date":"2018-02-02T23:02:25","date_gmt":"2018-02-02T14:02:25","guid":{"rendered":"http:\/\/haisins.epac.to\/wordpress\/?p=2768"},"modified":"2018-02-02T23:14:43","modified_gmt":"2018-02-02T14:14:43","slug":"block-recovery-%eb%a5%bc-%ec%9c%84%ed%95%9c-corruption-block-%ec%b0%be%ec%95%84%eb%82%b4%ea%b8%b0","status":"publish","type":"post","link":"http:\/\/haisins.synology.me\/wordpress\/?p=2768","title":{"rendered":"Block Recovery \ub97c \uc704\ud55c Corruption Block \ucc3e\uc544\ub0b4\uae30"},"content":{"rendered":"<p>&nbsp;<\/p>\n<p>1. datafile \uc5d0 block corruption\uc774 \uc77c\uc5b4 \ub0ac\uc744 \uacbd\uc6b0<\/p>\n<p>dbv file=&#8217;\/nas1\/backup\/oradata1\/system01.dbf&#8217; blocksize=8192<br \/>\ndbv file=&#8217;\/nas1\/backup\/oradata1\/undotbs01.dbf&#8217; blocksize=8192<\/p>\n<p>dbv file=&#8217;\/restore\/oradata\/ora8i\/system01.dbf&#8217; blocksize=8192<br \/>\ndbv file=&#8217;\/restore\/home3\/home3\/cti_ts1.dbf&#8217; blocksize=8192<br \/>\ndbv file=&#8217;\/home1\/app\/oracle\/product\/8.1.7\/oradata\/ora8i\/rbs01.dbf&#8217; blocksize=8192<\/p>\n<p>dbv file=&#8217;\/dbf\/hotbackup\/backup2\/control.19092007065048&#8242; blocksize=8192<br \/>\ndbv file=&#8217;\/dbf\/hotbackup\/backup2\/datafile01.dbf&#8217; blocksize=8192<br \/>\ndbv file=&#8217;\/dbf\/hotbackup\/backup2\/datafile02.dbf&#8217; blocksize=8192<br \/>\ndbv file=&#8217;\/dbf\/hotbackup\/backup2\/datafile03.dbf&#8217; blocksize=8192<br \/>\ndbv file=&#8217;\/dbf\/hotbackup\/backup2\/datafile04.dbf&#8217; blocksize=8192<br \/>\ndbv file=&#8217;\/dbf\/hotbackup\/backup2\/datafile05.dbf&#8217; blocksize=8192<br \/>\ndbv file=&#8217;\/dbf\/hotbackup\/backup2\/datafile06.dbf&#8217; blocksize=8192<br \/>\ndbv file=&#8217;\/dbf\/hotbackup\/backup2\/indx01.dbf&#8217; blocksize=8192<br \/>\ndbv file=&#8217;\/dbf\/hotbackup\/backup2\/indx02.dbf&#8217; blocksize=8192<br \/>\ndbv file=&#8217;\/dbf\/hotbackup\/backup2\/indx03.dbf&#8217; blocksize=8192<br \/>\ndbv file=&#8217;\/dbf\/hotbackup\/backup2\/indx04.dbf&#8217; blocksize=8192<br \/>\ndbv file=&#8217;\/dbf\/hotbackup\/backup2\/sysaux01.dbf&#8217; blocksize=8192<br \/>\ndbv file=&#8217;\/dbf\/hotbackup\/backup2\/system01.dbf&#8217; blocksize=8192<br \/>\ndbv file=&#8217;\/dbf\/hotbackup\/backup2\/undotbs01.dbf&#8217; blocksize=8192<br \/>\ndbv file=&#8217;\/dbf\/hotbackup\/backup2\/users01.dbf&#8217; blocksize=8192<\/p>\n<p>DBVERIFY &#8211; Verification starting : FILE = \/disk1\/INDEX\/pamridx03.dbf<\/p>\n<p>Block Checking: DBA = 90216039, Block Type = KTB-managed data block<br \/>\n**** actual rows locked by itl 30 = 0 != # in trans. header = 1<br \/>\n**** actual free space credit for itl 30 = 0 != # in trans. hdr = 24<br \/>\n**** actual rows marked deleted = 3 != kdxlende = 28<\/p>\n<p>&#8212;- end index block validation<\/p>\n<p>Page 2135655 failed with check code 6401<\/p>\n<p>DBVERIFY &#8211; Verification complete<br \/>\nTotal Pages Examined : 3840000<br \/>\nTotal Pages Processed (Data) : 0<br \/>\nTotal Pages Failing (Data) : 0<br \/>\nTotal Pages Processed (Index): 3176746<br \/>\nTotal Pages Failing (Index): 1<br \/>\nTotal Pages Processed (Other): 12<br \/>\nTotal Pages Empty : 663242<br \/>\nTotal Pages Marked Corrupt : 0<br \/>\nTotal Pages Influx : 0<\/p>\n<p>2. Block Checking: DBA = 90216039\ub97c \uc774\uc6a9\ud558\uc5ec file#, block#\ub97c \ucc3e\uc544\ub0b8\ub2e4.<\/p>\n<p>CREATE OR REPLACE PROCEDURE cdba ( iblock VARCHAR2, imode VARCHAR2 ) AS<br \/>\nx NUMBER;<br \/>\ndigits# NUMBER;<br \/>\nresults NUMBER := 0;<br \/>\nfile# NUMBER := 0;<br \/>\nblock# NUMBER := 0;<br \/>\ncur_digit CHAR(1);<br \/>\ncur_digit# NUMBER;<br \/>\nBEGIN<br \/>\nIF upper(imode) = &#8216;H&#8217; THEN<br \/>\ndigits# := length( iblock );<br \/>\nFOR x IN 1..digits# LOOP<br \/>\ncur_digit := upper(substr( iblock, x, 1 ));<br \/>\nIF cur_digit IN (&#8216;A&#8217;,&#8217;B&#8217;,&#8217;C&#8217;,&#8217;D&#8217;,&#8217;E&#8217;,&#8217;F&#8217;) THEN<br \/>\ncur_digit# := ascii( cur_digit ) &#8211; ascii(&#8216;A&#8217;) +10;<br \/>\nELSE<br \/>\ncur_digit# := to_number(cur_digit);<br \/>\nEND IF;<br \/>\nresults := (results *16) + cur_digit#;<br \/>\nEND LOOP;<br \/>\nELSE<br \/>\nIF upper(imode) = &#8216;D&#8217; THEN<br \/>\nresults := to_number(iblock);<br \/>\nELSE<br \/>\ndbms_output.put_line(&#8216;H = Hex Input &#8230; D = Decimal Input&#8217;);<br \/>\nRETURN;<br \/>\nEND IF;<br \/>\nEND IF;<\/p>\n<p>file# := dbms_utility.data_block_address_file(results);<br \/>\nblock# := dbms_utility.data_block_address_block(results);<\/p>\n<p>dbms_output.put_line(&#8216;.&#8217;);<br \/>\ndbms_output.put_line( &#8216;The file is &#8216; || file# );<br \/>\ndbms_output.put_line( &#8216;The block is &#8216; || block# );<br \/>\nEND;<br \/>\n\/<\/p>\n<p>SQL&gt; set serveroutput on<br \/>\nSQL&gt; exec cdba(&#8216; 130144565&#8242;,&#8217;d&#8217;);<\/p>\n<p>The file is 21<br \/>\nThe block is 2135655<br \/>\nThe file is 31<br \/>\nThe block is 121141<\/p>\n<p>3. \uc704 file#, block#\ub97c \uc774\uc6a9\ud558\uc5ec \uc5b4\ub5a4 \uc778\ub371\uc2a4 \ud639\uc740 \ud14c\uc774\ube14\uc5d0 \ubb38\uc81c\uc778\uc9c0\ub97c \ucc3e\uc544\ub0b8\ub2e4.<\/p>\n<p>SELECT tablespace_name, segment_type, owner, segment_name<br \/>\nFROM dba_extents<br \/>\nWHERE file_id = 31<br \/>\nand 121141 between block_id AND block_id + blocks &#8211; 1;<\/p>\n<p>TABLESPACE_NAME SEGMENT_TYPE OWNER<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br \/>\nSEGMENT_NAME<br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br \/>\nCTI_IDX_TS INDEX CTI<br \/>\nCT_SERVICE_LOG_NEW_PK<\/p>\n<p>SELECT tablespace_name, segment_type, owner, segment_name<br \/>\nFROM dba_extents<br \/>\nWHERE file_id = 22<br \/>\nand &amp;b between block_id AND block_id + blocks &#8211; 1;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp; 1. datafile \uc5d0 block corruption\uc774 \uc77c\uc5b4 \ub0ac\uc744 \uacbd\uc6b0 dbv file=&#8217;\/nas1\/backup\/oradata1\/system01.dbf&#8217; blocksize=8192 dbv file=&#8217;\/nas1\/backup\/oradata1\/undotbs01.dbf&#8217; blocksize=8192 dbv file=&#8217;\/restore\/oradata\/ora8i\/system01.dbf&#8217; blocksize=8192 dbv file=&#8217;\/restore\/home3\/home3\/cti_ts1.dbf&#8217; blocksize=8192 dbv file=&#8217;\/home1\/app\/oracle\/product\/8.1.7\/oradata\/ora8i\/rbs01.dbf&#8217; blocksize=8192 dbv file=&#8217;\/dbf\/hotbackup\/backup2\/control.19092007065048&#8242; blocksize=8192 dbv file=&#8217;\/dbf\/hotbackup\/backup2\/datafile01.dbf&#8217; blocksize=8192 dbv file=&#8217;\/dbf\/hotbackup\/backup2\/datafile02.dbf&#8217; blocksize=8192 dbv file=&#8217;\/dbf\/hotbackup\/backup2\/datafile03.dbf&#8217; blocksize=8192 dbv file=&#8217;\/dbf\/hotbackup\/backup2\/datafile04.dbf&#8217; blocksize=8192 dbv file=&#8217;\/dbf\/hotbackup\/backup2\/datafile05.dbf&#8217; blocksize=8192 dbv file=&#8217;\/dbf\/hotbackup\/backup2\/datafile06.dbf&#8217; blocksize=8192 dbv file=&#8217;\/dbf\/hotbackup\/backup2\/indx01.dbf&#8217; blocksize=8192 dbv file=&#8217;\/dbf\/hotbackup\/backup2\/indx02.dbf&#8217; blocksize=8192 dbv file=&#8217;\/dbf\/hotbackup\/backup2\/indx03.dbf&#8217; blocksize=8192 dbv [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2338,"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":[3],"tags":[907,906],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/haisins.synology.me\/wordpress\/wp-content\/uploads\/2018\/01\/oracle-cloud-logo.png?fit=300%2C194","amp_enabled":true,"_links":{"self":[{"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/2768"}],"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=2768"}],"version-history":[{"count":1,"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/2768\/revisions"}],"predecessor-version":[{"id":2769,"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/2768\/revisions\/2769"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=\/wp\/v2\/media\/2338"}],"wp:attachment":[{"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2768"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2768"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2768"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}