Oracle中IO操作的產生

來源:互聯網
上載者:User

I/O 包括了讀、寫兩部分,先介紹 Oracle資料庫 中寫操作的產生。

2.1. 寫

介紹寫操作之前,先簡單的看下 Oracle 的物理結構:Oracle 的物理檔案包括以下三種檔案:控 制檔案(Control Files)、重做記錄檔(Redo Log Files)、資料檔案(datafiles)。而資料文 件中,根據功能的不同,還可以分為:系統資料檔案、使用者資料檔案、臨時空間檔案和復原段檔案。 另外,如果資料庫的 Archive  Log 模式被啟用,還存在歸檔記錄檔。Oracle 的 I/O 產生, 就是對這些檔案的資料讀、寫操作。下面再詳細看下幾種主要寫操作的產生及其過程。

2.1.1.  控制檔案

控制檔案中記錄了整個資料庫的物理結構資訊。同時控制檔案還記錄系統和各個資料檔案的 SCN( System Change  Number,關於 SCN 可以參見文章《Orac le  SCN 機制詳解》)資訊,以 用於資料恢複,因此資料檔案上的 SCN 變化後,Oracle資料庫 也會相應修改控制檔案上的 SCN 資訊 。

2.1.2.  Redo Log

在非直接寫(Direct Write)的情況下,事務中的寫操作都會產生 Redo Log,作為資料區塊異常關 閉時的恢複記錄。同樣,和寫使用者資料類似,Redo Log 也不會被直接寫入 Redo Log 檔案,而是先寫 入 Log Buffer 中。

Log Buffer 是一個可以迴圈重用的緩衝區。LGWR 進程負責將 Log Buffer 中的記錄寫入 Redo Log File 中去。

一旦 Log Buffer 中的條目被寫入了 Redo Log 檔案中,就可以被重用了。

為了保證事務儘快獲得 Log Buffer,LGWR 進程一般會儘快將 Log  Buffer 中的資料寫入 Redo Log 檔案中去。

在以下幾種情況下,LGWR 會將一個連續的 Log  Buffer 寫入 Redo Log 檔案中去:

A.當一個事務提交(COMMIT)時。

B.每 3 秒鐘寫一次 Log Buffer。

C.當 Log Buffer 滿 1/3 時。

D.當 DBWn 進程將“髒”資料寫入磁碟時。

查看本欄目更多精彩內容:http://www.bianceng.cnhttp://www.bianceng.cn/database/Oracle/

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.