您的位置:首页 > 数据库 > Oracle

oracle体系结构(笔记二)

2011-07-01 03:39 281 查看
" 学习一东西,一般思路是:框架->细节",某老师曾经这样说,这也符合本人的习惯,废话不多说,进入正题.

一.oracle体系的组成

oracle的体系结构主要分为三大部分:

1.文件 主要包括构成数据库的五大类文件:参数文件,数据文件,临时文件,控制文件和重做日志文件。

2.内存结构 主要包括系统全局区(System Global Area,SGA),进程全局区(System Global Area,PGA)和

用户全局区(User Global Area,UGA).

3.进程或线程 主要包括3类不同的进程:服务器进程,后台进程和从属进程

二.常用术语

实例与数据库

数据库:物理操作系统文件或磁盘的集合。

实例:一组oracle后台进程或线程以及一个共享内存区,内存共享区,有同一个计算机上运行的进程或线程所共享, 没

有磁盘存储,数据库实例也能存在.

关系:一个数据库可以由多个实例装载和打开,而实例在其生存期中最多能装载和打开一个数据库.

本质:实例就是一组操作系统进程(或者一个多线程的进程)以及一些内存,这些进程可以操作数据库.而数据库只

是 一个文件的集合(数据文件,临时文件,重做日志文件,控制文件等).一个实例只能有一组相关的文件.

(与一个数据库关联)

典型的应用:oracle的真正应用集群(Real Application Clusters,RAC),允许多个实例同时装载并打开一个数据库

(位于一组共享物理磁盘上),因此,我们可以同时从多台不同的计算机上访问这个数据库.

一个实例能打开多个数据库吗?

答:可以,一个磁盘上有4个数据库和一个实例,只要有不同的配置文件,就能装载并打开4个数据库中的任意一个.

在任意时间点上只能访问一个数据库.

三.连接oracle的模式

服务器处理请求的两种常见方式:专用服务器连接和共享服务器连接

专用服务器连接:在登陆时,oracle在服务端总会创建一个新的进程,这个服务进程在会话生存期中会专门为我

服务,会话与专用服务器之间存在一对一的映射.客户进程会与这个专用服务器直接通信,并有

这个服务器接收和执行我的sql,并返回结果.

共享服务器连接:这种方式不会对每个用户的连接创建另外的进程或线程,在共享服务器中,oracle使用一个"共享

进程"池为大量用户提供服务.利用共享服务器,不用为1000个数据库会话创建1000个专用服务

器(进程或线程),而只需很少的一部分进程或线程,这些进程或线程将由所有会话共享.这样可以

让更多的用户与数据库连接.否者很难连接更多用户.

区别:与数据库连接的用户不会与共享服务器直接通信,因为服务进程是共享的,为共享进程,引入了"调度器"的机制,

用户与调度机直接通信.而专用服务器,客户进程与专用服务器直接通信。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: