日期:2014-05-16  浏览次数:20479 次

Oracle的体系结构(四)内存结构

欢迎转载,转载请指明出处http://blog.csdn.net/hncsy403,谢谢


内存结构是Oracle数据库体系中最为重要的一部分,也是影响数据库性能的第一因素

内存可以分为SGA(系统全局区)和PGA(程序全局区)


一、系统全局区

SGA是所有用户都可以访问的实例的共享内存区域

数据块,事务处理日志,数据字典信息都存在SGA中



数据高速缓存:



共享池:



重做日志高速缓存:



大型池



二、程序全局区

PGA是一类没有共享的内存,专用于特定服务器进程,并且能够由这个进程访问






PGA与SGA的区别:

PGA与SGA相似,都是Oracle数据库系统为会话在服务器内存中分配的区域,不过作用不同,共享程度也不同

系统全局区是对系统内的所有进程都是共享

当多个用户同时连接到一个实例时

所有的用户进程,服务进程都可以共享到这个系统全局区

这个的主要用途就是为不同用户之间的进程和服务器提供一个交流的平台

另外一个重要的作用是各种数据库的主要操作都在这个系统全局区完成


程序全局区主要是为了某个用户进程所服务的

不是共享,只有用户服务进程本身可以访问自己的程序全局区

数据排序,权限控制都离不开这个内存区域


三、用户全局区

UGA(用户全局区)会为用户存储会话状态