淺談應該如何理解Oracle的架構知識

來源:互聯網
上載者:User

1、物理結構

Oracle物理結構由控制檔案、資料檔案、重做記錄檔、參數檔案、歸檔檔案、口令檔案組成

一個資料庫中的資料存放區在磁碟上物理檔案,被使用時,調入記憶體。其中控制檔案、資料檔案、重做記錄檔、追蹤檔案及警告日誌trace files,alert files)屬於資料庫檔案;參數檔案parameter file)口令檔案password file)是非資料庫檔案。

資料檔案:儲存資料的檔案.資料檔案典型地代表了根據他們使用的磁碟空間和數量所決定的一個Oracle資料庫的容積。

由於效能原因,每一種類型的資料放在相應的一個或一系列檔案中,將這些檔案放在不同的磁碟中。

types:

.data dictionary .data

.redo data .index

.temporary data 等等

控制檔案:包含維護和驗證資料庫完整性的必要資訊、例如,控制檔案用於識別資料檔案和重做記錄檔,一個資料庫至少需要一個控制檔案.

控制檔案內容

◆資料庫名

◆資料表空間資訊

◆所有資料檔案的名字和位置

◆所有redo記錄檔的名字和位置

◆當前的記錄序號

◆檢查點資訊

◆關於redo日誌和歸檔的目前狀態資訊

控制檔案的使用過程

控制檔案把Oracle引導到資料庫檔案的其它部分。啟動一個執行個體時,Oracle 從參數檔案中讀取控制檔案的名字和位置。安裝資料庫時,Oracle 開啟控制檔案。最終開啟資料庫時,Oracle 從控制檔案中讀取資料檔案的列表並開啟其中的每個檔案。

重做記錄檔

含對資料庫所做的更改記錄,這樣萬一出現故障可以啟用資料恢複。一個資料庫至少需要兩個重做記錄檔.

追蹤檔案及警告日誌(Trace Files and Alert Files)

在instance 中啟動並執行每一個後台進程都有一個追蹤檔案trace file)與之相連。Trace file 記載後台進程所遇到的重大事件的資訊。

警告日誌 Alert Log)是一種特殊的追蹤檔案,每個資料庫都有一個追蹤檔案,同步記載資料庫的訊息和錯誤.

參數檔案:包括大量影響Oracle資料庫執行個體功能的設定,如以下設定:

◆資料庫控制檔案的定位

◆Oracle用來緩衝從磁碟上讀取的資料的記憶體數量

◆預設的最佳化程式的選擇.

和資料庫檔案相關,執行兩個重要的功能

1〉為資料庫指出控制檔案

2〉為資料庫指出歸檔日誌的目標

歸檔檔案:是重做記錄檔的離線副本,這些副本可能對於從介質失敗中進行恢複很必要。

口令檔案:認證哪些使用者有許可權啟動和關閉Oracle常式.

2、邏輯結構資料表空間、段、區、塊)

資料表空間:是資料庫中的基本邏輯結構,一系列資料檔案的集合。

段:是對象在資料庫中佔用的空間.

區:是為資料一次性預留的一個較大的儲存空間.

塊:ORACLE最基本的儲存單位,在建立資料庫的時候指定.

3、記憶體配置SGA和PGA)

SGA:是用於儲存資料庫資訊的記憶體區,該資訊為資料庫進程所共用。它包含Oracle 伺服器的資料和控制資訊,它是在Oracle伺服器所駐留的電腦的實際記憶體中得以分配,如果實際記憶體不夠再往虛擬記憶體中寫。

PGA:包含單個伺服器處理序或單個後台進程的資料和控制資訊,與幾個進程共用的SGA 正相反,PGA 是只被一個進程使用的地區,PGA 在建立進程時分配,在終止進程時回收.

4、後台進程

包括資料寫進程(Database Writer,DBWR)、日誌寫進程(Log Writer,LGWR)、系統監控(System Monitor,SMON)、進程監控(Process Monitor,PMON)、檢查點進程(Checkpoint Process,CKPT)、歸檔進程、服務進程、使用者進程)

資料寫進程:負責將更改的資料從資料庫緩衝區快取寫入資料檔案

日誌寫進程:將重做日誌緩衝區中的更改寫入線上重做記錄檔

系統監控:檢查資料庫的一致性如有必要還會在資料庫開啟時啟動資料庫的恢複

進程監控:負責在一個Oracle 進程失敗時清理資源

檢查點進程:負責在每當緩衝區快取中的更改永久地記錄在資料庫中時,更新控制檔案和資料檔案中的資料庫狀態資訊。該進程在檢查點出現時,對全部資料檔案的標題進行修改,指示該檢查點。在通常的情況下,該任務由LGWR執行。然而,如果檢查點明顯地降低系統效能時,可使CKPT進程運行,將原來由LGWR進程執行的檢查點的工作分離出來,由CKPT進程實現。對於許多應用情況,CKPT進程是不必要的。只有當資料庫有許多資料檔案,LGWR在檢查點時明顯地降低效能才使CKPT運行。CKPT進程不將塊寫入磁碟,該工作是由DBWR完成的。 init.ora檔案中 CHECKPOINT_PROCESS 參數控制CKPT進程的使能或使不能。預設時為FALSE,即為使不能。

歸檔進程:在每次日誌切換時把已滿的日誌組進行備份或歸檔

服務進程:使用者進程服務。

使用者進程:在用戶端,負責將使用者的SQL語句傳遞給服務進程,並從伺服器段拿回查詢資料。

5、SCN(System ChangeNumber):

系統改變號,一個由系統內部維護的序號。當系統需要更新的時候自動增加,他是系統中鑑效組資料的一致性和順序恢複的重要標誌。

  1. Oracle千萬條記錄插入與查詢小結
  2. Oracle DBA職責及日常工作分析
  3. Oracle預存程序開發執行個體

相關文章

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.