一、資料庫結構
二、Oracle 記憶體結構
三、進程結構
1、 使用者進程:在資料庫使用者請求串連到Oracle 伺服器時啟動
2、 伺服器處理序:可以串連到Oracle執行個體,它在使用者建立會話時啟動
3、 後台進程:再啟動Oracle執行個體時啟動
四、Oracle執行個體管理
1、 系統監視器(SMON):出現故障後啟動執行個體時執行崩潰恢複任務
2、 進程監視器(PMON):使用者進程失敗時執行進程清理任務
3、 資料庫寫進程(DBWn):將修改後的塊從資料庫緩衝區快取寫入磁碟中的資料檔案
4、 檢查點(CKPT):通過更新資料庫的所有資料檔案和控制檔案指出最新的檢查點
5、 日誌寫進程(LGWR):將重做日誌條目寫入磁碟
6、 歸檔進程(ARCn):發生日誌切換時將重做記錄檔複製到Archive Storage器
五、伺服器處理序和資料庫緩衝區快取
處理某個查詢時,Oracle伺服器處理序會在資料庫緩衝區快取中尋找它所需的所有資料區塊。如果未在資料庫緩衝區快取中找到資料區塊,伺服器處理序會從資料檔案中讀取資料區塊,並在資料庫緩衝區快取中添加一個副本。因為關於同一資料區塊的後續請求可能會在記憶體中找到該資料區塊,因此,這些請求可能不需要進行物理讀操作。Oracle伺服器使用最近用過的演算法騰出最近未訪問的緩衝區,以便在資料庫緩衝區快取中為新資料區塊提供空間。
緩衝區快取中的緩衝區可能處於一下四種狀態之一:
① 已串連:可防止多個會話同時對同一資料區塊進行寫操作。此時,其他會話正等待訪問該塊。
② 乾淨:緩衝區現已解除串連,如果沒有再次引用當前內容(資料區塊),該緩衝區是可以立即騰出的候選項。此時,不是緩衝區的 內容已與磁碟中儲存的資料區塊內容同步,就是緩衝區中包含塊的一致讀取(CR)快照。
③ 空閑或未使用:執行個體剛剛啟動,緩衝區為空白。此狀態與“乾淨”狀態非常相似,不同之處在於緩衝區尚未使用。
④ 灰資料:緩衝區不再處於已串連狀態,但是內容(資料區塊)已更改,DBWn必須先將內容重新整理到磁碟,才能騰出緩衝區。