處理Oracle資料庫中的壞塊

來源:互聯網
上載者:User

一 什麼是資料庫的壞塊

首先我們來大概看一下資料庫塊的格式和結構——資料庫的資料區塊有固定的格式和結構,分三層 cache layer,transaction layer,data layer。在我們對資料區塊進行讀取寫入操作的時候,資料庫會對要讀寫的資料區塊做一致性的檢查,其中包括 資料區塊的類型、資料區塊的地址資訊、資料區塊的SCN號以及資料區塊的頭部和尾部。如果發現其中有不一致的資訊,那資料庫就會標記這個資料區塊為壞塊了。資料庫的壞塊分為兩種,邏輯壞塊和物理壞塊。

二 壞塊對資料庫產生的影響

如果資料庫出現壞塊,資料庫的警示記錄檔裡面會存在有如下的一些報錯資訊 Ora-1578以及Ora-600 and trace file in bdump directory,其中Ora-600錯誤的第一個參數值的範圍是[2000]-[8000],不同的值代表著資料區塊的不同的層出現問題,具體的如下表所示:

Range block layer

Cache layer 2000 – 4000

Transaction layer 4000 – 6000

Data layer 6000 - 8000

壞塊產生影響的對象可能是資料字典表、復原段表、臨時段、使用者資料表和索引等。不同的對象產生壞塊後的處理方法不盡相同。

三 壞塊產生的原因

Oracle調用標準C的系統函數,對資料區塊進行讀寫操作,因此,壞塊是有可能由以下幾種原因產生:

硬體的I/O錯誤

作業系統的I/O錯誤或緩衝問題

記憶體或paging問題

磁碟修複工具

一個資料檔案的一部分正在被覆蓋

Oracle試圖訪問一個未被格式化的系統塊失敗

資料檔案部分溢出

Oracle或者作業系統的bug

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.