ITPub博客

首页 > 数据库 > Oracle > oracle内存结构与管理

oracle内存结构与管理

原创 Oracle 作者:junnyblog 时间:2009-10-08 12:29:21 0 删除 编辑

计划二周时间(基础篇) :2009-10-08至2009-10-20 整理中......

Oracle的内存分配相当复杂,到真正写起日志来,发现真不是那么容易写。。。。。(初稿,有待完善)

[@more@]

Oracle内存结构主要包括三大部分:
一、进程全局区(PGA)
1、PGA主要是系统为Oracle进程所分配的内存,主要包括进程内存,同时专用服务连接还包括UGA。对非UGA内存,PGA有手动PGA内存管理和自动PGA内存管理。
2、参数WORKAREA_SIZE_POLICY=AUTO表示自动PGA内存管理。
二、用户全局区
1、UGA为会话所有。UGA的分配取决于连接Oracle方式。共享服务器连接,UGA在SGA的大池中划分;专用服务器连接,UGA相当于PGA,UGA在PGA划分。
三、系统全局区
1、SGA是Oracle实例一启动就分配一大块共享内存,(这就是为什么Oracle占用那么大内存的原因之一),是Oracle进程进行通讯的基础.
(如果开发多进程应用,共享内存是多进程进行通讯常用的方式,同时还消息队列,管道等方式。ipcs -m | grep ora 可以查看分配的内存 Linux),
SGA内存管理可以分为手动SGA内存管理和自动SGA内存管理,自动SGA内存管理每个组件按需求进行分配,以SGA_TARGET初始值为标准,不超过此值。
设置为自动SGA内存管理,同时手动设置某一个组件大小,则表示此大小为该组件的下限
2、查看SGA:V$SGASTAT
3、SGA细分为:
(1)共享池(Share Pool)----最重要部分.
a、库缓存(Library Cache) 共享SQL区(Shared SQL Area):即解释计划在此缓存,缓存的SQL(这里所说SQL包括单个SQL查询,PL/SQL,包等)提供共享;
b、数据字典缓存(Data Dictionary Cache):缓存方式为行缓存,行为单位,区别于Block Buffer Cache的数据块为单位的缓存方式
c、共享池参数:SHARE_POOL_SIZE
d、共享池常见问题ORA-04031:PL/SQL重用很低,解析查询频繁,系统使用大量资源管理共享池中的对象。
e、共享池的目的:其中主要目的是为了反复使用查询计划
f、管理共享池误区:盲目增加共享池内存空间,可能造成更大系统开消,加重系统负担,原因共享池受系统管理,共享池更大,管理更加困难。
解决共享池办法:加大重用查询,真正体现创建共享池的目的,一个常用办法是绑定变量
(2)块缓冲区缓存(block buffer cache)也叫数据缓冲区(database buffer cache):
a、重要区,包括:默认池(段块缓冲池)、保持池(常驻内存池)、回收池 (三种池之间没有共享)
b、块缓冲区参数:DB_CACHE_SIZE
c、缓冲区缓存中管理块:块分为--脏块列表、非脏块列表(最近最少使用) 8i之前是按物理顺序
d、缓冲区的命中率:命中率=(1-(物理读)/(逻辑读))*100 其中物理读和逻辑读分别从磁盘和内存读取。命中率是数据库一个重要性能指标,但高命中率不代表性能高。
(3)重做缓冲区(redo buffer):
a、重做缓冲区的目的:块缓冲区缓存的数据->重做缓冲区->重做日志(作为块缓冲区到重做日志中间过度) 大的重做缓冲区对较长事务运行有好处。
b、重做缓冲区参数:LOG_BUFFER定义重做缓冲区大小,同时重做缓冲区大小实例运行期间保持不变,区别于共享池的动态调整。
c、重做日志写入进程何时把缓冲区内容写入到磁盘:a、重做日志缓冲区填充三分之一;b、用户提交了一个事务;c、块缓冲区缓存数据需要写入重做缓冲区
d、重做缓冲区常见问题:太小的会导致日志写入进程过天频繁。其中nologging选项可以绕过重做日志避免某些竞争,同时还可以对长作业进行批量提交。
(4)固定SGA:相当于指针,作用是指向SGA中其他组件的变量,此组件,DBA不用干预
(5)大池----共享服务器,主要用于大块内存的分配,大池的内存可以释放,但是共享池的内存不存在释放。RMAN一般使用此部分内存。参数为LARGE_POOL_SIZE
(6)JAVA池----用于支持在数据库中运行JAVA(如:JVM,JAVA编写的存储过程,JAVA类等)
(7)流池----主要是支持实例中Streams活动而分配内存,参数为STREAMS_POOL_SIZE。具体请查看Stream方面知识。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/22630256/viewspace-1027634/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: 构建数据仓库
请登录后发表评论 登录
全部评论

注册时间:2009-09-30

  • 博文量
    58
  • 访问量
    612593