Oracle 19c資料庫體系結構-2

xfhuangfu發表於2021-03-09

一、 System Global Area


                                                                Oracle 19c SGA

系統全域性區域 (SGA) 是包含資料和控制資訊的記憶體區域

Oracle 資料庫例項。所有服務端和後臺程式共享 SGA 。啟動資料庫例項時,會顯示為 SGA 分配的記憶體量。

SGA 包括以下資料結構 :

Shared pool:

該元件快取各種可以在使用者之間共享的結構 ; 例如,共享池儲存已解析的儲存

SQL PL/SQL 程式碼、系統引數、資料字典資訊。共享池幾乎涉及到資料庫中發生的所有操作。例如,如果使用者執行 SQL 語句, Oracle 資料庫將訪問共享池。

Flashback buffer:

該元件是 SGA 中的一個可選元件。當 Flashback 資料庫被啟用時,後臺程式 Recovery Writer process (RVWR) 會啟動。 RVWR 會週期性地將修改後的資料塊從 buffer cache 拷貝到 flashback buffer 中,然後將 flashback 資料庫中的資料按順序寫入到 flashback 資料庫日誌中,並迴圈重用。

Database buffer cache:

該元件是儲存從資料檔案中讀取的資料塊副本的記憶體區域。緩衝區是一個主記憶體地址,緩衝區管理器在其中臨時快取當前或最近使用的資料塊。所有併發連線到資料庫例項的使用者共享對緩衝區快取的訪問。

Database Smart Flash cache:

資料庫緩衝區快取的可選記憶體擴充套件是否適用於 Solaris 上執行的資料庫

甲骨文 Linux 。它為資料庫塊提供了一個二級快取。對於讀密集型線上事務處理 (OLTP) 工作負載和資料倉儲 (DW) 環境中的臨時查詢和批量資料修改,它可以提高響應時間和總體吞吐量。資料庫智慧閃光快取記憶體駐留在一個或多個快閃記憶體盤裝置上,這些裝置是使用快閃記憶體的固態儲存裝置。資料庫智慧快閃記憶體快取是一種通常比額外的主存更經濟的技術。

Redo log buffer:

該元件是 SGA 中的一個迴圈緩衝區,儲存有關對資料庫所做更改的資訊。該資訊儲存在重做條目中。重做條目包含重構所需的資訊

通過資料操作語言 (DML) 、資料定義語言 (DDL) 或內部操作對資料庫進行的更改 ( 或重做 ) 。如果需要,重做條目用於資料庫恢復。

Large pool:

該元件是一個可選的記憶體區域,用於比共享池更大的記憶體分配。大池可以為共享伺服器的使用者全域性區域 (UGA) Oracle XA 介面 ( 用於事務與多個資料庫互動 ) 、語句並行執行時使用的訊息緩衝區、用於恢復的緩衝區提供大量記憶體分配

管理器 (RMAN) I/O 奴隸和延遲插入。

In-Memory Area:

該元件是一個可選元件,它允許物件 ( 表、分割槽和其他型別 ) 以一種稱為 columnar 格式的新格式儲存在記憶體中。這種格式使掃描、連線和聚合的執行速度比傳統的磁碟上格式快得多,從而為 OLTP DW 環境提供了快速的報告和 DML 效能。這個特性對於分析應用程式特別有用,因為分析應用程式操作幾行返回許多行,而 OLTP 操作幾行返回許多列。

Memoptimize Pool:

該元件是一個可選元件,為基於鍵的查詢提供高效能和可伸縮性。

Memoptimize Pool 包含兩部分, Memoptimize buffer area hash index 。快速查詢使用 memoptimization 池中的雜湊索引結構,提供對給定表塊的快速訪問 (memoptimization 為讀啟用 ) ,永久固定在緩衝區快取中,以避免磁碟 I / O memoptimization 池中的緩衝區完全獨立於資料庫緩衝區快取。雜湊索引是在配置 Memoptimized 行儲存時由資料庫建立的。

Shared I/O pool (SecureFiles):

該元件用於安全檔案大物件 (lob) 上的大型 I/O 操作。 lob 是一組設計用來儲存大量資料的資料型別。 SecureFile LOB 儲存引數,支援重複資料刪除、加密和壓縮。

Streams pool:

該元件用於 Oracle Streams Data Pump GoldenGate 整合捕獲和應用流程。的

Streams pool 儲存緩衝的佇列訊息,併為 Oracle Streams 捕獲程式和應用程式提供記憶體。除非您特別配置它,否則流池的大小從 0 開始。當使用 Oracle Streams 時,池的大小會根據需要動態增長。

Java pool:

該元件用於 Java 虛擬機器 (JVM) 中所有特定於會話的 Java 程式碼和資料。 Java 池記憶體的使用方式不同,這取決於 Oracle 資料庫執行的模式

Fixed SGA:

該元件是一個內部管理區域,包含關於資料庫和資料庫例項的狀態的一般資訊,以及程式之間通訊的資訊。

 

二、 Program Global Area


Oracle 19c PGA

PGA (Program Global Area) 是一個非共享記憶體區域,它包含伺服器和後臺程式專用的資料和控制資訊。 Oracle 資料庫建立伺服器程式來代表客戶端程式處理到資料庫的連線。在專用伺服器環境中,為每個啟動的伺服器和後臺程式建立一個 PGA 。每個 PGA 由堆疊空間、雜湊區、點陣圖合併區和使用者全域性區 (UGA) 組成。當使用 PGA 的關聯伺服器或後臺程式終止時, PGA 將被釋放。

在共享伺服器環境中,多個客戶端使用者共享伺服器程式。 UGA 被移到大池中,只給 PGA 留下堆疊空間、雜湊區域和點陣圖合併區域

在專用伺服器會話中, PGA 由以下元件組成 :

SQL 工作區域 : 排序區域由對資料進行排序的函式使用,例如 Order BY GROUP BY

會話記憶體 : 這個使用者會話資料儲存區域分配給會話變數,例如登入資訊和資料庫會話所需的其他資訊。 OLAP 池管理 OLAP 資料頁,它相當於資料塊

私有 SQL 區域 : 該區域儲存有關已解析 SQL 語句的資訊和其他用於處理的特定於會話的資訊。當伺服器程式執行 SQL PL/SQL 程式碼時,該程式使用私有 SQL 區域儲存繫結變數值、查詢執行狀態資訊和查詢執行工作區。同一個或不同會話中的多個私有 SQL 區域可以指向 SGA 中的單個執行計劃。持久區域包含繫結變數值。執行時區域包含查詢執行狀態資訊。

堆疊空間 : 堆疊空間是分配給儲存會話變數和陣列的記憶體

雜湊區 : 用於對錶進行雜湊連線。

點陣圖合併區域 : 該區域用於合併多個點陣圖索引掃描得到的資料


-the end-




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

相關文章