1.系统全局区SGA
系统全局区System Global Area 是所有用户进程共享的一块内存区域,SGA的数据资源
可以被多个用户进程共同使用。SGA主要由高速缓冲区、共享池、重做日志缓存区,java池
和大型池等内存结构组成。SGA随着数据库实例的启动而加载到内存中,当数据库关闭时,
SGA区域消失。
2.程序全局区PGA
PGA所发出信息请求的客户端所拥有
3.前台进程
用户进程:指能够产生或执行SQL语句的应用程序,无论是SQL*Plus,还是
其他的应用程序,只要能生成或执行SQL语句,都被称为用户进程。
服务器进程:指处理用户回话过程中数据库实例发出的SQL语句或SQL Plus命令,
它可以分为专用服务器模式和共享服务器模式。
4.后台进程
Oracle后台进程十一组运行于Oracle服务器端的后台程序,是Oracle实例的重要
组成部分。后台进程有若干个,分工明确,完成不同的系统功能。进程包括DBWR、
CKPT、LGWR、ARCH、SMON、PMON、LCKN、RECO、DNNN、SNPN。其中
SMON,PMON,DBWR,LGWR,CKPT这五个后台进程必须正常启动,否则数据库实例
崩溃。
DBWR:数据写入进程
数据写入进程的主要任务是负责将内存中的“脏”数据块回写到数据文件中。“脏”数据块是指高速数据缓冲区中的被修改过的数据块,这些数据块的内容与数据文件的数据块内容不一致。但DBWR并不是随时将所有的“脏”数据块都写入数据文件,只有满足一定的条件时,DBWR进程才开始成批量的将“脏”数据块写入数据文件Oracle这样做的目的是为了尽量减少I/O操作,提高Oracle服务器性能。通常在以下几种情况发生时,DBWR进程会将“脏”数据块写入数据文件:
CKPT:检查点进程
检查点进程可以看作一个事件,当检查点事件发生时,CKPT会要求DBWR将某些“脏”数据块回写到数据文件。当用户进程发出数据请求时,Oracle系统从数据文件中读取需要的数据并存放到高速数据缓冲区中,用户对数据的操作时在缓冲区中进行的。当用户操作数据时,就会产生大量的日志信息并存储在重做日志缓冲区,当Oracle系统满足一定条件时,日志写入进程(LGWR)会将日志信息写入到重做日志文件组中,当发生日志切换时(写入操作正要从一个日志文件组切换到另一组时),就会启动检查点进程,DBA还可以通过修改初始化参数文件SPFILE中的CHECKPOINT_PROCESS参数为TRUE来启动检查点进程。
LGWR:日志写入进程
用于将重做日志缓冲区中的数据写入重做日志文件。Oracle系统将用户所做的修改日志信息写入日志文件,然后将修改结果写入数据文件。Oracle实例在运行中会产生大量日志信息,这些日志信息首先被记录在SGA的重做日志缓冲区中,当发生提交命令、或者重做日志缓冲区的信息满1/3、或者日志信息存放超过3秒钟时,LGWR进程就将日志信息从重做日志缓冲区中读出并写入日志文件组中序号较小的文件中,一个日志组写满后接着写另外一组。当LGWR进程将所有䣌日志文件都写过一遍后,它将再次转向第一个日志文件组重新覆盖。
ARCH:归档进程
可选择的进程,只有当Oracle数据库处于归档模式时,该进程才可能起到作用。若Oracle数据库处于归档模式,当各个日志文件组都被写满即将被覆盖之前,先由归档进程(ARCH)把即将覆盖的日志文件中的日志信息读出,然后再把这些“读出的日志信息”写入到归档日志文件中。
SMON:系统监控进程
在数据库启动时执行恢复工作的强制性进程。比如,在并行服务器模式下,SMON可以恢复另一个处于失败的数据库,使系统切换到另外一台正常的服务器上。
PMON:进程监控进程 进程监控进程用于监控其他进程的状态,当有进程启动失败时,PMON会清除失败的用户进程,用于数据不一致时进行恢复工作
LCKN:锁定进程
一个可选进程,并行服务器模式下可以出现多个锁定进程以利于数据库通信
RECO:恢复进程
在分布式数据库模式下使用的一个可选进程,用于数据不一致时进行恢复工作
DNNN:调度进程
这是一个可选进程,在共享服务器模式下使用,可以启动多个调度进程。
SNPN:快照进程
用于处理数据库快照的自动刷新,并通过DBMS_JOB包运行预定的数据库存储过程。