一、物理結構:
1、資料檔案:Oracle資料庫包含若干資料檔案,資料檔案儲存資料庫資料,包括表、索引等等。資料檔案的幾個特點:
1)一個資料檔案只允許分配給一個資料庫
2)資料檔案可設定為自動擴充
3)一個或多個資料檔案構成資料表空間
在進行資料庫操作的時候,資料庫先從記憶體尋找要操作的資料,如果沒有找到的話,再從資料檔案取出資料放在記憶體中,然後才對記憶體中的資料進行相關的操作。操作完的資料並沒有立即寫到資料檔案中(這樣減少了磁碟的IO),而是放在記憶體中,然後由DBWn進程決定何時批量寫入資料檔案。
2、控制檔案:每一個資料庫都有一個或多個控制檔案,控制檔案包含了資料庫的物理結構,包括:
1)資料庫名
2)資料檔案名及位置
3)重做記錄檔名及位置
4)資料庫的建立時間等等
一般一個資料庫都有若干個控制檔案鏡像。資料庫在開啟的時候(ALTER
DATABASE OPEN),會讀取控制檔案中的資訊來開啟資料庫。當資料庫的物理結構發生變化的時候,比如增加一個資料檔案、一組重做日誌等等,控制檔案都會自動地做相應的修改。在資料庫物理結構發生變化後,最好重新備份一下控制檔案,用於資料庫恢複。
3、重做記錄檔:重做日誌中記錄了資料的變化。一般一個資料庫都會有兩到三組重做記錄檔。同一日誌組的鏡像最好分佈於不同的磁碟上。
4、歸檔日誌:當資料庫啟動歸檔的時候,重做日誌會被自動歸檔到指定的位置。
5、初始化參數檔案:包含了資料庫啟動時的配置資訊
6、警告和追蹤記錄檔檔案
1)追蹤檔案:每一個後台進程都有一個單獨的追蹤檔案,比如當系統發現某一個進程有問題的時候,相關的資訊就會寫到相應的追蹤檔案中。可以從資料庫的追蹤檔案來發現和調試資料庫的錯誤。
2)警告檔案,也叫警告日誌。是一個特別的追蹤檔案,它記錄著資料庫啟動、運行中的相關資訊,它是按時間順序進行記錄的。
7、備份檔案
二、邏輯結構
1、資料表空間:相關邏輯對象的集合。在Oracle10g中,在建立資料庫的時候就自動建立了SYSTEM和SYSAUX資料表空間。
2、資料區塊:資料存放區在資料區塊中,一個資料區塊的大小(DB_BLOCK_SIZE)由作業系統塊來決定。可以指定5種,分別為2K、4K、8K、16K、32K。
3、區:一系列連續的資料區塊組成區,區儲存特定類型的資料,比如索引,表等等。
4、段:由一系列區組成段。
1)資料區段:對於每一個非聚集表有一資料區段,表的所有資料存放在該段。每一聚集有一個資料區段,聚集中每一個表的資料存放區在該段中。分區表中的每一個分區有一個資料區段,分區中的資料存放區在該段中。
2)索引段:每一個索引有一索引段,儲存索引資料。分區索引中的每一分區有一個索引段。
3)復原段:用於臨時儲存要撤消的資訊,這些資訊用於產生讀一致性資料庫資訊,在資料庫恢複時使用,復原未提交的事務。系統復原段用於處理系統事務,不建議使用者使用系統復原段來做其它操作。
4)臨時段:當一個SQL語句需要臨時工作區時,由Oracle建立臨時段。當語句執行完畢,臨時段的區退回給系統。