memory_max_target,memory_target,pga_aggregate_target,sga_target
hunetapp$sqlplus '/as sysdba'
SQL*Plus: Release 11.2.0.2.0 Production on Tue Jul 12 09:34:09 2011
Copyright (c) 1982, 2010, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> show parameter target
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
archive_lag_target integer 0
db_flashback_retention_target integer 1440
fast_start_io_target integer 0
fast_start_mttr_target integer 0
memory_max_target big integer 5G
memory_target big integer 5G
parallel_servers_target integer 256
pga_aggregate_target big integer 0
sga_target big integer 0
SQL>
1. 設定11g 的 memory_max_target 時請注意你的 /etc/fstab中的 tmpfs /dev/shm 要比memory_max_target 大, 否者會報錯 ORA-00845: MEMORY_TARGET not supported on this system 。
2. 如果設定了LOCK_SGA, 那麼是不能設定自動記憶體管理 (AMM) 的,即不能使用 memory_target 和memory_max_target 引數。
3. 在Linux上,AMM引數 memory_target 和 memory_max_target 不能和 Huge Pages同時使用。
4. 自動記憶體管理 (AMM) 是用兩個初始化引數進行配置的:
MEMORY_TARGET: 動態控制SGA和PGA時,Oracle總共可以使用的共享記憶體大小,這個引數是動態的,因此提供給Oracle的記憶體總量是可以動態增大,也可以動態減小的。它不能超過MEMORY_MAX_TARGET引數設定的大小。預設值是0。
MEMORY_MAX_TARGET:這個引數定義了MEMORY_TARGET最大可以達到而不用重啟例項的值,如果沒有設定MEMORY_MAX_TARGET值,預設等於MEMORY_TARGET的值。
使用動態記憶體管理時,SGA_TARGET 和 PGA_AGGREGATE_TARGET 代表它們各自記憶體區域的最小設定,要讓Oracle完全控制記憶體管理, 這兩個引數應該設定為0。
5. 如果設定了 MEMORY_MAX_TARGET = 4G , MEMORY_TARGET設定為2G, 那麼在開啟資料庫開始期間, Oracle記憶體分配 (預分配) 應該只是 2G, 如果2G不夠用, 會一直自動擴充套件 MEMORY_TARGET 的大小 , 最大隻能到 MEMORY_MAX_TARGET 。 如果開始就將 MEMORY_TARGET 設定為4G, 即直接等於MEMORY_MAX_TARGET , 那麼開啟資料庫Oracle佔用記憶體 (預分配) 就是4G .
參考資料:
There are some other issues to be aware of when using AMM. First the memory_target and memory_max_target parameters cannot be used when LOCK_SGA has been set. Also memory_target and memory_max_target cannot be used in conjunction with huge pages on Linux. Additionally, some platforms can give you trouble about setting memory_target. For example, on Linux you need to make sure that /dev/shm (or it's equivalent) is allocated with an amount of space slightly larger than what you wish to set the memory_target value too. Failure to do this will result in the following error:
ORA-00845: MEMORY_TARGET not supported on this system.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-701963/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ORA-00837: Specified value of MEMORY_TARGET greater than MEMORY_MAX_TARGET
- ORA-00843,ORA-00849 When Trying To Change SGA_TARGET With MEMORY_MAX_TARGET=0
- MEMORY_TARGET not supported on this system
- statistics_level與SGA_TARGET衝突
- Incorrect MEMORY_MAX_TARGET (> Available RAM) Can Lead To Database HangsAIDatabase
- Oracle Rac 修改SGA_TARGET值無變化Oracle
- 解決辦法:ORA-00845: MEMORY_TARGET not supported on thi
- Oracle資料庫work area size & pga_aggregate_target引數Oracle資料庫
- [20190507]sga_target=0注意修改_kghdsidx_count設定.txt
- 【TUNE_ORACLE】PGA_AGGREGATE_LIMIT詳解(一)PGA_AGGREGATE_TARGET的限制OracleMIT
- [20190104]sga_target 的設定和ORA-04031錯誤.txt
- 19c ADG環境中主庫PDB調整SGA_TARGET自動同步到備庫