pga相關引數
PGA
UGA :session資訊,WORK AREA(hash area,sort area等)等等
CGA :parse呼叫、executive呼叫、fetch呼叫等
pga_aggregate_target 設定所有程式總的WORK AREA區大小,主要影響下面幾個相關引數的設定
_smm_max_size : 序列程式的WORK AREA上限值,單位KB。預設值
_pga_max_size : 每個程式WORK AREA上限值,單位byte。
_smm_px_max_size : 並行模式下,所有並行程式共享的WORK AREA上限值,單位KB
_smm_max_size:
pga_aggregate_target <= 500 MB, then _smm_max_size = 20% * pga_aggregate_target
pga_aggregate_target [500MB , 1000 MB], then _smm_max_size = 100 MB
pga_aggregate_target >= 1000 MB, then _smm_max_size = 10% * pga_aggregate_target, 最大值 1024MB
_pga_max_size:
_smm_max_size <= 100m,then _pga_max_size=200m
_smm_max_size > 100m,then _pga_max_size = 2 * _smm_max_size
_smm_px_max_size:
_smm_px_max_size = 50% * pga_aggregate_target
degree of parallelism (DOP) <= 5, 每個slave程式使用_smm_max_size限制
degree of parallelism (DOP) > 5, 所有slave程式共享_smm_px_max_size
從上面的分析,我們可以得到下面的一些指導:
1、增大pga_aggregate_target設定,可以提高每個程式的work area大小,對於hash join、排序等操作有利
2、PGA達到10G後,單個程式的work area已經達到極限,不能再獲得更大的空間了
3、在CPU足夠的情況,設定並行度超過6,可以獲得更大的work area空間,比如建立索引就會更快
4、如果大量程式啟用高並行度,作業系統記憶體很容易被消耗光,因為PGA只是限定了work area的空間,而其他的元件可以越界。
綜上, pga_aggregate_target並不是硬性限制 ,work area之外的記憶體,不被pga_aggregate_target和_pga_max_size所限制。所以經常會看到PGA的大小超過了pga_aggregate_target,這通常是因為PL/SQL中的變數和陣列中裝入了巨大的資料造成的。通常的例子是bulk collect。
在12c中引入了PGA_AGGREGATE_LIMIT引數,可用來硬性限制PGA大小。
In Oracle release 12.1: the greater of the following:
* 2 GB
* 200% of PGA_AGGREGATE_TARGET
* (Value of PROCESSES initialization parameter setting) * 3 MB
It will not exceed 120% of the physical memory size minus the total SGA size.
In Oracle release 12.2:
* If MEMORY_TARGET is set, then PGA_AGGREGATE_LIMIT defaults to the MEMORY_MAX_TARGET value.
* If MEMORY_TARGET is not set, then PGA_AGGREGATE_LIMIT defaults to 200% of PGA_AGGREGATE_TARGET.
* If MEMORY_TARGET is not set, and PGA_AGGREGATE_TARGET is explicitly set to 0, then the value of PGA_AGGREGATE_LIMIT is set to 90% of the physical memory size minus the total SGA size.
In all cases, the default PGA_AGGREGATE_LIMIT is at least 2GB and at least 3MB times the PROCESSES parameter.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31544156/viewspace-2633451/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- PostgreSQL AutoVacuum 相關引數SQL
- MySQL效能相關引數MySql
- Spark的相關引數配置Spark
- MySQL 連線相關引數MySql
- [20220913]hugepage相關引數含義.txt
- openGauss執行緒池相關引數執行緒
- [20191204]hugepage相關引數含義.txt
- Oracle安裝相關Linux引數(轉)OracleLinux
- mysql relay log相關引數說明MySql
- redis持久化相關引數解釋Redis持久化
- PostgreSQL並行查詢相關配置引數SQL並行
- Oracle direct path read相關隱含引數Oracle
- Oracle資料庫work area size & pga_aggregate_target引數Oracle資料庫
- 【測試】Android Studio 相關下載及引數Android
- MySQL索引統計資訊更新相關的引數MySql索引
- MySQL中Redo Log相關的重要引數總結MySql
- Oracle undo保留時間的幾個相關引數Oracle
- 【PARANETERS】Oracle異常恢復相關的隱含引數Oracle
- 桌上型電腦電源相關引數說明
- MySQL change buffer介紹和相關引數調整建議MySql
- 統計學三大相關係數之Pearson相關係數、Spearman相關係數
- 數論相關
- [轉帖]Redis相關的核心引數解釋與設定Redis
- python疑問5:位置引數,預設引數,可變引數,關鍵字引數,命名關鍵字引數區別Python
- 資料庫管理-第123期 Oracle相關兩個引數(202301205)資料庫Oracle
- 【手摸手玩轉 OceanBase 172】清理備份相關引數介紹
- pg中與執行計劃相關的配置(ENABLE_*)引數
- 配置Google支付相關引數(client_id, client_secret, refresh_token)Goclient
- Android小知識-剖析Retrofit中ServiceMethod相關引數以及建立過程Android
- Oracle11g 自動化建庫及調整相關引數Oracle
- 線性代數相關
- PGA引發的ORA-04030報錯的處理思路
- basler工業相機引數設定
- Python函式/動態引數/關鍵字引數Python函式
- 偏相關係數計算
- 與數學相關的類
- 【手摸手玩轉 OceanBase 166】怎麼檢視資料備份相關引數?
- Android小知識-剖析Retrofit中的網路請求流程以及相關引數Android