完整的9i应用环境包括 数据库管理系统 和 数据库 两大部分。
数据库管理系统的结构:因为运行在内存上的数据库管理程序称为 进程,各种功能的进程总和就构成了Oracle 9i的数据库管理系统。 所以从 进程结构 和 内存结构 两方面加以介绍。
数据库的结构:因为数据库的结构在逻辑上体现为表空间、数据表等对象,物理上由数个功能各异的文件构成,所以从 逻辑结构 和 物理结构 上介绍数据库结构。
网络应用结构:每种结构的特点。
*******************
数据库管理系统的结构
*******************
由功能各异的管理程序组成,程序要运行离不开内存的支持,9i请求操作系统给这些程序分配特定的内存,在内存中运行的程序被称为 进程。数据库程序管理系统就是一系列在内存中运行的进程的总和。
计算机操作系统是对计算机软、硬件资源进行管理的特定的程序总和。早期的操作系统在执行用户程序的时候,采用的是单道批处理方式。举例:工厂的啤酒生产线从空的啤酒瓶依次进入生产线开始,经过灌装、封口等一系列的工序,最后又按照它们进入生产线的顺序,依次出来,这就是单道批处理。我们可以把完成一瓶啤酒的生产看成是程序的一次执行过程,生产线就是计算机的内存,程序从进入内存,到执行完释放内存,在该过程中独占计算机的所有资源,内存中初始只有一道程序。
将多个程序同时调入内存执行,按照一定的资源分配策略给它们分配软、硬件资源,使多个程序可以并发执行,从而提高了操作系统执行程序的效率,这就是多道操作系统的设计原理。进程就是一个具有独立功能的程序在内存中的一次并发执行的运行活动。程序是静态的概念,进程是动态的概念。
2.1.1进程结构
Oracle9i环境里有两类进程。
1.用户进程
用户进程是在客户机内存上运行的程序,如客户上运行的SQLpuls、企业管理器等,用户进程向服务器进程请求信息。
2.服务器进程
服务器进程是在服务器上运行的程序,接受用户进程发出的请求,根据请求与数据库通信,完成与数据库的连接操作和I/O访问。
有一些特别重要的服务器进程负责完成数据库的后台管理工作,称为数据库后台支持进程。
主要的数据库后台支持进程表:
SMON系统监控进程
PMON进程监控进程
DBWR数据库写入进程
LGWR日志写入进程
ARCH归档进程
CKPT检查点进程
RECO恢复进程
LCKn锁进程
SNPn快照进程
Dnnn调度进程
2.1.2内存结构
操作系统为上述进程分配的结构有两部分:
1.系统全局区(System Global Area,SGA)
运行在客户机上的用户进程和运行在服务器上的服务器进程是同是进行的,操作系统将为这些进程分配专用的内存区域用于它们之间的通信,这个专用 的内存区就叫着系统 全局区。
在系统全局区里根据其功能的不同,又分成4个部分:数据缓冲区(Data Buffer Cache)、字典缓冲区(Dictionary Cache)、日志缓冲区(Redo Log Buffer)、SQL共享池(Shared SQL Pool)。
2.程序全局区(Program Global Data,PGA)
PGA是存储区中被单个用户进程所使用的内存区域,是用户进程私有的,不能共享。主要存放是单个进程工作需要的数据和控制信息,其中包括进程会话变量和内部数据等。