Oracle 11g的Memory_target与自动内存管理

Oracle11g的自动内存管理(Automatic Memory Management)的新特性是Oracle在内存管理上的又一重要增强。如果这个参数设置过高,在实例启动时可能会出现如下错误提示:

SQL*Plus: Release 11.1.0.5.0 - Beta on Sun Jul 29 08:35:28 2007
Copyright (c) 1982, 2007, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup
ORA-00845: MEMORY_TARGET not supported on this system

这一提示不是指特性不支持,而是你需要去调整内存设置。

在设置了这个参数后,自动内存调整启用:

SQL> show parameter memory
NAME            TYPE   VALUE
--------------------------------  ----------
hi_shared_memory_address integer     0
memory_max_target      big integer  416M
memory_target          big integer  416M
shared_memory_address   integer     0

类似SGA_MAX_SIZE与SGA_TARGET一样,MEMORY_MAX_TARGET与MEMORY_TARGET成对出现,这一特性的出现使得PGA+SGA作为整体内存使用被一致的纳入自动管理范畴。

而同样与Oracle10g类似,设置了自动内存管理之后,PGA_AGGREGATE_TARGET参数不再需要设置,代之发挥作用的参数是带有2个下划线的__PGA_AGGREGATE_TARGET参数,我们可以来看一下这几个参数的解释:

SQL> select ksppinm,ksppdesc from x$ksppi
 2 where ksppinm like '%pga%';
KSPPINM
KSPPDESC
_pga_large_extent_size 
PGA large extent size
_use_ism_for_pga     
Use ISM for allocating large extents
_kdli_sio_pga        
use PGA allocations for direct IO
_kdli_sio_pga_top     
PGA allocations come from toplevel PGA heap
pga_aggregate_target  
Target size for the aggregate PGA memory consumed by the instance
__pga_aggregate_target 
Current target size for the aggregate PGA memory consumed
_pga_max_size       
Maximum size of the PGA memory for one process

总结:

Oracle11g的自动内存管理特性是早已被预期的Oracle的又一增强,是Oracle朝着自动内存管理方向所迈出的又一坚定步伐,是Oracle既定路线的又一延伸。

时间: 2024-07-31 05:52:08

Oracle 11g的Memory_target与自动内存管理的相关文章

Oracle 11g的自动内存管理

Oracle11g的自动内存管理(Automatic Memory Management)的新特性是Oracle在内存管理上的又一重要增强.如果这个参数设置过高,在实例启动时可能会出现如下错误提示: SQL*Plus: Release 11.1.0.5.0 - Beta on Sun Jul 29 08:35:28 2007 Copyright (c) 1982, 2007, Oracle. All rights reserved. Connected to an idle instance.

设置oralce自动内存管理

  设置oralce自动内存管理 启用oracle自动内存管理需要shutdown ,restart 1.确定sga pga内存大小: SHOW PARAMETER TARGET 2.确定自数据库启动以来pga最大的使用大小: select value from v$pgastat where name='maximum PGA allocated'; 3.计算memory_target大小: memory_target = sga_target + max(pga_aggregate_targ

设置oralce自动内存管理执行步骤_oracle

设置oralce自动内存管理 启用oracle自动内存管理需要shutdown ,restart 1.确定sga pga内存大小: 复制代码 代码如下: SHOW PARAMETER TARGET 2.确定自数据库启动以来pga最大的使用大小: 复制代码 代码如下: select value from v$pgastat where name='maximum PGA allocated'; 3.计算memory_target大小: 复制代码 代码如下: memory_target = sga_

C# 语言规范--1.4 自动内存管理

规范 手动内存管理要求开发人员管理内存块的分配和回收.手动内存管理可能既耗时又麻烦.在 C# 中提供了自动内存管理,使开发人员从这个繁重的任务中解脱出来.在绝大多数情况下,自动内存管理可以提高代码质量和开发人员的工作效率,并且不会对表达能力或性能造成负面影响. 示例 using System; public class Stack {    private Node first = null;    public bool Empty {       get {          return

[CLR via C#]21. 自动内存管理(垃圾回收机制)

原文:[CLR via C#]21. 自动内存管理(垃圾回收机制) 目录 理解垃圾回收平台的基本工作原理 垃圾回收算法 垃圾回收与调试 使用终结操作来释放本地资源 对托管资源使用终结操作 是什么导致Finalize方法被调用 终结操作揭秘 Dispose模式:强制对象清理资源 使用实现了Dispose模式的类型 C#的using语句 手动监视和控制对象的生存期 对象复活 代 线程劫持 大对象 一.理解垃圾回收平台的基本工作原理 值类型(含所有枚举类型).集合类型.String.Attribute

Java虚拟机自动内存管理

生活规律告诉我们,在享受便利的同时一般都会付出巨大的代价,如果你在享受了便利的同时,还没有为此付出代价,不是说明没有,只是还没到付出的时候.试问,有哪个Java系统架构师不懂Java虚拟机?纵观Java程序员的发展历程,又有多少人是卡在了Java虚拟机之上.所以如果你还没有感觉到为此付出代价,说明你已经Java虚拟机的糖衣炮弹所击中,且被毒害之深.Java的自动内存管理就是这样,像毒药一样,一旦上瘾就很难戒掉,而且会沉迷于此.而正确的做法就是了解其原理,拿到尚方宝剑,当虚拟机不好好为你提供服务时

Java自动内存管理详解

最近找了两本Java虚拟机方面的书,看了看其中对于Java自动内存管理的章节,写的都大同小异,在此总结一下,主要是三个方面:内存划分.内存分配.内存回收. 内存划分(运行时数据区) JVM运行时数据区 从线程的角度来分,可分为线程私有和线程共享的,上图中左边的灰色区域就是线程共享的区域,包括堆.方法区.运行时常量池.而右边的区域则是线程私有的,包括程序计数器.虚拟机栈. 堆 堆是虚拟机管理的内存中最大的一块,是被线程共享的一块区域,主要用于存放对象实例,但并不是所有对象都是在堆上分配的.同时堆也

数据帐号锁定-安装oracle 11g的时候 没有在口令管理里解锁sys system hr 和 scoot帐户怎么办?

问题描述 安装oracle 11g的时候 没有在口令管理里解锁sys system hr 和 scoot帐户怎么办? 安装oracle 11g的时候 没有在口令管理里解锁sys system hr 和 scoot帐户怎么办?影响使用吗?怎么解锁? 解决方案 可以修改口令和解锁的,可以参考我的这篇博客:http://blog.csdn.net/u012561176/article/details/42198153 解决方案二: 用sys登录再去解锁,试试看

你知道.NET框架下的自动内存管理吗?

C#使用的自动内存管理,使用开发者从繁重的手工分配.释放内存的操作解放出来.内存的自动管理是由垃圾回收器来执行.一个对象使用内存的生命周期是这样的: 当对象被创建时,它便分配了一定的内存,当构造器中的代码开始运行时,这个对象就"活"了. 当这个对象或者是它的任何一部分在可以预计的将来已经没有任何作用时,这个对象将不会再使用,它就应当被销毁. 一旦这个对象符合了对销毁的条件,在一定的时间后,这个对象的销毁器就将被执行,一般情况下,除非被显示地重写,这个销毁器只能运行一次. 一旦销毁器被运