2.4.1 进程结构
Oracle 9i网络环境里共有两大类进程。
1. 用户进程
用户进程是在客户机内存上运行的程序,如客户机上运行的【SQL Plus】、【企业治理器】等。用户进程向服务器进程提出操作请求。
2. 服务器进程
主要的服务器进程如表2.5所示。
表2.5 Oracle 9i的主要后台支持进程
名称
主要作用
系统监控进程(SMON)
数据库系统启动时执行恢复性工作,对有故障数据库进行恢复
进程监控进程(PMON)
用于恢复失败的用户进程
数据库写入进程(DBWR)
将修改后的数据块内容写回数据库
日志写入进程(LGWR)
将内存中的日志内容写入日志文件
归档进程(ARCH)
当数据库服务器以归档方式运行时调用该进程完成日志归档
检查点进程(CKPT)
标识检查点,用于减少数据库恢复所需要的时间
恢复进程(RECO)
用于分布式数据库中的失败处理
锁进程(LCKn)
在并行服务器模式下确保数据的一致性
快照进程(SNPn)
进行快照刷新
调度进程(Dnnn)
负责把用户进程路由到可用的服务器进程进行处理
2.4.2 内存结构
1. 系统全局区(SGA)
SGA如图2.47所示。
2. 程序全局区(PGA)
PGA是数据库服务器内存中为单个用户进程分配的专用的内存区域,是用户进程私有的,不能共享。
2.4.3 数据库的逻辑结构
Oracle 9i数据库的逻辑结构主要指从数据库使用者的角度来考查的数据库的组成,如图2.48所示。自下向上,数据库的逻辑结构共有6层。
1. 数据块(Data Block)
2. 数据区间(Data Extent)
3. 数据段(Data Segment)
4. 逻辑对象(Logic Object)
5. 表空间(Tablespace)
Oracle 9i安装完毕后自动建立9个默认的表空间,如表2.6所示。
表2.6 Oracle 9i数据库的默认表空间
名称
主要作用
CWMLITE
用于联机分析处理(OLAP)
DRSYS
用于存放与工作空间设置有关的信息
EXAMPLE
实例表空间,存放实例信息
INDEX
索引表空间,存放数据库索引信息
SYSTEM
系统表空间,存放表空间名称、所含数据文件等治理信息
TEMP
临时表空间,存储临时表
TOOLS
工具表空间,存放数据库工具软件所需的数据库对象
UNDOTBS
回滚表空间,存放数据库恢复信息
USERS
用户表空间,存放用户私有信息
6. 数据库(Database)
2.4.4 数据库的存储结构
数据库的存储结构指逻辑结构在物理上是如何实现的,共有3层,如图2.49所示。
1. 物理块
2. 物理文件
每个物理文件由若干个物理块组成,主要包括数据文件、控制文件和日志文件3类。
数据文件:用于存放所有的数据,以DBF为扩展名。
日志文件:记录了对数据库进行的所有操作,以LOG为扩展名。
控制文件:记录了数据库所有文件的控制信息,以CTL为扩展名。
以笔者的安装环境为例,【全局数据库名】为“myoracle.mynet”的数据库的主要物理文件存放在c:\oracle\oradata\myoracle下,如图2.50所示。
2.4.5 数据库服务器的总体结构
Oracle 9i数据库服务器的总体结构如图2.51所示。