一點ASMM總結
Oracle的SGA記憶體結構:
Buffer Cache資料庫快取記憶體
- Default Pool 預設的緩衝池,大小由DB_CACHE_SIZE決定
- Keep Pool 持久的緩衝池,大小由DB_KEEP_CACHE_SIZE決定
- Non standard pool 非標準塊標準池,大小由DB_nK_cache_size決定
- Recycle pool 回收池,大小由db_recycle_cache_size決定
Shared Pool 共享池,大小由shared_pool_size決定
- Library cache 俗稱的庫快取
- Row cache 行快取,也叫字典快取
Java Pool java池,大小由Java_pool_size決定
Large Pool 大池,大小由Large_pool_size決定
Fixed SGA 固定的SGA區域,包含了Oracle內部的資料結構,一般被存放在第一個granule中
通過SGA_TARGET引數手動配置ASMM。預設情況下,SGA_TARGET值為0,意味著ASMM關閉。要啟動ASMM,初始化引數statistics_level必須設定為typical或ALL,同時SGA_TARGET引數設定為非0值。
如果為SGA_TARGET指定了非0值,則下面五個池將被自動設定,相應的引數被視為自動的(Autotuned parameters):
Database buffer cache(default pool) (db_cache_size)
shared pool (shared_pool_size)
large pool (large_pool _size)
streams pool (streams_pool_size)
java pool (java_pool_size)
還有一部分組建需要手動設定(Manually Tuned SGA Parameters):
Log buffer (log_buffer)
Keep pool (db_keep_cache_size)
Recycle pool (db_recycle_cache_size)
Non standard pool (db_nk_cache_size)
Fixed SGA 固定的SGA區域,包含了Oracle內部的資料結構
實際上我們不能同時設定sga_target為非0值和statistics_level為BASIC,會報錯:
SYS@ tsid > alter system set statistics_level=basic;
alter system set statistics_level=basic
*
ERROR at line 1:
ORA-02097: parameter cannot be modified because specified value is invalid
ORA-00830: cannot set statistics_level to BASIC with auto-tune SGA enabled
==============================================================================================================================================
SGA_TARGET對自動配置元件和手動配置元件的影響:
若SGA_TARGET為0,意味著ASMM關閉,Autotuned parameters正常工作,即為這些組建分配相應的記憶體值。
若SGA_TARGET為非0值,預設情況下Autotuned parameters值都為0,如果手動為這些引數分配了值,則這些值將作為最小值。例如,SGA_TARGET設定為8GB,SHARED_POOL_SIZE設定為1GB,則ASMM演算法不會將shared pool縮減至小於1GB。下面的查詢可以檢視實際為這些組建分配的記憶體:
SYS@ tsid > select component,current_size/1024/1024 size_mb from v$sga_dynamic_components;
COMPONENT SIZE_MB
---------------------------------------------------------------- ----------
shared pool 156
large pool 4
java pool 4
streams pool 0
DEFAULT buffer cache 28
KEEP buffer cache 0
RECYCLE buffer cache 0
DEFAULT 2K buffer cache 0
DEFAULT 4K buffer cache 0
DEFAULT 8K buffer cache 0
DEFAULT 16K buffer cache 0
COMPONENT SIZE_MB
---------------------------------------------------------------- ----------
DEFAULT 32K buffer cache 0
ASM Buffer Cache 0
13 rows selected.
SGA_TARGET設定後,需要手動配置大小的SGA元件的空間值從SGA_TARGET中減去。例如,SGA_TARGET設定為8GB,DB_RECYCLE_CACHE_SIZE設定為1GB,則為自動配置的元件(Autotuned parameters)空間值為7GB。同時,這7GB還包括剩餘那些沒有指定具體值的手動配置的SGA元件,但僅當那些自動配置元件分配完後,將剩餘的空間分配給這些元件。
SGA_TARGET值是動態的,可以增長到SGA_MAX_SIZE,在確保所有元件都達到最小值的條件下,可以降低。
SGA_MAX_SIZE是可以給SGA分配的最大記憶體值。它不能被改變,除非重啟資料庫。
修改SGA_TARGET的值,隻影響自動配置的元件。
如果增加了SGA_TARGET的值,增加的額外記憶體通過自動調整策略分配給自動配置元件。
如果減少了SGA_TARGET的值,自動記憶體調整策略將從自動配置元件中減去相應的記憶體。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25744374/viewspace-723084/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- clickhouse使用的一點總結
- 總結的小知識點(一)
- HTML5知識點總結(一)HTML
- Vue一些知識點總結Vue
- 大學兩年的一點總結
- 前端大廠面試一點總結前端面試
- in、exists操作與null的一點總結Null
- 阿里一面考點分析總結阿里
- 總結兩點
- 頂點計劃V第一週總結
- 關於v-for的一點小總結
- 有一點思考的2021年終總結!
- 知識點總結
- Mustache要點總結
- HTML重點總結HTML
- jQuery常用的一些知識點總結jQuery
- Java 知識點總結Java
- django知識點總結Django
- 功能測試點總結
- iOS 知識點總結iOS
- MongoDB知識點總結MongoDB
- HDFS知識點總結
- HBase知識點總結
- jQuery 知識點總結jQuery
- Kafka知識點總結Kafka
- Tomcat 知識點總結Tomcat
- MySQL知識點總結MySql
- 筆記:React 中關於 key 的一點總結筆記React
- @RequestParam,@RequestBody,@ResponseBody,@PathVariable註解的一點小總結
- 我也來總結一下nginx知識點Nginx
- 學習mysql之後的一點總結(基礎)MySql
- 學習git以及github自己的一點小總結:Github
- 2018杭電暑假多校知識點總結(附大一結語)
- 前端知識點總結——Vue前端Vue
- 知識點漏缺總結
- 事務知識點總結
- HBase知識點集中總結
- 前端知識點總結——HTML前端HTML
- 前端知識點總結——DOM前端