当前位置:  数据库>oracle

Oracle 自动内存管理

    来源: 互联网  发布时间:2017-05-24

    本文导语: 自动内存管理类型 自动内存管理:Oracle 11g的新特性,允许数据库完全自动地管理内存的SGA和PGA组件 自动共享内存管理:应用此选择,可以自动管理SGA,但是不自动管理PGA。 自动PGA内存管理:此选项只能自动管理SGA。 手动共享...

自动内存管理类型

  • 自动内存管理:Oracle 11g的新特性,允许数据库完全自动地管理内存的SGA和PGA组件
  • 自动共享内存管理:应用此选择,可以自动管理SGA,但是不自动管理PGA。
  • 自动PGA内存管理:此选项只能自动管理SGA。
  • 手动共享内存管理:手动设置SGA的组件尺寸,如:shared_pool,data_buffer
  • 手动PGA管理:手动设置PGA组件尺寸

开启自动内存管理

为开启自动内存管理,必须设置memory_target参数,该参数设置实例的目标内存。也可以指定memory_max_target初始化参数设置一个实例的最大内存尺寸。

在用新的自动内存管理特性给数据库分配适当的尺寸之前,必须首先查找当前有多少内存分配给了SGA和PGA。但是并不意味简单的将sga_target和pga_target参数求和相加的内存需求。原因是:与sga_target参数不同,数据库不立即接管分配给pga_target参数的内存。数据库只根据pga_target参数设置将PGA分配给每个部分,因此,你的pga_target也许分配得很大,但是数据库在给定时间内却只是用了很小的一部分。

推荐阅读:

Oracle 内存自动管理

Oracle安装过程物理内存检查及临时temp空间不足解决办法

因此需要做如下操作,来确定自动内存管理的内存大小

1、查找当前SGA大小 

SQL> show parameter sga

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
sga_target big integer 600M 

2、查找给定时间内分配给PGA的大小

SQL> select value from v$pgastat where name='maximum PGA allocated';

VALUE
----------
248707072

3、2步得到的查询结果显示PGA分配的最大内存大约为236M,执行一下操作 得到一个错误的PGA估计

SQL> show parameter pga_

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
pga_aggregate_target big integer 400000000

4、通过将SGA_TARGET参数值和实例启动以来分配给PGA最大的内存值相加,选择memory_target参数值。(600+236)。如果需要,也可以设置memory_max_target,如果不给定该参数值,将使用memory_target的值。

设置:

alter system set memory_target=1200M scope=spfile;

alter system set memory_max_target=1000M scope=spfile;

alter system set sga_target=1200M scope=spfile;

alter system set pga_aggregate_target=1200M scope=spfile;

 

oracle内存管理方法的总结:

InstanceSGAPGADescriptionInitialization Parameters

Auto

n/a

n/a

The database tunes the size of the instance based on a single instance target size.

You set:

  • Total memory target size for the database instance (MEMORY_TARGET)

  • Optional maximum memory size for the database instance (MEMORY_MAX_TARGET)

n/a

Auto

Auto

The database automatically tunes the SGA based on an SGA target.

The database automatically tunes the PGA based on a PGA target.

You set:

  • SGA target size (SGA_TARGET)

  • Optional SGA maximum size (SGA_MAX_SIZE)

  • Instance PGA target size (PGA_AGGREGATE_TARGET)

n/a

Auto

Manual

The database automatically tunes the SGA based on an SGA target.

You control the PGA manually, setting the maximum work area size for each type of SQL operator.

You set:

  • SGA target size (SGA_TARGET)

  • Optional SGA maximum size (SGA_MAX_SIZE)

  • PGA work area parameters such as SORT_AREA_SIZE, HASH_AREA_SIZE, and BITMAP_MERGE_AREA_SIZE

n/a

Manual

Auto

You control the SGA manually by setting individual component sizes.

The database automatically tunes the PGA based on a PGA target.

