客户端SQL 网络SQL 结果
客户端 SQL Oracle数据库文件
SQL Oracle10g
计算机
图2-1 Oracle10g网络环境
2.3.1服务器连接客户机
在每个Oracle 10g数据库服务器上都会运行一个特殊的程序,称为监听程序。 网络上有很多各种用途的数据包在流动,监听程序好比是Oracle10g数据库服务器的\耳朵\,它要分辨出哪些数据包是Oracle10g的管理客户机发出来的。
在正常安装的Oracle10g数据库服务器上,已经自动配置了监听程序。
2.3.2客户机连接服务器
管理客户机上有专门的连接工具连接通信网络,向Oracle10g数据库服务器发送管理请求。
在安装Oracle10g管理客户机时,将进行[网络服务名]的配置。[网络服务名]实际上就是一个远程数据库的别名,这个别名是任意的。
在管理客户机上有一个程序,叫做[命名方法]解析程序。这个[命名方法]解析程序里配置了各种[命名方法]。这些[命名方法)告诉客户机应该如何将[网络服务名]指向具体的数据库服务器。
[命名方法]解析程序将[网络服务名]翻译为数据库服务器上的[监听程序]能够监听的名称后,通过网络进行传送。
数据库服务器上的[监听程序]监听管理请求后,发送给数据库DBMS系统进行处理。 管理客户机的工作原理如图2-2所示。
-9-
图2-2 管理客户机的工作原理
举个例子来加深读者的理解。
甲、乙两地之间通过飞机、铁路、公路都可以到达 (各种[命名方法]),正常情况下,我们就告诉乘客,3种方法都可以,你可以优先选择飞机,然后是铁路和公路。而因为大雾的原因,航班不能正常起降(某种[命名方法]关闭或尚未启用),就需要告诉乘客只能选择铁路或者公路。
[命名方法]的配置就是告诉管理客户机通过什么方法去查找[网络服务名)对应的数据库服务器,然后才能向明确的数据库服务器发送连接请求。 [本地网络服务名]是最常用的一种[命名方法]。
2.4 数据库服务器的体系结构
以上介绍了客户机和服务器的连接。下面介绍数据库服务器的体系结构,在介绍完服务器的体系结构后, 就能够理解数据库服务器是如何工作的。 下面首先介绍进程结构。
2.4.1进程结构
Oracle 10g网络环境里共有两大类进程。 (1)用户进程
用户进程是在客户机内存上运行的程序,如客户机上运行的\、\企业管理器\等。用户进程向服务器进程提出操作请求。
(2)服务器进程
服务器进程是在服务器上运行的程序,接受用户进程发出的请求,根据请求与数据库通信,完成与数据库的连接操作和I/O访问。有一些特别重要的服务器进程负责完成数据库的后台管理工作,称为数据库后台支持进程。
主要的服务器进程如表2-1所示。
-10-
表2-1 oracle 10g 的主要后台支持进程
名称
系统监控进程(SMON) 进程监控进程(PMON) 数据库写入进程(DBWR) 日志写入进程(LGWR) 归档进程(ARCH) 检查点进程(CPKT) 恢复进程(RECO) 锁进程(LCKn) 快照进程(SNPn) 调度进程(Dnnn)
主要作用
数据库系统启动时执行恢复性工作,对有故障数据库进行恢复 用于恢复失败的用户进程 将修改后的数据块内容写回数据库 将内存中的日志内容写入日志文件
当数据库服务器以归档方式运行时调用该进程完成日志归档 标识检查点,用于减少数据库恢复所需要的时间 用于分布式数据库中的失败处理 在并行服务器模式下确保数据的一致性 进行快照刷新
负责把用户进程路由到可用的服务器进程进行处理
2.4.2内存结构
数据库服务器使用计算机的内存来存放常用的信息和所有调度运行的程序。在其他条件相同的情况下,占用的内存越多,Oracle数据库的运行速度就越快,效率就越高。 (1)系统全局区 (SGA)
SGA是数据库服务器为用户进程和服务器进程之间进行通信所使用的内存,所有用户进程共享SGA的内容,如图2-3所示。
图2-3 SGA的作用
(2)程序全局区 (PGA)
PGA是数据库服务器内存中为单个用户进程分配的专用的内存区域,是用户进程私有,不能共享。
2.4.3数据库的逻辑结构
Oracle 10g数据库的逻辑结构主要指从数据库使用者的角度来考查的数据库的组成,
-11-
如图2-4所示。 自下向上,数据库的逻辑结构共有6层。
图2-4 数据库的逻辑结构
数据块(DataBlock)
(1) 数据块,又叫逻辑块 ,是Oracle 10g数据库输入/输出的基本单位,常用大小为2KB或4KB,与操作系统有关,在Windows2O00 Sever里默认为 4KB 。 (2)数据区间(Data Extent)
若干个连续的数据块构成数据区间,是数据库存储空间分配的一个逻辑单位 。 (3)数据段 (DataSegment)
若干个数据区间构成数据段,Oracle 10g中有4种数据段 。 数据段: 存放数据 。
索引段: 存储索引数据 。 回滚段: 存储要撤消的信息 。
临时段: 当SQL语句需要临时空间时,将建立临时段。一旦执行完毕 ,临时段占用的空间将归还给系统 。
回滚是保持数据一致性的一种策略。当用户对数据库操作已经提交但尚未完成时数据库突然发生中断 (比如突然停电等),要求重新启动后的数据库能够正确恢复到事务没有提交之前的状态 。
(4)逻辑对象(Logic Object)
Oracle 10g数据库中提供了丰富的逻辑对象,包括表、视图、索引、触发器、数据库链接等共有 21种 。
(5)表空间(Tablespace)
为了提高数据库服务器管理和运行的效率,使用表空间这个虚拟的概念来管理Oracl e 10g数据库的默认表空间。
-12-
表2-2 Oracle 10g数据库的默认表空间
(6)数据库 (Database)
一个数据库服务器上可以有多个数据库。 一个数据库可以有多个表空间 一个表空间可以有多个表。 一个表可以有多个段。 一个段可以有多个区间 。
一个区间可以有多个数据块。
2.4.4数据库的存储结构
数据库的存储结构指逻辑结构在物理上是如何实现的,共有3层。如图2-5所示。
图 2-5 数据库的存储结构
(1) 物理块
物理块是操作系统分配的基本存储单位,逻辑结构中的数据块由若干个物理块构成。 (2 )物理文件
每个物理文件由若干个物理块组成,包括数据文件、控制文件和日志文件三类。 数据文件:用于存放所有的数据,以DBF为扩展名。
日志文件:记录了对数据库的所有操作,以LOG为扩展名。
-13-
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库信管数据库原理与应用12-123实验指导书(3)在线全文阅读。
相关推荐: