ITPub博客

首页 > 数据库 > Oracle > Oracle OCP(38):Database 内存结构

Oracle OCP(38):Database 内存结构

原创 Oracle 作者:Ryan_Bai 时间:2019-04-15 09:48:01 0 删除 编辑

oracle实例内存结构由两部分组成SGA(系统全局区)和PGA(用户全局区)组成,SGA是一块共享的内存区域,也是最大的一块内存区域;PGA则是用户会话专有的内存区域,每个会话在服务器端都有一块专有的内存区域就是PGA。

一、PGA

程序全局区 (PGA):包含某个服务器进程或后台进程的数据及控制信息的内存区域。PGA 是 Oracle DB 在服务器进程或后台进程启动时创建的非共享内存。服务器进程对 PGA 的访问是互斥的。每个服务器进程和后台进程都具有自己的 PGA。

包含如下结构:

  • Private SQL area:包含绑定信息、运行时的内存结构。每个发出sql语句的会话,都有一个private SQL area(私有SQL区)

  • Session memory:为保存会话中的变量以及其他与会话相关的信息,而分配的内存区。

二、SGA

系统全局区 (SGA):称为 SGA 组件的共享内存结构组,这些组件包含一个 Oracle DB 实例的数据和控制信息。SGA 由所有服务器和后台进程共享。SGA 中存储的数据示例包括高速缓存的数据块和共享 SQL 区域。

  • Database buffer cache:缓存了从磁盘上检索的数据块。

    • Keep buffer cache:保存buffer cache中存储的数据,使其尽时间可能长。

    • Recycle buffer cache:保存buffer cache中即将过期的数据。

    • nK block size buffer:为与数据库默认数据块大小不同的数据块提供缓存。用来支持表空间传输。

  • Redo log buffer:缓存了写到磁盘之前的重做信息。

  • Shared pool:缓存了各用户间可共享的各种结构。

  • Large pool:一个可选的区域,用来缓存大的I/O请求,以支持并行查询、共享服务器模式以及某些备份操作。

  • Java pool:保存java虚拟机中特定会话的数据与java代码。

  • Streams pool:由Oracle streams使用。

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

请登录后发表评论 登录
全部评论
Oracle 10g OCE/OCA/OCP; Oracle 11g OCP/OCM; MySQL 5.6 OCP; OCMU用户组成员; 科腾南网驻场DBA;

注册时间:2017-09-18

  • 博文量
    118
  • 访问量
    83869