Oracle有一个很大的内存块,称为系统全局区(SGA),用于(但不限于):
Oracle有一组"附加到"SGA的进程,附加机制因操作系统而异。在UNIX/Linux环境中,这些进程会附到一个很大的共享内存段,这是操作系统中分配的一个内存块,可以由多个进程并发地访问(通常要使用shmget()和shmat())。
在Windows中,这些进程使用C调用(malloc())来分配内存,因为它们实际上是一个大进程中的线程,所以会共享相同的虚拟内存空间。
Oracle还有一组供数据库进程/线程读写的文件(只允许Oracle进程读写这些文件)。
在UNIX/Linux系统上启动Oracle,并执行PS命令,就会看到许多进程,还会显示出这些进程的名字。统称为Oracle后台进程。