SQL> show parameter pga

NAME         TYPE  VALUE

------------------------------------ ----------- ------------------------------

pga_aggregate_target       big integer 200M

是一个上限目标,而不是启动数据库时预分配的内存大小。可以把

pga_aggregate_target 设置为一个超大的值(远远大于服务器上实际可用的物理内存量)

串行(非并行查询)会话会使用PGA_AGGREGATE_TARGET 中的很少一部分,大约5%或者更少。

并行查询最多可以使用PGA_AGGREGATE_TARGET 的30%

如果测量会话当前使用的PGA,可以看到下面的结果:

SQL> set linesize 200

SQL> select a.name,

       to_char(b.value,'999,999,999') bytes,

       to_char(round(b.value / 1024 / 1024, 1), '99,999.9') mbytes

  from v$statname a, v$mystat b

 where a.statistic# = b.STATISTIC#

   and a.name like '%ga memory%';  2    3    4    5    6

NAME         BYTES       MBYTES

---------------------------------------------------------------- ------------ ---------

session uga memory          1,302,484     1.2

session uga memory max          1,491,448     1.4

session pga memory          1,933,928     1.8

session pga memory max          2,130,536     2.0

创建package:

SQL> create or replace package demo_pkg

  2  as

  3  type array is table of char(2000) index by binary_integer;

  4  g_data array;

  5  end;

  6  /

Package created.

SQL> begin

  2  for i in 1 .. 200000

  3  loop

  4  demo_pkg.g_data(i) := 'x';

  5  end loop;

  6  end;

  7  /

PL/SQL procedure successfully completed.

SQL> select a.name,

       to_char(b.value,'999,999,999') bytes,

       to_char(round(b.value / 1024 / 1024, 1), '99,999.9') mbytes

  from v$statname a, v$mystat b

 where a.statistic# = b.STATISTIC#

   and a.name like '%ga memory%';  2    3    4    5    6

NAME         BYTES       MBYTES

---------------------------------------------------------------- ------------ ---------

session uga memory        469,516,748   447.8

session uga memory max        469,516,748   447.8

session pga memory        470,368,228   448.6

session pga memory max        470,368,228   448.6

现在,数据库本身无法控制PGA中分配的这些内存,已经超过了pga_aggregate_target,

但数据库对此无机可施。

PGA突破pga_aggregate_target限制的更多相关文章

  1. ORACLE内存结构:PGA And UGA,ORACLE用户进程、服务器进程

    执行一个SQL语句 执行查询语句的过程: 用户进程执行一个查询语句如select * from emp where empno=7839 用户进程和服务器进程建立连接,把改用户进程的信息存储到PGA的 ...

  2. 对oracle实例的内存(SGA和PGA)进行调整,优化数据库性

    一.名词解释 (1)SGA:SystemGlobal Area是OracleInstance的基本组成部分,在实例启动时分配;系统全局域SGA主要由三部分构成:共享池.数据缓冲区.日志缓冲区. (2) ...

  3. oracle实例的内存(SGA和PGA)调整,优化数据库性能

    一.名词解释 (1)SGA:SystemGlobal Area是OracleInstance的基本组成部分,在实例启动时分配;系统全局域SGA主要由三部分构成:共享池.数据缓冲区.日志缓冲区. (2) ...

  4. enmo_day_08

    性能监视 管理内存组件 自动内存管理(AMM) : 指定分配给实例的总内存(SGA, PGA) 自动共享内存管理(ASMM) : 指定SGA, 管理分配给共享池, java池, 动态性能视图 :v$( ...

  5. Oracle体系结构之Oracle10gR2体系结构-内存、进程

    oracle体系结构图1 oracle体系结构图2 用户进程(访问oracle的客户端的总称) 工具的使用:sqlplus.pl/sql developer 如何访问数据库: 本机直接通过sock方式 ...

  6. oracle系统调优

    在Oracle数据库系统中,起到调节作用的参数叫初始化参数,在Oracle 8i及以前的版本中,这些初始化参数记录在INITsid.ora文件中:而Oracle 9i/10g/11g中将这些参数记录在 ...

  7. Oracle PGA作用&work_mode

    专有模式下ORACLE会给每个连接分配一个服务进程(Server Process),这个服务进程将为这个连接服务.为这个服务进程分配的内存叫做PGA.PGA不需要Latch也不需要Lock,永远不会发 ...

  8. Oracle之内存结构(SGA、PGA)

    一.内存结构 SGA(System Global Area):由所有服务进程和后台进程共享: PGA(Program Global Area):由每个服务进程.后台进程专有:每个进程都有一个PGA. ...

  9. PGA

    Server Process PGA   1.PGA作用   2.PGA構成      1)private sql area      2)session memory          3)sql ...

随机推荐

  1. CHAR 详解

    CHAR(20):20指的是表中的a字段能存储的最大字符个数 CREATE TABLE `a` ( `a` char(20) DEFAULT NULL) ENGINE=InnoDB DEFAULT C ...

  2. URAL 1062 - Triathlon(半平面交)

    这个题乍眼一看好像很简单,然后我就认为u.v.w只要有全部比另外一个人小的就不能win,否则就能win,但是这个思路只对了一半 不能win的结论是正确的,但是win的结论不止排除这一个条件 将这个人与 ...

  3. Java SE 6 新特性: 编译器 API

    新 API 功能简介 JDK 6 提供了在运行时调用编译器的 API,后面我们将假设把此 API 应用在 JSP 技术中.在传统的 JSP 技术中,服务器处理 JSP 通常需要进行下面 6 个步骤: ...

  4. Image路径问题

    BitmapImage image = new BitmapImage(new Uri("/Pictures/log.png", UriKind.Relative)); evaIm ...

  5. hibernate通过判断参数动态组合Hql语句,生成基本通用查询

    // public List find(Station entity) { List reuslt = null; // 字符串辅助类 StringBuffer hql = new StringBuf ...

  6. mysql 远程访问 配置

    sudo vi /etc/mysql/my.cnf 找到bind-address = 127.0.0.1 注释掉这行:#bind-address = 127.0.0.1 或者改为: bind-addr ...

  7. java通过移位转16进制

    public class Main { public static void main(String []args) { Main main = new Main(); System.out.prin ...

  8. How to handle the DbEntityValidationException in C#

    When I want to use db.SaveChanges(), if some of the columns got validation error and throw DbEntityV ...

  9. Java设计模式(学习整理)---工厂模式

    1.工厂模式 1.1 为什么使用工厂模式? 因为工厂模式就相当于创建实例对象的new,我们经常要根据类Class生成实例对象,如A a=new A() 工厂模式也是用来创建实例对象的,所以以后new时 ...

  10. spring jdbctemplate调用procedure(返回游标)

    package cn.com.git.htsc.uac.core.repository.report; import cn.com.git.htsc.uac.core.api.dto.report.R ...