oracle 什么是 pga

如题所述

在ORACLE中, PGA(Program Global Area,也叫做程序缓存区) 是一块包含服务进程数据以及控制信息的内存区域。具体特点如下:

0、PGA 由固定 PGA 和可变 PGA (也称为PGA Heap或PGA堆)。固定 PGA容量大小是固定的,包含了大量原子变量、小的数据结构和指向可变 PGA 的指针。

1、PGA是Oracle 在一个服务进程启动时创建的,是非共享的。

2、一个 Oracle 进程拥有一个 PGA 。一个 PGA 也只能被拥有它的那个服务进程所访问,只有这个进程中的 Oracle 代码才能读写它。

3、PGA 中包含了关于进程使用到的操作系统资源的信息,以及一些关于进程状态的信息。而关于进程使用的 Oracle共享资源的信息则是在 SGA ( 系统全局区 ) 中。这样做可以使在进程以外中止时,能够及时释放和清除这些资源。

4、 PGA与 SGA 类似,都是 Oracle 数据库系统为会话在服务器内存中分配的区域。
两者的作用和共享程度也不相同。 SGA 对系统内的所有进程都是共享的。当多个用户同时连接到一个例程时,所有的用户进程、服务进程都可以共享使用这个 SGA 区。SGA 的主要用途就是为不同用户之间的进程与服务进程提供交流的平台。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-09-23
PGA(Program Global Area程序全局区)是一块包含一个服务进程的数据和控制信息的内存区域。你每启动一个数据库进程就会在内存中创建一个pga,它是独有的,非共享。本回答被提问者采纳
相似回答