You set:

  • Shared pool size (SHARED_POOL_SIZE)

  • Buffer cache size (DB_CACHE_SIZE)

  • Large pool size (LARGE_POOL_SIZE)

  • Java pool size (JAVA_POOL_SIZE)

  • Streams pool size (STREAMS_POOL_SIZE)

  • Instance PGA target size (PGA_AGGREGATE_TARGET)

n/a

Manual

Manual

You must manually configure SGA component sizes.

You control the PGA manually, setting the maximum work area size for each type of SQL operator.

You must manually configure SGA component sizes. You set:

  • Shared pool size (SHARED_POOL_SIZE)

  • Buffer cache size (DB_CACHE_SIZE)

  • Large pool size (LARGE_POOL_SIZE)

  • Java pool size (JAVA_POOL_SIZE)

  • Streams pool size (STREAMS_POOL_SIZE)

  • PGA work area parameters such as SORT_AREA_SIZE, HASH_AREA_SIZE, and BITMAP_MERGE_AREA_SIZE

 继续阅读:


    
 
 

您可能感兴趣的文章:

  • Oracle 监听内存泄露问题
  • fedora10安装oracle11g提示物理内存不足怎么办?
  • 通过进程id号知道一个Oracle会话所占用的内存
  • ■帮一个朋友维护网站,oracle运行半小时就自动锁死,用top发现是其狂吃内存,直到吃完为止。怎么办啊
  • unix/linux知识 iis7站长之家
  • 我准备装linux 7.3,大家能给点意见吗,我1GB的内存,那么交换区设多大? oracle9i能在7.3上通过吗?
  • Oracle安装过程中物理内存检查及临时temp空间不足问题解决
  • 读一个10M的txt文件到Oracle数据库中,用C实现,请问有什么好的方法吗?即不怎么占内存,又不怎么占Cpu!
  • 甲骨文宣布推出Oracle内存数据库11g
  • Oracle内存数据库11g和高速缓存11g上市
  • Oracle Siebel Option Pack for IE ActiveX控件内存初始化漏洞
  • Oracle专用服务器的内存结构分布原则
  • 求助:oracle9在redhat9上安装好后,oracle管理工具会在菜单工具栏上显示吗?
  • Oracle自动存储管理支持库 ASMLib
  • Oracle ASM自动管理存储管理简介
  • windows上要装什么软件才能管理到linux上的oracle?
  • 在HP Unix 下Oracle的控制和管理
  • 用Oracle管理服务器将数据导入与导出
  • Oracle管理工具 phpOraAdmin
  • Linux上管理本机Oracle的时候出现找不到ServiceName的错误
  • 有谁知道Oracle8的数据库管理工具是用什么开发工具编写的?
  • 甲骨文新推Oracle Linux管理软件包
  • oracle区管理和段空间管理详细介绍
  • Oracle 管理Undo数据
  • 关于Oracle数据库管理员认证方法简述
  • Oracle 权限管理入门
  • Oracle使用配置文件创建口令管理策略
  • Oracle中Datafiles的管理
  • Oracle 9i中自动撤销管理的优点分析
  • Oracle帐户管理
  • Oracle数据库安全性管理基本措施实例解析
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle 数据库开发工具 Oracle SQL Developer
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • Oracle EBS R12 支持 Oracle Database 11g
  • Oracle 10g和Oracle 11g网格技术介绍
  • SCO unix下安装oracle,但没有光盘,请大家推荐一个oracle下载站点(unix版本的)。谢谢!!!!
  • oracle中如何把表中具有相同值列的多行数据合并成一行
  • 请问大家用oracle数据库, 用import oracle.*;下的东西么? 还是用标准库?
  • Oracle 数据库(oracle Database)性能调优技术详解
  • Linux /$ORACLE_HOME $ORACLE_HOME
  • ORACLE日期相关操作
  • Linux系统下Oracle的启动与Oracle监听的启动
  • ORACLE数据库常用字段数据类型介绍
  • 请问在solaris下安装ORACLE,用root用户和用oracle用户安装有什么区别么?
  • Oracle 12c的九大最新技术特性介绍
  • 网间Oracle的连接,远程连接Oracle服务器??


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,