ORACLE数据库所使用的内存主要涉及到两个方面:PGA和SGA。
1.1 PGA管理
PGA指的是程序全局区(Program Global Area),是服务器进程(Server Process)使用的一块包含数据和控制信息的内存区域,PGA是非共享的内存,在服务器进程启动或创建时分配(在系统运行时,排序、连接风操作也可能需要进一步的PGA分配),并为Server Process排他访问,所以PGA中的数据结构并不需要通过latch来保护;
1.2 什么是PGA
进程的创建通常有两种模式:专用...
分类:
数据库 时间:
2014-07-28 00:19:19
阅读次数:
296
许多互斥对象如果放置了过多的互斥对象,代码就没有什么并发性可言,运行起来也比单线程解决方案慢。如果放置了过少的互斥对象,代码将出现奇怪和令人尴尬的错误。幸运的是,有一个中间立场。首先,互斥对象是用于串行化存取*共享数据*。不要对非共享数据使用互斥对象,并且,如果程序逻辑确保任何时候都只有一个线程能存...
分类:
其他好文 时间:
2014-07-26 00:27:46
阅读次数:
201
第三章MPI编程3.1
MPI简单介绍多线程是一种便捷的模型,当中每一个线程都能够訪问其他线程的存储空间。因此,这样的模型仅仅能在共享存储系统之间移植。一般来讲,并行机不一定在各处理器之间共享存储,当面向非共享存储系统开发并行程序时,程序的各部分之间通过来回传递消息的方式通信。要使得消息传递方式可移...
分类:
其他好文 时间:
2014-06-10 16:37:42
阅读次数:
255
PGA (ProgramGlobal Area
)程序全局区
PGA是用户进程连接到数据库并创建一个对应的会话时,由ORACLE为服务器进程分配的专门用于当前用户会话的内存区,每个Oracle服务器进程都包含有属于自己的PGA,它只存储这个服务进程的相关信息。PGA是私有的而非共享的,当它对应的用户进程死掉后可将服务器进程及其资源清除和释放。PGA的构成:
l 排序区
用于存放排序操作产生...
分类:
数据库 时间:
2014-05-26 03:46:18
阅读次数:
375