Oracle資料庫是Oracle公司開發和銷售的一種物件關聯式資料庫管理系統。 Oracle資料庫通常被稱為Oracle RDBMS或簡稱為Oracle。
Oracle資料庫伺服器由一個資料庫和至少一個資料庫範例組成。 資料庫是一組儲存資料的檔案,而資料庫範例是一組管理資料庫檔案的記憶體結構。 另外,資料庫由後台行程群組成。
一個資料庫和一個範例是緊密相連的,因此術語 - Oracle資料庫 通常用來指代範例和資料庫。
下圖說明了Oracle資料庫伺服器體系結構:
在這種體系結構中,Oracle資料庫伺服器包括兩個主要部分:檔案(Oracle資料庫)和記憶體(Oracle範例)。
Oracle資料庫的一個基本任務是儲存資料。以下部分簡要地介紹Oracle資料庫的物理和邏輯儲存結構。
1.1. 物理儲存結構
物理儲存結構是儲存資料的純檔案。當執行一個CREATE DATABASE
語句來建立一個新的資料庫時,將建立下列檔案:
除這些檔案外,Oracle資料庫還包括其他重要檔案,如引數檔案,網路檔案,備份檔案以及用於備份和恢復的歸檔重做紀錄檔檔案。
1.2. 邏輯儲存結構
Oracle資料庫使用邏輯儲存結構對磁碟空間使用情況進行精細控制。以下是Oracle資料庫中的邏輯儲存結構:
下圖說明了表空間中的段,範圍和資料塊:
下圖顯示了邏輯和物理儲存結構之間的關係:
Oracle範例是用戶端應用程式(使用者)和資料庫之間的介面。Oracle範例由三個主要部分組成:系統全域性區(SGA),程式全域性區(PGA)和後台進程。如下圖所示 -
SGA是範例啟動時分配的共用記憶體結構,關閉時釋放。 SGA是一組包含一個資料庫範例的資料和控制資訊的共用記憶體結構。
不同於所有進程都可用的SGA,PGA是對談開始時為每個對談分配的私有記憶體區,當對談結束時釋放。
主要的Oracle資料庫的後台進程
以下是Oracle範例的主要後台進程:
DBW0
,DBW1
,DBW2
等等。redo
紀錄檔檔案中用於恢復目的。 而這些變化是由LGWR進程編寫和記錄的。 LGWR進程首先將更改寫入記憶體,然後將磁碟寫入重做紀錄檔,然後將其用於恢復。ARC0
,ARC1
和ARC3
,允許存檔程式寫入多個目標,如D:
驅動器,E:
驅動器或其他儲存。