oracle内存结构由什么组成?

oracle内存结构由什么组成?,第1张

oracle内存结构的组成部分

oracle的内存结构由两部分组成:sga(system global area),pga(program global area).

SGA:在一个实例启动时分配,是实例的组成部分。

PGA:一个服务进程启动就分配了一个PGA.(多个)。

1.系统全局区(SGA):由一组内存结构组成,是所有用户进程共享的的一块内存区域.其中可以包含一个数据库实例的数据和控制信息。在一个数据库实例中,可以有多个用户进程,这些用户进程可以共享系统全局区中的数据,因次系统全局区,可以称为  共享全局区。总内存大小由参数sga_max_size来决定。

2.程序全局区(Program Global Area.PGA)包含单个用户或服务器数据和控制信息,是Oracle系统分配给一个进程的私有内存区域。其在用户进程连接到Oracle数据库并创建一个会话时,由Oracle自动分配,由参数pga_aggregate_target决定,通过 SHOW PARAMETER语句可以查询该参数信息.

3. 排序区:是由Oracle系统为排序 *** 作所产生的临时数据提供的内从空间。实际上存放Oracle 为排序 *** 作所产生的临时数据的区域有2个(内存排序区和磁盘临时段);当运行排序 *** 作时,Oracle系统会优先使用内存排序区,如果内存空间不够,才使用磁盘临时段,由参数sort_area_size 决定通过 SHOW PARAMETER语句可以查询该参数信息.

依据你计算机的内存大小、是否是32位系统、以及你使用oracle环境。

你要注意的是,为oracle分配内存不可以超过1.5G,若服务器物理内存小于2G时,分配比例为60%;大于2G,根据实际情况调整。例如物理内存4G,为oracle分配30%即可(以上是对32位机器的内存说明,64位计算机oracle分配内存没有1.5G限制,可根据实际内存情况分配)。

假如你是自己配制内存,那你按照你的需求合理分配shared pool、 buffor cache、 java pool等大小。

请教Oracle 11G 自动内存管理如何分配内存

在11g中oracle引入了自动化内存管理(Automatic Memory Management)概念,仅用两个参数就能完成oracle的内存管理工作。

1 :MEMORY_TARGET:oracle所能使用的最大内存,该参数可以动态调整。

2 :MEMORY_MAX_TARGET:MEMORY_TARGET参数所能动态设定的最大值,不能动态调整,需要重启数据库。

至于具体如何分配

正常看数据库服务器一共有多少内存,是否还有其他系统或程序在跑。

可以分配全部内存的2/3 到 3/4 给oracle ;oracle自己分配 pga 和 sga 及其内部的内存结构。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10008552.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存