一、oracle DB服务器的组成
![](http://img.blog.itpub.net/blog/attachment/201610/11/31386161_1476174693e2Pr.png?x-oss-process=style/bb)
Oracle DB 服务器组成:实例+数据库
实例:后台进程+共享内存SGA,实例是可以单独存在的
数据库:控制文件,数据文件,在线重做日志文件
除此之外,oracle还有一些辅助的文件,有参数文件,口令文件,备份文件, 归档重做日志文件,跟踪文件,预警日志文件。这些文件对数据库虽然不是必须文件,但是地位也是举足轻重。
二、内存的组成
![](http://img.blog.itpub.net/blog/attachment/201610/11/31386161_14761747562pWh.png?x-oss-process=style/bb)
实例内存:SGA(共享)+PGA(私有)
SGA:每当启动一个实例时,都会分配一个 称为系统全局区 (SGA) 的共享内存区,并启动后台进程。
对于SGA的内容,我们下一篇文章再对其详细讲解。
![](http://img.blog.itpub.net/blog/attachment/201610/11/31386161_1476174795K43P.png?x-oss-process=style/bb)
PGA: Oracle DB 在服务器进程或后台进程启动时创建的非共享内存。服务器进程对 PGA 的访问是独占式的。每个服务器进程和后台进程都具有自己的 PGA。
当服务器是专用服务器,PGA 包含一个名为用户全局区 (UGA) 的内存部分。UGA 包括以下部分:
* 游标区,用于存储游标的运行时信息
当进行一次select 查询后,他的结果集合,其实就会放到游标区的一个cursor中去。
当进行一次select 查询后,他的结果集合,其实就会放到游标区的一个cursor中去。
* 用户会话数据存储区,用于存储有关会话的控制信息
* SQL 工作区,用于处理 SQL 语句,其中包括:
- 排序区,用于对数据排序的函数,如 ORDER BY 和 GROUP BY
- 散列区,用于执行表的散列联接,即hash join
- 位图创建区,用于创建数据仓库常用的位图索引
- 位图合并区,用于解析位图索引计划的执行
当服务器是共享服务器,UGA移到SGA中的大池,PGA此时只剩下堆栈空间
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31386161/viewspace-2126125/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/31386161/viewspace-2126125/