qileilove

blog已经转移至github,大家请访问 http://qaseven.github.io/

数据库实例与进程简介

  数据库实例:
  实例是由操作系统中的一组内存区和一系列的操作系统进程组成,数据库则是指Oracle保存数据的一系列物理结构和逻辑结构,用户在访问Oracle数据库时主要是在与实例打交道,由实例访问数据库,并返回相应的操作结果。
  最简单的Oracle数据库结构是由一个实例和一个数据库组成,不过对于RAC(或OPS)架构的Oracle数据库,一个数据库会对应多个实例。
  在Oracle数据库,实例和数据库可以理解成两个相互间有关联的独立个体,每个数据库都至少有一个与之对应的实例(对于OPS/RAC架构的Oracle数据库,一个数据库会对应多个实例),每个实例在其生命周期内同时只能对应一个数据库。所谓的启动Oracle数据库时,实际上是连接到实例,说的更直白点儿,就是连接到操作系统的某些进程,并由这些进程访问处理内存中的对象,至于这些对象时如何从磁盘被读取到内存,那正是实例所做的工作
  数据库则是:数据库文件--数据文件+REDO日志+控制文件、密码文件、初始化参数文件等
  数据库服务器等于:实例+数据库   ==》对客户机来说,通过服务连接数据库,只需要知道服务。
  Oracle中的实例有内存结构和进程结构两大部分组成。
  服务器进程和实例后台进程区别:
  实例的一部分是内存结构,实例的另外一部分就是进程。与内存不同,进程都是实实在在的存在,你可以看得见(不过摸不着)。通过相关进程,Oracle实现数据库与实例的连通;通过相关进程,Oracle实现数据库与实例的互动;通过相关进程,Oracle实现对Oracle数据库的应用。
  Oracle进程分为两类:服务器进程(Server Process)和后台进程(Background Process),下面分别进行区分。
  服务器进程
  Oracle的服务器进程有Oracle实例自动创建,用来处理连接到实例的客户端进程发出的请求,用户必须通过连接到Oracle的服务器进程来获取数据库中的信息。对于专用服务器模式,客户端进程和Oracle服务器进程是一一对应的,而在共享服务器模式下,一个Oracle服务器进程可能同时服务多个客户端进程。
  专有连接模式 :用户进程对应一个SERVER PROCESS
  此时新增一个服务器进程,大约需要的内存是: AIX 5-10M  ;LINUX 3-5M内存
  建库时默认是专有连接模式
  服务器进程主要用来执行下列的任务:
  解析、执行客户端提交的SQL语句。
  从磁盘数据文件中读取必须的数据块到SGA得数据缓存区。
  以适当形式返回SQL语句执行结果。
  user process用户进程
  通过tnsnames.ora中的服务名,连接到数据库服务器的服务器进程。要经过监听到服务器进程--PGA
  后台进程:
  服务器进程主要是与客户端进程打交道,后台进程则是让内存区与物理文件打交道。像Oracle数据库这么庞大的结构,要保持高效、稳定并且具有良好的性能,只有几个经纪人显然不行的,因此各项标准服务都由特定进程专门处理,比如写数据文件要有DBWR进程,写归档文件要有ARCH进程等。由Oracle在后台自动启动、管理和维护,因此这些进程才被称为后台进程。

posted on 2013-11-25 10:23 顺其自然EVO 阅读(192) 评论(0)  编辑  收藏 所属分类: 数据库


只有注册用户登录后才能发表评论。


网站导航:
 
<2013年11月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

导航

统计

常用链接

留言簿(55)

随笔分类

随笔档案

文章分类

文章档案

搜索

最新评论

阅读排行榜

评论排行榜