
{"id":8068,"date":"2019-03-20T12:08:50","date_gmt":"2019-03-20T12:08:50","guid":{"rendered":"https:\/\/rax-stg-wp-aws.com\/blogs\/repair-block-corruption-in-an-oracle-database\/"},"modified":"2026-11-03T19:29:15","modified_gmt":"2026-11-03T19:29:15","slug":"repair-block-corruption-in-an-oracle-database","status":"publish","type":"blogs","link":"https:\/\/www.rackspace.com\/en-gb\/blogs\/repair-block-corruption-in-an-oracle-database\/","title":{"rendered":"Repair block corruption in an Oracle database"},"content":{"rendered":"<p><strong>Introduction<\/strong><br \/>\nThis post discusses how to repair multiple or single block corruption of&nbsp;data files, including system data files, in an Oracle&nbsp;\u00a9&nbsp;database.<\/p>\n<p>Block corruption is a common source of database outages.&nbsp;A database block is corrupted when its contents are different than what the<br \/>\nOracle database expects to find. If block corruption is not prevented or&nbsp;repaired, the corruption can bring down the database and possibly cause the&nbsp;loss of key business data.<\/p>\n<p>This is one of the real time issues that you need to face and fix in production&nbsp;databases.<\/p>\n<p><strong>Find and fix block corruption<\/strong><\/p>\n<p>The following image shows a possible block corruption:<\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/blog_article_images\/26594-body-Picture1_6.png\" alt=\"oracle db repair pic 1\" \/><\/p>\n<p><a href=\"https:\/\/blog.toadworld.com\/2017\/12\/01\/block-corruption-in-an-oracle-database\"><em>Image source<\/em><\/a><\/p>\n<p><strong>Find the corruption<\/strong><\/p>\n<p>To find the corruption, execute the following commands:<\/p>\n<p>&nbsp;SQL&gt; select * from V$DATABASE_BLOCK_CORRUPTION;<\/p>\n<p>&nbsp; &nbsp; FILE# &nbsp; &nbsp;BLOCK# &nbsp; &nbsp;BLOCKS &nbsp; &nbsp;CORRUPTION_CHANGE# &nbsp;CORRUPTION<br \/>\n&nbsp; &nbsp; &#8212;&#8211; &#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;- &nbsp;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; &nbsp;&#8212;&#8212;&#8212;-<br \/>\n&nbsp; &nbsp; &nbsp;352 &nbsp; &nbsp; 173191 &nbsp; &nbsp; &nbsp;9 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ALL ZERO<\/p>\n<p>&nbsp; &nbsp; SQL&gt; SELECT FILE_ID,RELATIVE_FNO,FILE_NAME,TABLESPACE_NAME FROM DBA_DATA_FILES WHERE FILE_ID=352;<\/p>\n<p>&nbsp; &nbsp; &nbsp;FILE_ID &nbsp; RELATIVE_FNO &nbsp; FILE_NAME &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TABLESPACE_NAME<br \/>\n&nbsp; &nbsp; &#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;&#8212; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; 352 &nbsp; &nbsp; &nbsp; &nbsp;352 &nbsp; &nbsp; &nbsp;\/u01\/apps_st\/samusxxxxxxxx_data2\/system09.dbf &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;SYSTEM<\/p>\n<p>&nbsp; &nbsp; SQL&gt; SELECT owner, segment_name, segment_type FROM dba_extents WHERE RELATIVE_FNO = 352 AND Block_id BETWEEN 173191 AND 173191 + blocks &#8211; 1;<\/p>\n<p>&nbsp; &nbsp; OWNER &nbsp; &nbsp; &nbsp;SEGMENT_NAME &nbsp; &nbsp;SEGMENT_TYPE<br \/>\n&nbsp; &nbsp; &#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8212;&#8212; &nbsp;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br \/>\n&nbsp; &nbsp; SYS &nbsp; &nbsp; &nbsp; &nbsp; I_COL3 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;INDEX<br \/>\n&nbsp; &nbsp; SYS &nbsp; &nbsp; &nbsp; &nbsp; C_OBJ# &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CLUSTER<\/p>\n<p><strong>Note<\/strong>: In this case, SYS object segment I\\_COL3 has a block corruption. The&nbsp;corrupted block, as reported by the `<em>dbv<\/em>` command, is shown as free in the&nbsp;dba_free_space` view.<\/p>\n<p>To free the blocks for file 352, execute the following commands:<\/p>\n<p>&nbsp; &nbsp; SQL&gt; select * from V$DATABASE_BLOCK_CORRUPTION;<\/p>\n<p>&nbsp; &nbsp; FILE# &nbsp; &nbsp;BLOCK# &nbsp; &nbsp;BLOCKS &nbsp; &nbsp;CORRUPTION_CHANGE# &nbsp;CORRUPTION<br \/>\n&nbsp; &nbsp; &#8212;&#8211; &#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;- &nbsp;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; &nbsp;&#8212;&#8212;&#8212;-<br \/>\n&nbsp; &nbsp; &nbsp;352 &nbsp; &nbsp; 173191 &nbsp; &nbsp; &nbsp;9 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ALL ZERO<\/p>\n<p>&nbsp; &nbsp; SQL&gt; Select * from dba_free_space where file_id =352 and 173191 between block_id and block_id + blocks -1;<\/p>\n<p>&nbsp; &nbsp; TABLESPACE_NAME &nbsp; FILE_ID &nbsp;BLOCK_ID &nbsp;BYTES &nbsp; &nbsp;BLOCKS &nbsp; RELATIVE_FNO<br \/>\n&nbsp; &nbsp; &#8212;&#8212;&#8212;&#8212;&#8212; &nbsp; &#8212;&#8212;- &nbsp;&#8212;&#8212;&#8211; &nbsp;&#8212;&#8211; &nbsp;&#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;&#8212;<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp;SYSTEM &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 352 &nbsp; &nbsp; 173191 &nbsp; 73728 &nbsp; &nbsp; &nbsp; 9 &nbsp; &nbsp; &nbsp; &nbsp;352<\/p>\n<p><strong>&nbsp;Force clear blocks<\/strong><\/p>\n<p>After the blocks are free, you can use the following commands to force clear those&nbsp;corrupted blocks. This is also known as formatting corrupted blocks that are not&nbsp;part of any segment.<\/p>\n<p><strong>1. Create a user and grant the user access to the database.<\/strong><\/p>\n<p><em>&nbsp; &nbsp; create user Scott identified by password default tablespace SYSTEM;<br \/>\n&nbsp; &nbsp; grant resource, connect, create table, create trigger to Scott;<\/em><\/p>\n<p><strong>&nbsp;2. Identify the corrupt block against the data file<\/strong><\/p>\n<p>&nbsp; [Thu Nov 17 11:59:19 orbdev@samusxxxxxxxx:~ ] $ dbv file=&#8217;\/mnt\/apps_st\/samusxxxxxxxx_data2\/system09.dbf&#8217; userid=sys\/xxxxx<\/p>\n<p>&nbsp; &nbsp; DBVERIFY: Release 11.2.0.4.0 &#8211; Production on Thu Nov 17 11:59:21 2016<\/p>\n<p>&nbsp; &nbsp; Copyright (c) 1982, 2011, Oracle and\/or its affiliates. &nbsp;All rights reserved.<\/p>\n<p>&nbsp; &nbsp; DBVERIFY &#8211; Verification starting: FILE = \/mnt\/apps_st\/samusxxxxxxxx_data2\/system09.dbf<br \/>\n&nbsp; &nbsp; Page 173191 is marked corrupt<br \/>\n&nbsp; &nbsp; Corrupt block relative dba: 0x5802a487 (file 352, block 173191)<br \/>\n&nbsp; &nbsp; Completely zero block found during dbv:<\/p>\n<p>&nbsp; &nbsp; Page 173192 is marked corrupt<br \/>\n&nbsp; &nbsp; Corrupt block relative dba: 0x5802a488 (file 352, block 173192)<br \/>\n&nbsp; &nbsp; Completely zero block found during dbv:<\/p>\n<p>&nbsp; &nbsp; Page 173193 is marked corrupt<br \/>\n&nbsp; &nbsp; Corrupt block relative dba: 0x5802a489 (file 352, block 173193)<br \/>\n&nbsp; &nbsp; Completely zero block found during dbv:<\/p>\n<p>&nbsp; &nbsp; Page 173194 is marked corrupt<br \/>\n&nbsp; &nbsp; Corrupt block relative dba: 0x5802a48a (file 352, block 173194)<br \/>\n&nbsp; &nbsp; Completely zero block found during dbv:<\/p>\n<p>&nbsp; &nbsp; Page 173195 is marked corrupt<br \/>\n&nbsp; &nbsp; Corrupt block relative dba: 0x5802a48b (file 352, block 173195)<br \/>\n&nbsp; &nbsp; Completely zero block found during dbv:<\/p>\n<p>&nbsp; &nbsp; Page 173196 is marked corrupt<br \/>\n&nbsp; &nbsp; Corrupt block relative dba: 0x5802a48c (file 352, block 173196)<br \/>\n&nbsp; &nbsp; Completely zero block found during dbv:<\/p>\n<p>&nbsp; &nbsp; Page 173197 is marked corrupt<br \/>\n&nbsp; &nbsp; Corrupt block relative dba: 0x5802a48d (file 352, block 173197)<br \/>\n&nbsp; &nbsp; Completely zero block found during dbv:<\/p>\n<p>&nbsp; &nbsp; Page 173198 is marked corrupt<br \/>\n&nbsp; &nbsp; Corrupt block relative dba: 0x5802a48e (file 352, block 173198)<br \/>\n&nbsp; &nbsp; Completely zero block found during dbv:<\/p>\n<p>&nbsp; &nbsp; Page 173199 is marked corrupt<br \/>\n&nbsp; &nbsp; Corrupt block relative dba: 0x5802a48f (file 352, block 173199)<br \/>\n&nbsp; &nbsp; Completely zero block found during dbv:<\/p>\n<p>&nbsp; &nbsp; DBVERIFY &#8211; Verification complete<\/p>\n<p>&nbsp; &nbsp; Total Pages Examined &nbsp; &nbsp; &nbsp; &nbsp; : 917504<br \/>\n&nbsp; &nbsp; Total Pages Processed (Data): 253735<br \/>\n&nbsp; &nbsp; Total Pages Failing &nbsp; (Data) : 0<br \/>\n&nbsp; &nbsp; Total Pages Processed (Index): 335744<br \/>\n&nbsp; &nbsp; Total Pages Failing &nbsp; (Index): 0<br \/>\n&nbsp; &nbsp; Total Pages Processed (Other): 375<br \/>\n&nbsp; &nbsp; Total Pages Processed (Seg) &nbsp;: 17<br \/>\n&nbsp; &nbsp; Total Pages Failing &nbsp; (Seg) &nbsp;: 0<br \/>\n&nbsp; &nbsp; Total Pages Empty &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;: 327624<br \/>\n&nbsp; &nbsp; Total Pages Marked Corrupt &nbsp; : 9<br \/>\n&nbsp; &nbsp; Total Pages Influx &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; : 0<br \/>\n&nbsp; &nbsp; Total Pages Encrypted &nbsp; &nbsp; &nbsp; &nbsp;: 0<br \/>\n&nbsp; &nbsp; Highest block SCN &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;: 3412538527 (1421.3412538527)<\/p>\n<p>&nbsp; &nbsp; [Thu Nov 17 12:00:13 orbdev@samusxxxxxxxx:~ ] $<\/p>\n<p><strong>&nbsp;3. Find the free space<\/strong><\/p>\n<p><em>&nbsp;Select * from dba_free_space where file_id= &lt;Absolute file number&gt; and &lt;corrupted block number&gt; between block_id and block_id + blocks -1;<\/em><\/p>\n<p><em>&nbsp; SQL&gt; Select * from dba_free_space where file_id=352 and 173191 between block_id and block_id + blocks -1;<\/em><\/p>\n<p>&nbsp;TABLESPACE_NAME &nbsp; FILE_ID &nbsp; BLOCK_ID &nbsp; &nbsp; BYTES &nbsp; &nbsp;BLOCKS &nbsp; RELATIVE_FNO<br \/>\n&nbsp; &nbsp; &#8212;&#8212;&#8212;&#8212;&#8212; &#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;- &#8212;&#8212;&#8212; &#8212;&#8212;&#8212;&#8212;<br \/>\n&nbsp; &nbsp; SYSTEM &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;352 &nbsp; &nbsp; 173196 &nbsp; &nbsp; &nbsp;73728 &nbsp; &nbsp; &nbsp; &nbsp;9 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;352<\/p>\n<p><strong>4. Reformat first corrupted block<\/strong><\/p>\n<p>Repeat step 4 until all corrupted blocks are reformatted.<\/p>\n<p>&nbsp;create table scott.s (n number,c varchar2(4000)) nologging tablespace SYSTEM;<\/p>\n<p>&nbsp; &nbsp; select owner,table_name,tablespace_name from dba_tables where table_name=&#8217;S&#8217;;<\/p>\n<p>&nbsp; <em>&nbsp; SQL&gt; CREATE OR REPLACE TRIGGER corrupt_trigger<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp;AFTER INSERT ON scott.s<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp;REFERENCING OLD AS p_old NEW AS new_p<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp;FOR EACH ROW<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp;DECLARE<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp;corrupt EXCEPTION;<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp;BEGIN<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp;IF (dbms_rowid.rowid_block_number(:new_p.rowid)=&amp;blocknumber)<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;and (dbms_rowid.rowid_relative_fno(:new_p.rowid)=&amp;filenumber) THEN<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;RAISE corrupt;<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp;END IF;<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp;EXCEPTION<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp;WHEN corrupt THEN<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;RAISE_APPLICATION_ERROR(-20000, &#8216;Corrupt block has been formatted&#8217;);<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp;END;<br \/>\n&nbsp; &nbsp; &nbsp;\/<\/em><\/p>\n<p><em>&nbsp; Enter value for blocknumber: 173191<br \/>\n&nbsp; &nbsp; old &nbsp; 8: &nbsp; IF (dbms_rowid.rowid_block_number(:new_p.rowid)=&amp;blocknumber)<br \/>\n&nbsp; &nbsp; new &nbsp; 8: &nbsp; IF (dbms_rowid.rowid_block_number(:new_p.rowid)=173191)<\/em><\/p>\n<p><em>&nbsp; &nbsp; Enter value for filenumber: 352<br \/>\n&nbsp; &nbsp; old &nbsp; 9: &nbsp;and (dbms_rowid.rowid_relative_fno(:new_p.rowid)=&amp;filenumber) THEN<br \/>\n&nbsp; &nbsp; new &nbsp; 9: &nbsp;and (dbms_rowid.rowid_relative_fno(:new_p.rowid)=352) THEN<\/em><\/p>\n<p><em>&nbsp; Enter value for blocknumber: 173191<br \/>\n&nbsp; &nbsp; old &nbsp; 8: &nbsp; IF (dbms_rowid.rowid_block_number(:new_p.rowid)=&amp;blocknumber)<br \/>\n&nbsp; &nbsp; new &nbsp; 8: &nbsp; IF (dbms_rowid.rowid_block_number(:new_p.rowid)=173191)<\/em><\/p>\n<p><em>&nbsp; &nbsp; Enter value for filenumber: 352<br \/>\n&nbsp; &nbsp; old &nbsp; 9: &nbsp;and (dbms_rowid.rowid_relative_fno(:new_p.rowid)=&amp;filenumber) THEN<br \/>\n&nbsp; &nbsp; new &nbsp; 9: &nbsp;and (dbms_rowid.rowid_relative_fno(:new_p.rowid)=352) THEN<\/em><\/p>\n<p>&nbsp; &nbsp; Trigger created.<\/p>\n<p>&nbsp; Select BYTES\/1024\/1024 from dba_free_space where file_id=352 and 173191 between block_id and block_id + blocks -1;<\/p>\n<p>&nbsp; &nbsp; 72K<\/p>\n<p>&nbsp;<em> &nbsp; SQL&gt; BEGIN<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp;FOR i IN 1..100000 LOOP<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; EXECUTE IMMEDIATE &#8216;alter table scott.s allocate extent (DATAFILE &#8216;||&#8221;&#8217;\/mnt\/apps_st\/samusxxxxxxxx_data2\/system09.dbf&#8221;&#8217; ||&#8217;SIZE 72K)&#8217;;<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp;END LOOP;<br \/>\n&nbsp; &nbsp; END;<\/em><br \/>\n&nbsp; &nbsp; \/<\/p>\n<p>&nbsp; <em>&nbsp; SQL&gt; BEGIN<br \/>\n&nbsp; &nbsp; &nbsp; FOR i IN 1..1000000 LOOP<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;INSERT \/*+ APPEND *\/ INTO scott.s select i, lpad(&#8216;REFORMAT&#8217;,3092, &#8216;R&#8217;) from dual;<br \/>\n&nbsp; &nbsp; &nbsp; commit ;<br \/>\n&nbsp; &nbsp; &nbsp; END LOOP;<br \/>\n&nbsp; &nbsp; END;<br \/>\n&nbsp; &nbsp; \/<\/em><\/p>\n<p>&nbsp; <em>&nbsp; SQL&gt; Select * from v$database_block_corruption;<\/em><\/p>\n<p><em>&nbsp; &nbsp; no rows selected<\/em><\/p>\n<p><em>&nbsp; &nbsp; DROP TABLE scott.s;<\/em><\/p>\n<p>&nbsp; &nbsp; Alter system switch logfile;<\/p>\n<p>&nbsp; &nbsp; Alter system checkpoint;<\/p>\n<p>&nbsp; &nbsp;<em> DROP trigger corrupt_trigger;<\/em><\/p>\n<p><strong>&nbsp;5. Verify that the corrupted blocks are fixed<\/strong><\/p>\n<p><em>&nbsp; SQL&gt; select * from V$DATABASE_BLOCK_CORRUPTION;<\/em><\/p>\n<p>&nbsp;<em>no rows selected<\/em><\/p>\n<p><em>&nbsp;[Wed Nov 16 08:12:37 orbdev@samusxxxxxx:~ ] $ dbv file=&#8217;\/mnt\/apps_st\/samusxxxxxx_data2\/system09.dbf&#8217; userid=sys\/****<\/em><\/p>\n<p><em>&nbsp; &nbsp; DBVERIFY: Release 11.2.0.4.0 &#8211; Production on Wed Nov 16 08:12:41 2016<\/em><\/p>\n<p><em>&nbsp; &nbsp; Copyright (c) 1982, 2011, Oracle and\/or its affiliates. All rights reserved.<\/em><\/p>\n<p><em>&nbsp; &nbsp; DBVERIFY &#8211; Verification starting : FILE = \/mnt\/apps_st\/samusxxxxxx_data2\/system09.dbf<\/em><\/p>\n<p><em>&nbsp; &nbsp; DBVERIFY &#8211; Verification complete<\/em><\/p>\n<p><em>Total Pages Examined &nbsp; &nbsp; : 655359<br \/>\n&nbsp; &nbsp; Total Pages Processed (Data) : 260868<br \/>\n&nbsp; &nbsp; Total Pages Failing &nbsp;(Data) : 0<br \/>\n&nbsp; &nbsp; Total Pages Processed (Index): 340482<br \/>\n&nbsp; &nbsp; Total Pages Failing &nbsp;(Index): 0<br \/>\n&nbsp; &nbsp; Total Pages Processed (Other): 278<br \/>\n&nbsp; &nbsp; Total Pages Processed (Seg): 15<br \/>\n&nbsp; &nbsp; Total Pages Failing (Seg): 0<br \/>\n&nbsp; &nbsp; Total Pages Empty &nbsp; &nbsp; : 53716<br \/>\n&nbsp; &nbsp; Total Pages Marked Corrupt : 0<br \/>\n&nbsp; &nbsp; Total Pages Influx &nbsp; &nbsp; : 0<br \/>\n&nbsp; &nbsp; Total Pages Encrypted &nbsp; : 0<br \/>\n&nbsp; &nbsp; Highest block SCN &nbsp; &nbsp; : 136830000 (1422.136830000)<\/em><\/p>\n<p><em>&nbsp; &nbsp; [Wed Nov 16 08:14:50 orbldev2@samusxxxxxx:~ ] $<\/em><\/p>\n<p><strong>&nbsp;Conclusion<\/strong><\/p>\n<p>To detect and prevent data corruption, perform the following Maximum&nbsp;Availability Architecture (MAA) best practices:<\/p>\n<ul>\n<li>&#8211; Use Oracle Data Guard.<\/li>\n<li>&#8211; Set the Oracle Database block corruption detection parameters.<\/li>\n<li>&#8211; Implement a backup and recovery strategy with Recovery Manager (RMAN).<\/li>\n<\/ul>\n<p>These high availability solutions are integrated with Oracle Database and&nbsp;take advantage of the underlying data structures. Thus, the tools offer a new&nbsp;class of intelligent data protection and disaster recovery.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Repair block corruption in an Oracle database<\/p>\n","protected":false},"author":2,"featured_media":8070,"menu_order":0,"comment_status":"open","ping_status":"open","template":"","format":"standard","meta":{"content-type":"","nid":"26594","content_type":"blog","created_by":"10130","authored_on":"2024-02-09T13:08:49+00:00","field_article_industries":"","tag_category":"Technical","field_blog_author_text":"by Rackspace Technical Staff","seo_description":"Explore techniques for repairing single or multiple block corruption in Oracle databases, crucial for preventing outages and data loss.\r\n","field_featured_image":"","insights_image":"\/wp-content\/uploads\/2026\/blog_technical_images\/26594-insights_image-oracle-technical-blog-1-insights.jpg","field_partners":"","rxt_platforms":"Oracle","product":"","publisheddate":"2019-03-20T12:08:50","rxt_solutions":"Databases","opengraph_tag":"","x_tag":"","teaser_flag":"Technical Blog","seo_titile":"Oracle Database Block Repair: A Complete Guide | Rackspace Technology","field_topics":"","field_slug":"repair-block-corruption-in-an-oracle-database","footnotes":""},"categories":[178],"tags":[204],"class_list":["post-8068","blogs","type-blogs","status-publish","format-standard","has-post-thumbnail","hentry","category-blog","tag-technical"],"_links":{"self":[{"href":"https:\/\/www.rackspace.com\/en-gb\/wp-json\/wp\/v2\/blogs\/8068","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.rackspace.com\/en-gb\/wp-json\/wp\/v2\/blogs"}],"about":[{"href":"https:\/\/www.rackspace.com\/en-gb\/wp-json\/wp\/v2\/types\/blogs"}],"author":[{"embeddable":true,"href":"https:\/\/www.rackspace.com\/en-gb\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rackspace.com\/en-gb\/wp-json\/wp\/v2\/comments?post=8068"}],"version-history":[{"count":3,"href":"https:\/\/www.rackspace.com\/en-gb\/wp-json\/wp\/v2\/blogs\/8068\/revisions"}],"predecessor-version":[{"id":9857,"href":"https:\/\/www.rackspace.com\/en-gb\/wp-json\/wp\/v2\/blogs\/8068\/revisions\/9857"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.rackspace.com\/en-gb\/wp-json\/wp\/v2\/media\/8070"}],"wp:attachment":[{"href":"https:\/\/www.rackspace.com\/en-gb\/wp-json\/wp\/v2\/media?parent=8068"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rackspace.com\/en-gb\/wp-json\/wp\/v2\/categories?post=8068"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rackspace.com\/en-gb\/wp-json\/wp\/v2\/tags?post=8068"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}