[Oracle]进程结构和内存结构的实例(1)

ZDNet软件频道 时间:2008-09-22 作者:skid | fanqiang 我要评论()
本文关键词:内存 进程 数据库 Oracle
进程是操作系统中的一种机制,它可执行一系列的操作步。在有些操作系统中使用作业(JOB)或任务(TASK)的术语。一个进程通常有它自己的专用存储区。ORACLE进程的体系结构设计使性能最大。
 

1. Oracle实例的进程结构和内存结构

1) 进程结构

进程是操作系统中的一种机制,它可执行一系列的操作步。在有些操作系统中使用作业(JOB)或任务(TASK)的术语。一个进程通常有它自己的专用存储区。Oracle进程的体系结构设计使性能最大。

Oracle实例有两种类型:单进程实例和多进程实例。

进程Oracle(又称单用户Oracle)是一种数据库系统,一个进程执行全部Oracle代码。由于Oracle部分和客户应用程序不能分别以进程执行,所以Oracle的代码和用户的数据库应用是单个进程执行。

在单进程环境下的Oracle 实例,仅允许一个用户可存取。例如在MS-DOS上运行Oracle

进程Oracle实例(又称多用户Oracle)使用多个进程来执行Oracle的不同部分,对于每一个连接的用户都有一个进程

在多进程系统中,进程分为两类:用户进程Oracle进程。当一用户运行一应用程序,如PRO*C程序或一个Oracle工具(如SQL*PLUS),为用户运行的应用建立一个用户进程Oracle进程又分为两类:服务器进程和后台进程。服务器进程用于处理连接到该实例的用户进程的请求。当应用和ORACELE是在同一台机器上运行,

而不再通过网络,一般将用户进程和它相应的服务器进程组合成单个的进程,可降低系统开销。然而,当应用和Oracle运行在不同的机器上时,用户进程经过一个分离服务器进程Oracle通信。它可执行下列任务:

对应用所发出的SQL语句进行语法分析和执行。

从磁盘(数据文件)中读入必要的数据块到SGA的共享数据库缓冲区(该块不在缓冲区时)。

将结果返回给应用程序处理。

系统为了使性能最好和协调多个用户,在多进程系统中使用一些附加进程,称为后台进程。在许多操作系统中,后台进程是在实例启动时自动地建立。一个ORAC

LE实例可以有许多后台进程,但它们不是一直存在。后台进程的名字为:

DBWR 数据库写入程序

LGWR 日志写入程序

CKPT 检查点

SMON 系统监控

PMON 进程监控

ARCH 归档

RECO 恢复

LCKn 封锁

Dnnn 调度进程

Snnn 服务器

每个后台进程Oracle数据库的不同部分交互。

下面对后台进程的功能作简单介绍:

DBWR进程:该进程执行将缓冲区写入数据文件,是负责缓冲存储区管理的一个Oracle后台进程。当缓冲区中的一缓冲区被修改,它被标志为“弄脏”,DBWR的主要任务是将“弄脏”的缓冲区写入磁盘,使缓冲区保持“干净”。由于缓冲存储区的缓冲区填入数据库或被用户进程弄脏,未用的缓冲区的数目减少。当未用的缓冲区下降到很少,以致用户进程要从磁盘读入块到内存存储区时无法找到未用的缓冲区时,DBWR将管理缓冲存储区,使用户进程总可得到未用的缓冲区。

内存

进程

数据库

Oracle


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134