首页 > Linux操作系统 > Linux操作系统 > memory_max_target,memory_target,pga_aggregate_target,sga_target


原创 Linux操作系统 作者:tolywang 时间:2011-07-12 13:36:22 0 删除 编辑

hunetapp<*hunetapp*/home/oracle>$sqlplus '/as sysdba'

SQL*Plus: Release 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 - 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



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。

  使用动态内存管理时,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博客 ” ,链接:,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
Oracle , MySQL, SAP IQ, SAP HANA, PostgreSQL, Tableau 技术讨论,希望在这里一起分享知识,讨论技术,畅谈人生 。


  • 博文量
  • 访问量