`
zpball
  • 浏览: 917078 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

oracle 11g 自动内存管理

阅读更多
Oracle对内存的管理的 优化从未间断,从8i到11g不断地提出新的管理概念。每个本版都对内存管理进行了简化:

8i->9i:PGA的自动管理;
9i->10g:SGA的自动管理;
10g->11g:MEMORY(SGA+PGA)的自动管理。
在11g中oracle引入了自动化内存管理(Automatic Memory Management)概念,仅用两个参数就能完成oracle的内存管理工作。DBA的工作看来又要轻松不少了,看看两个参数:

MEMORY_TARGET:oracle所能使用的最大内存,该参数可以动态调整。MEMORY_MAX_TARGET:MEMORY_TARGET参数所能动态设定的最大值,不能动态调整,需要重启数据库。
注:oracle的内存管理方式可以根据本版向下兼容的,11g可以实现10g,9i,8i时的管理方式。

oracle环境:

下面通过一个小测试来看看oracle的内存分配(没有对PGA测试)。



SQL> select component,current_size,min_size,max_size from v$memory_dynamic_components;

COMPONENT                      CURRENT_SIZE   MIN_SIZE   MAX_SIZE             
------------------------------ ------------ ---------- ----------             
shared pool                       130023424  109051904  130023424             
large pool                          4194304    4194304    4194304             
java pool                           4194304    4194304    4194304             
streams pool                              0          0          0             
SGA Target                        322961408  322961408  322961408             
DEFAULT buffer cache              176160768  176160768  197132288             
KEEP buffer cache                         0          0          0             
RECYCLE buffer cache                      0          0          0             
DEFAULT 2K buffer cache                   0          0          0             
DEFAULT 4K buffer cache                   0          0          0             
DEFAULT 8K buffer cache                   0          0          0             

COMPONENT                      CURRENT_SIZE   MIN_SIZE   MAX_SIZE             
------------------------------ ------------ ---------- ----------             
DEFAULT 16K buffer cache                  0          0          0             
DEFAULT 32K buffer cache                  0          0          0             
Shared IO Pool                            0          0          0             
PGA Target                        218103808  213909504  218103808             
ASM Buffer Cache                          0          0          0             

已选择16行。

SQL> show parameter memory_target

NAME                                 TYPE        VALUE                        
------------------------------------ ----------- ------------------------------
memory_target                        big integer 516M                         

SQL> run
  1* select (322961408+218103808)/1024/1024||'M' "SGA+PGA" from dual

SGA+                                                                          
----                                                                          
516M                                                                          


在此可以看出memory_target参数管理的内存是PGA与SGA之和。

单独计算SGA,通过shared pool,streams pool,java pool,large pool,buffer cache,
ASM Buffer Cache参数求和,计算得出当前SGA使用的大小(314572800)。



SQL> select (130023424+4194304+4194304+176160768) SGA from dual
  2  ;

       SGA                                                                    
----------                                                                    
314572800                                                                     
通过SGA的目标值减去当前SGA的动态消耗。



在SGA中的包括LOG BUFFER,fixed_sga部分,在最开始的v$memory_dynamic_components视图中
并没有包括这两部分,也说明这两个部分是固定的值,不会动态的改变。
出去SGA动态消耗后,再减去固定消耗,得到当前SGA还剩余多少。

SQL> select 322961408-314572800 "sga target-sga" from dual;sga target-sga--------------       8388608
SQL> select * from v$sgastat where pool is null;POOL         NAME                            BYTES                             ------------ -------------------------- ----------                                          fixed_sga                     1375792                                          buffer_cache                167772160                                          log_buffer                    5804032                             SQL> select 1375792+5804032 "fixed_sga+log_buffer" from dual;fixed_sga+log_buffer                                                           --------------------                                                                        7179824                                                






在动态分配视图的查询结果中包含Shared IO pool部分,以下是对该参数的说明:
Shared IO Pool Memory
Wait until a shared I/O pool buffer becomes available. This happens when processes are
using these buffers for I/O and the current process needs to wait for the release
of any one of the buffers to the shared I/O pool.

Wait Time: 10msec

Parameters: None                                                               

说明:shared IO pool参数设置是为了尽量减小进程IO的等待而专门配置的参数。
从分析角度看应该是属于PGA部分。

转自:http://www.cnblogs.com/daduxiong/archive/2010/08/12/1798285.html


SQL> select 8388608-7179824 from dual;8388608-7179824                                                                ---------------                                                                        1208784http://www.fengfly.com/QQ/skill/
http://www.fengfly.com/QQ/QQhead/qqgif/ http://www.fengfly.com/QQ/skill/ http://www.fengfly.com/html/softeng/softtest/unittest/


原文来自:雨枫技术教程网 http://www.fengfly.com
原文网址:http://www.fengfly.com/plus/view-186638-1.html

分享到:
评论

相关推荐

    ORACLE自动内存管理和存储调整

    ORACLE 自动内存管理和存储调整 ORACLE 自动内存管理和存储调整是 ORACLE 数据库中的一种重要配置,它可以根据系统的实际情况自动调整内存和存储的使用,以提高数据库的性能和效率。本文将详细介绍 ORACLE 自动内存...

    oracle10G和oracle11G的OCI.dll

    3. 新特性:Oracle 11G引入了许多新特性,比如Automatic Memory Management(自动内存管理),简化了数据库管理员对内存设置的工作;另外,Real Application Clusters (RAC) 在11G中也得到了加强,提供了更高的可用...

    oracle 11g 下载地址

    Oracle 11g是一款功能强大的数据库管理系统,它为企业级应用提供了稳定、高效的数据存储和管理服务。 ### Oracle 11g简介 Oracle 11g是Oracle公司推出的一款企业级数据库系统,版本号为11g(Generation 11)。该...

    oracle 11g中文教材

    - **HR 示例方案**:课程中使用的示例数据库,用于演示如何进行数据库管理和操作,帮助学员更好地理解和掌握Oracle 11g的实际应用。 #### 二、Oracle Database 11g 核心概念与工具 - **核心组件**:包括实例、...

    龙蜥anolis系统oracle11g安装包

    通过上述自动化的安装脚本和数据库dmp文件的还原功能,这个安装包为在龙蜥Anolis系统上部署和恢复Oracle 11g数据库提供了极大的便利,减少了手动操作的复杂性和出错概率,使得数据库的管理和维护更加高效。...

    oracle11g 客户端 windows 64位

    11g引入了许多新特性,包括自动内存管理、高级压缩、实时应用集群、增强的安全性和性能优化等。 2. **64位支持**:64位版本的Oracle客户端能够充分利用64位系统的内存资源,处理大数据量时效率更高,支持更大的数据...

    Oracle11g_64位_Linux版本下载.txt

    Oracle Database 11g(简称Oracle11g)是甲骨文公司(Oracle Corporation)推出的一款关系型数据库管理系统。Oracle11g继承了Oracle10g的优秀特性,并在此基础上进行了大量的优化与改进,提供了更强大的数据处理能力...

    Oracle 11g 官方中文文档.zip

    Oracle 11g是Oracle公司推出的数据库管理系统的一个重要版本,其官方中文文档为开发者和管理员提供了详尽的技术指导。这份文档集合包含了多个关键的主题,帮助用户深入理解和掌握Oracle 11g的各项功能。 首先,...

    Oracle 11g Express 官方linux 64位版本

    Oracle 11g Express Edition(XE)是Oracle公司推出的一款轻量级数据库管理系统,专为开发者和小型团队设计。它是Oracle数据库家族中的免费版本,适用于学习、开发和部署低流量的Web应用程序。在这个官方的Linux 64...

    Oracle数据库11g各版本介绍及功能比较

    Oracle 数据库 11g 企业版提供了多种可管理性功能,包括企业管理器、自动内存管理、自动存储管理和自动撤消管理等。 数据仓库 Oracle 数据库 11g 企业版提供了数据仓库功能,包括 OLAP、可选分区、可选数据挖掘和...

    Oracle 11g 官方中文帮助文档 PDF高清完整版

    Oracle 11g是Oracle公司推出的数据库管理系统的一个重要版本,其官方中文帮助文档为开发者、DBA(数据库管理员)和IT专业人士提供了详尽的技术指导。这份PDF高清完整版的文档涵盖了Oracle 11g的各个核心组件和技术,...

    oracle11g官方中文帮助文档 高清完整版

    Oracle 11g是甲骨文公司发布的一款企业级数据库管理系统,它提供了广泛的功能和优化,以满足大型企业和组织的数据管理需求。这份“Oracle 11g官方中文帮助文档”是一个高清完整版的资源,旨在为中文用户提供详尽的...

    Oracle11g教程_初识Oracle11g

    Oracle 11g是Oracle公司推出的一个重要数据库管理系统版本,具有丰富的特性和强大的功能。本教程旨在引导初学者深入理解Oracle 11g的基础知识,包括其发展历程、新特性、体系结构、安装流程以及PL/SQL语言基础。 ...

    Oracle11g Memory&Storage Overview

    本文将详细介绍Oracle11g的内存和存储概览,包括内存的总体架构、存储结构以及管理方式,从而为数据库管理员提供相应的管理建议和技术支持。 内存概述: Oracle11g的系统全局区(SGA)是数据库实例的一个重要组件,...

    精通Oracle 11g数据库管理

    7. 内存管理:Oracle 11g改进了内存结构,如共享池(Shared Pool)、数据库缓冲区高速缓存(Buffer Cache)和Java池(Java Pool),提升了系统响应速度。 8. 空间管理:通过扩展的分区技术和压缩功能,Oracle 11g...

    Oracle11g体系结构图

    Oracle11g是Oracle公司推出的一款高性能、高可用性和高安全性的关系型数据库管理系统。其体系结构复杂且功能强大,主要包括以下几个关键组件: 1. **实例(Instance)与数据库(Database)**:实例是指运行在内存中...

    Oracle11g R2 64位

    Oracle11g R2 64位不仅提供了强大的数据处理能力,还具备了一系列高级功能,如自动内存管理、数据加密、高可用性支持等,使得它成为众多企业构建稳定、高效数据库系统的首选。随着技术的发展,虽然Oracle后续版本...

    Oracle11g 自动维护任务配置与调优

    Oracle 11g引入了一个新的特性——自动维护任务(Automatic Maintenance Tasks),其目的是为了简化数据库管理员(DBA)的工作,并确保数据库能够高效运行。这些任务通常在预定的时间内执行,比如在业务低峰时段进行...

Global site tag (gtag.js) - Google Analytics