Oracle Database体系机构概述
>>本篇文章基于11gR2文档 http://st-doc.us.oracle.com/11/112/index.htm中的Concepts
#################################
一个database server包含一个数据库和至少一个数据库实例,数据库和实例的关系非常紧密,当我们提到oracle database这个词,其实指的是database server,一般来讲包含了数据库和实例两个意思。
>>1.Database:数据库是一个位于磁盘上的文件的集合,这些文件包含着数据。
>>2.Database instance:实例是一个内存结构的集合,它用来管理数据库文件,实例包括一个共享的内存区SGA和一组后台进程。
SGA是一组共享的内存结构,这个结构里面包含了一个database instance的数据和控制信息。
对于每个连接到实例的连接,是通过一个客户端进程,每个客户端进程有它自己的server process,server process有它自己的私有的session memory,这就是我们熟知的PGA。和一个实例相关的内存结构就是SGA和PGA。
PGA是一块内存区域,这个里面包含一个server或者后台进程的数据和控制信息
#########################################################################
####################################
Oracle Instance and Oracle Database
####################################
与oracle数据库实例相关的进程有三种:
1)客户端进程
>>run the application or Oracle tool code.对于大部分环境,客户端进程一般运行在另外的机器上。这些被创建和维护的进程用来运行应用程序或者oracle工具的软件代码。
2)Oracle 进程,见上图Oracle Instance and Oracle Database
分为后台进程和服务器进程
>> Background processes :start with the database instance and perform maintenance tasks
>> Server processes :perform work based on a client request.
These processes communicate with client processes and interact with Oracle Database to fulfill requests.
3)从属进程,比如并行的协调者进程(Parallel Query Slaves)
Slave processes :perform additional tasks for a background or server process
从整体上我们为可以对这些进程进行一下分类:
(1)Mandatory Background Processes
Process Monitor Process (PMON)
System Monitor Process (SMON)
Database Writer Process (DBWn)
Log Writer Process (LGWR)
Checkpoint Process (CKPT)
Manageability Monitor Processes (MMON and MMNL)
Recoverer Process (RECO)
(2)Optional Background Processes
Archiver Processes (ARCn) Slave Processes:are background processes that perform work on behalf of other processes
####################################