ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Oracle 11g memory setting

Oracle 11g memory setting

原创 Linux操作系统 作者:licheng79 时间:2011-10-12 10:09:19 0 删除 编辑

DBA Notes: 2011/10/11

Cheng Li

 

Oracle 11g memory setting

 

From ehealthy or OEM tools, one issue is raised. Oracle consumes almost 100% of OS memory. The system  is an Oracle 11g R1 on Linux.

 

What I discovered from AWR is indication of huge amount of IO, buffer cash consumption, cache buffer chains, etc. Buffer cache is inside SGA. As for the proof of OS memory usage percentage to close 100%, we can check with Oracle memory setting. Currently, what I find from AWR is as following ( I do not see any other setting such as MEMORY_MAX_TARGET ) :

 

memory_target                 5368709120

 

n  This is about 50G, but OS system is 16G

 

Conclusion: when the massive data manipulation, large amount IO, buffer cache, Oracle will consume all possible OS memory memory_max_target  parameter is not properly set. In Oracle 11g, Oracle introduces the new memory_target and memory_max_target parameters.

 

In our case, we applied:

# memory max is set to be 5G

memory_max_target      536870912

 

 The AWR reports are saved in /home/oracle/ctmdba/dbalog

[oracle@ctmcmsdb dbalog]$ sqlplus

 

SQL*Plus: Release 11.1.0.6.0 - Production on Tue Oct 11 09:18:35 2011

 

Copyright (c) 1982, 2007, Oracle.  All rights reserved.

 

Enter user-name: / as sysdba

 

Connected to:
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

 

SQL> @awr.sql

 

 

Reference:

 

http://www.dba-oracle.com/oracle11g/oracle_11g_memory_target_parameter.htm

 

Prior to Oracle 11g, the DBA set the sga_target and sga_max_size parameters, allowing Oracle to reallocate RAM within the SGA.  The PGA was independent, as governed by the pga_aggregate_target parameter.

 

Now in Oracle 11g we see the memory_max_target parameter which governs the total maximum RAM for both the PGA and SGA regions and the new memory_target parameter which governs the existing sizes.  This allows RAM to be de-allocated from the SGA and transferred to the PGA.

This is an important Oracle11g new feature because it lays the foundation for inter-instance RAM memory sharing.

 

We are seeing the second age of mainframe. computing, and server consolidation where it's not uncommon to find a dozen instances on a single large server.

 

As of Oracle 10g, Automatic Memory Management (AMM) only allows shifting of RAM within the confines of sga_max_size.  Now in Oracle 11g, we see this new Automatic Shared Memory Management (ASMM).  The memory_target parameter is dynamic (changeable with "alter system" commands), whereby RAM can be de-allocated from an instances SGA/PGA and re-allocated to another instance.

 

The Oracle 11g documentation notes this on memory_target and memory_max_target:

MEMORY_TARGET specifies the Oracle system-wide usable memory.

 

The database tunes memory to the MEMORY_TARGET value, reducing or enlarging the SGA and PGA as needed. In a text initialization parameter file, if you omit the line for MEMORY_MAX_TARGET and include a value for MEMORY_TARGET, the database automatically sets MEMORY_MAX_TARGET to the value of MEMORY_TARGET.

 

If you omit the line for MEMORY_TARGET and include a value for MEMORY_MAX_TARGET, the MEMORY_TARGET parameter defaults to zero.

 

After startup, you can then dynamically change MEMORY_TARGET to a non-zero value, provided that it does not exceed the value of MEMORY_MAX_TARGET.

 

黑洞吞噬恒星的过程图.jpg

杰克逊的孩子们.jpg

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26136400/viewspace-709007/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2011-09-07

  • 博文量
    54
  • 访问量
    84439