Oracle - 資料庫的組成簡介

襲冷發表於2018-09-17

   Oracle資料庫是一個關聯式資料庫管理系統(RDBMS),資料庫伺服器由一個資料庫和至少一個例項組成。

    

 

一、資料庫

 

    資料庫是一組位於磁碟上的檔案,用於儲存資料。資料庫具有物理結構和邏輯結構。

 

    1、物理結構
        物理儲存結構是儲存在磁碟空間中,在作業系統級別上可以被列出的檔案系統中的檔案,物理儲存結構包括資料檔案(Data Files),控制檔案(Control Files)、重做日誌檔案(Online Redo Log)等:
            資料檔案在每個資料庫都有一個或多個,用於將所有邏輯資料結構的如表和索引等資料物理儲存在資料檔案中;
            控制檔案是僅與一個資料庫關聯的小型二進位制檔案,用來定位資料庫檔案並跟蹤資料庫的結構變化;

 

            重做日誌檔案可以防止資料丟失,能夠使資料庫在例項發生故障後恢復尚未寫入資料檔案的提交資料;

 

    2、邏輯結構
        邏輯儲存結構為資料庫中的所有資料分配的邏輯空間,是儲存諸如表和檢視之類的僅對資料庫有意義的邏輯資料,邏輯儲存結構包括資料塊(data block),擴充套件區(extent),段(segment)和表空間(tablespace):
            資料塊是資料庫中可以分配和使用的最小的邏輯單元;一個邏輯資料塊對應於物理磁碟空間的特定位元組數如2kb;
            擴充套件區是一組用於儲存特定型別資訊的邏輯連續的資料塊;
            段是為特定資料庫物件(例如表)分配的一組擴充套件區;每個段都只屬於一個表空間,但是一個段可以包含來自多個資料檔案的擴充套件區;
            表空間是包含一個或多個段的資料庫儲存單元;
    
二、例項    

 

    例項是一組管理資料庫檔案的記憶體結構,由一個共享記憶體區域(SGA)和一批後臺程式組成,用於管理資料庫的相關資料併為使用者提供服務。

    1、程式組成
        例項包含多個程式或與多個程式互動,程式分為客戶端程式(Client Process)和Oracle程式,Oracle程式又分為後臺程式(Background Process)和伺服器程式(Server Processes)以及從屬程式:
            客戶端程式執行使用者的應用程式或Oracle的工具程式碼如SQL*Plus,向資料庫發出SQL語句;每個客戶端程式都與它自己的伺服器程式相關聯
            後臺程式與資料庫例項一同啟動並執行維護任務,如例項恢復,清理程式,將重做緩衝區寫入磁碟等
            伺服器程式基於客戶端的請求執行工作,如解析SQL查詢並放入共享池,建立和執行查詢計劃,從資料庫緩衝區快取或磁碟讀取資料塊等

 

            從屬程式為後臺程式或伺服器程式執行其他任務

    2、記憶體結構
        資料庫為程式程式碼、使用者之間共享的資料以及每個連線使用者私有的資料建立和使用記憶體結構,這些記憶體結構包括系統全域性區域(SGA)、程式全域性區域(PGA)、使用者全域性區域(UGA)和軟體程式碼區域:   
            SGA是一組共享記憶體區域,包含一個資料庫例項的相關資料和控制資訊
            PGA是一個私有記憶體區域,包含伺服器程式或後臺程式的相關資料和控制資訊

 

 

            UGA是與使用者會話關聯的記憶體區域

 

 

 

相關文章