oracle物理儲存結構理解

winston_DBA發表於2015-04-05

1.物理儲存組成
主要包括控制檔案,資料檔案,臨時檔案和線上重做日誌檔案。並且這些檔案都可在作業系統層面看到。

2.資料庫檔案的儲存機制
ASM(automatic storage management):專門為oracle資料庫設計的一種檔案系統。
作業系統檔案系統:一般來說,oracle存放資料的檔案系統通常都使用LVM管理的邏輯卷。這樣更易於擴充。
裸裝置:裸裝置最大的優勢在於可以繞過操作的緩衝限制,進行直接的I/O,並且可以寫入更大的緩衝。
檔案系統叢集:叢集主要保證了資料的更加安全。叢集中的部分節點失敗,並不會導致資料檔案的丟失。
一個資料庫一般使用多種機制來儲存資料庫檔案,例如,資料庫將控制檔案和線上重做日誌檔案放在傳統的檔案系統上;將資料檔案放在裸裝置上;將剩下的例如臨時檔案,RMAN備份相關檔案放在ASM中,將歸檔重做日誌檔案放到檔案叢集中。

3.資料檔案概述
第一、為了方便資料庫管理,oracle將表空間概念和資料檔案緊密聯絡起來,每個表空間至少包括一個資料檔案,每個資料檔案只屬於一個表空間。
一個資料庫包括的資料檔案主要包括:
SYSTEM表空間資料檔案:用於存放資料庫的後設資料,oracle會強制將第一個建立的datafile分配給SYSTEM表空間。
SYSAUX表空間資料檔案:SYSTEM表空間的輔助表空間。
UNDO表空間資料檔案:主要存放UNDO資料,保證資料的一致性和支援回滾。
臨時表空間資料檔案:
主要存放只在會話期間存在的資料,會話結束後,自動刪除。
當記憶體不足時,用來存放結果集。
本地管理的表空間,主要用來存放雜湊操作和排序操作的特殊檔案。
第二、資料檔案結構
資料檔案結構主要包括資料檔案頭和資料檔案體。
資料檔案頭中主要包含資料檔案的後設資料,例如:檢查點SCN、絕對檔案編號和相對檔案編號等。
資料檔案體中,主要由資料區組成,資料區分為used、formatted never used和previous used,current unused狀態。

4.控制檔案概述
資料庫的控制檔案為一個與該資料庫關聯的非常小的二進位制檔案。每個資料庫有且只有一個控制檔案。為了控制檔案的安全,oracle資料庫採用多路複用的方式來進行保護,但是每份控制檔案內容都是一致的。
控制檔案的使用:
控制檔案是資料庫用來管理資料庫狀態和找到資料庫檔案的根檔案。其內容包括:
資料庫名(DB_NAME)和資料庫唯一標識(DBID)
資料庫建立時間
關於資料檔案、線上重做日誌檔案和歸檔重做日誌檔案的資訊
表空間的資訊
RMAN備份的資訊

5.線上重做日誌概述
online redo log在例項恢復中起著非常重要的作用,其記錄著所有資料檔案的改變。其最少包括兩組成員(為了保證資料庫開啟歸檔時,一個在進行歸檔另一個可以同時寫入)。
oracle資料庫只有資料庫恢復時才會使用online redo log 但是資料庫管理員可以透過logminer工具來查詢資料庫歷史活動資訊。
日誌檔案的切換原因可能有三種:某日誌檔案已寫滿,但是寫操作還沒結束;日誌檔案切換被設定成固定時間進行切換,且切換時間已到;手動進行日誌檔案的切換。
如何判斷已被寫滿的online redo log檔案是否可被覆蓋重寫:
非歸檔模式:只要保證該日誌檔案中的記錄所對應的資料髒塊修改,已經被DBW寫入資料檔案中,該online redo log檔案即可被複用。
歸檔模式:不僅要保證日誌檔案記錄的塊修改需要被DBW成功寫入資料檔案,還需要保證日誌檔案已經歸檔。歸檔成功之後才能被複用。

oracle使用日誌組來冗餘線上日誌檔案,保障日誌檔案安全。

onlin redo log結構組成:
改變發生的SCN和time stamp
事務ID與產生改變的事務
事務提交的SCN和time stamp(如果提交)
引起改變的操作型別
被修改資料段的段名和型別


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30167136/viewspace-1503687/,如需轉載,請註明出處,否則將追究法律責任。

相關文章