background image

Oracle 11g_自动内存管理

 

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