萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> oracle教程 >> Oracle 11g的Memory

Oracle 11g的Memory

Oracle11g的自動內存管理(Automatic Memory Management)的新特性是Oracle在內存管理上的又一重要增強。如果這個參數設置過高,在實例啟動時可能會出現如下錯誤提示:

SQL*Plus: Release 11.1.0.5.0 - Beta on Sun Jul 29 08:35:28 2007
Copyright (c) 1982, 2007, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup
ORA-00845: MEMORY_TARGET not supported on this system

這一提示不是指特性不支持,而是你需要去調整內存設置。

在設置了這個參數後,自動內存調整啟用:

SQL> show parameter memory
NAME            TYPE   VALUE
--------------------------------  ----------
hi_shared_memory_address integer     0
memory_max_target      big integer  416M
memory_target          big integer  416M
shared_memory_address   integer     0

類似SGA_MAX_SIZE與SGA_TARGET一樣,MEMORY_MAX_TARGET與MEMORY_TARGET成對出現,這一特性的出現使得PGA+SGA作為整體內存使用被一致的納入自動管理范疇。

而同樣與Oracle10g類似,設置了自動內存管理之後,PGA_AGGREGATE_TARGET參數不再需要設置,代之發揮作用的參數是帶有2個下劃線的__PGA_AGGREGATE_TARGET參數,我們可以來看一下這幾個參數的解釋:

SQL> select ksppinm,ksppdesc from x$ksppi
 2 where ksppinm like '%pga%';
KSPPINM
KSPPDESC
_pga_large_extent_size 
PGA large extent size
_use_ism_for_pga     
Use ISM for allocating large extents
_kdli_sio_pga        
use PGA allocations for direct IO
_kdli_sio_pga_top     
PGA allocations come from toplevel PGA heap
pga_aggregate_target  
Target size for the aggregate PGA memory consumed by the instance
__pga_aggregate_target 
Current target size for the aggregate PGA memory consumed
_pga_max_size       
Maximum size of the PGA memory for one process

總結:

Oracle11g的自動內存管理特性是早已被預期的Oracle的又一增強,是Oracle朝著自動內存管理方向所邁出的又一堅定步伐,是Oracle既定路線的又一延伸。

copyright © 萬盛學電腦網 all rights reserved