[總結]sga中的名詞解釋!
2024-07-21 02:40:29
供稿:網友
sga,pga,share pool,data buffer等詞匯在數據庫治理文檔中經常出現,他們代表什么意思呢?總結如下:
--------------------------------------------------------------------------------------
Oracle 的內存結構
Oracle的內存結構由以下兩個部分組成:
System Global Area(SGA):Oracle Instance的 基本組成部分,在實例啟動時分配。
PRogram Global Area (PGA) :當服務器進程啟動時分配
--------------------------------------------------------------------------------------
System Global Area(SGA)
SGA由以下內存結構構成
Shared Pool
Database Buffer Cache
Redo Log Buffer
其它結構
還可以選擇為SGA配置以下兩個可選的內存結構:
Large Pool
java Pool
SHOW SGA;
------------------------------------------------------------------------------------
Shared Pool
Shared Pool用于緩存最近被執行的SQL語句和最近被使用的數據定義。
它主要由兩個內存結構構成:
Library cache
Data dictionary cache
修改共享池的大小
ALTER SYSTEM SET SHARED_POOL_SIZE = 64M;
--------------------------------------------------------------------------------------
Library Cache
Libray Cache緩存最近被執行的SQL和PL/SQL的相關信息。
實現常用語句的共享
使用LRU算法進行治理
由以下兩個結構構成:
Shared SQL area
Shared PL/SQL area
Data Dictionary Cache
Data dictionary cache緩存最近被使用的數據庫定義。
它包括關于數據庫文件、表、索引、列、用戶、權限以及其它數據庫對象的信息。
在語法分析階段,Server Process訪問數據字典中的信息以解析對象名和對存取操作進行驗證。
將數據字典信息緩存在內存中有助于縮短響應時間。
-----------------------------------------------------------------------------------
Database Buffer Cache
Database Buffer Cache用于緩存從數據文件中檢索出來的數據塊。
可以大大提高查詢和更新數據的性能。
使用LRU算法進行治理
-------------------------------------------------------------------------------------
Redo Log Buffer Cache
Redo Log Buffer Cache緩存對于數據塊的所有修改。
主要用于恢復
其中的每一項修改記錄都被稱為redo 條目。
利用Redo條目的信息可以重做修改。
--------------------------------------------------------------------------------------
Large Pool
Large Pool是SGA中一個可選的內存區域,它只用于shared server環境。
可以減輕共享池的負擔
可以為備份、恢復等操作來使用
不使用LRU算法來治理
指定Large Pool的大小
ALTER SYSTEM SET LARGE_POOL_SIZE=64M
------------------------------------------------------------------------------------
Jave Pool
Java Pool為Java命令的語法分析提供服務
在安裝和使用Java的情況下使用
其大小由JAVA_POOL_SIZE指定
------------------------------------------------------------------------------------
Program Global Area(PGA)
PGA是為每個連接到Oracle database的用戶進程保留的內存。
Program Global Area(PGA)
PGA存儲一個服務器進程或后臺進程的數據和控制信息,并且只能由一個進程使用。它在進程創建時分配,在進程結束時被收回。
*有空再整理各進程概念作用,希望大家支持,不對的地方指正,我改,不要罵我就好了!