对关系型数据库管理系统Orcale9i体系结构的初步认识
首先我们在要了解Orcale9i之前必须要清楚以下几点:
就Oracle9i本身而言主要可以区分为两个部分:
1.cale Instance(Orcale实例).
2.cale9i Databases Files(Orcale数据库文件).
Orcale Instance是指数据库服务器的内存以及相关处理程序
Orcale Instance又包括SGA(系统全局区)以及Background Processes(后台处理程序)
SGA又包括几个重要的区域(在内存中划分)
1.Database Buffer Cache(块缓冲区高速缓存):用来存放读取自数据文件的副本或者简而理解为用户曾经处理过的数据,这样就能大大的提高数据存取的效率因为他有效的减少了数据在硬盘上的I\O操作.
2.Redo Log Buffer(重做日志缓冲区):记录数据库内所有的数据修改区简而言之就是对数据库的任何修改都会他记录,这样以便数据库被损坏时可以进行必要的修复同时因为他是内存到内存的操作所以又加快
了数据库的操作速度.
3.Shared Pool(共享池):为什么叫他共享池而不叫他共享区呢?我这样认为:因为他其中还包括了两个缓冲区:
->Library Cache(SQL语句缓冲区):当用户向Orcale提交一个SQL语句时,该缓冲区就将这条SQL语句进行分析,这个过程类似于编译,这会消耗较多的时间,当Orcale完成对这条SQL语句分析过后,Orcale
自动将其分析结果保存到Library Cache中,这样当Orcale第二次执行该SQL时,Orcale将自动跳过这个分析过程,从而降低了系统运行的时间.
->Data Dictionary(数据字典缓冲区):是Orcale特地为数据字典准备的一块缓冲区,紧供Orcale内部使用储存Orcale系统信息,我们用对他进行太多的细究.
注:Shared Pool是Orcale Instance最关键的内存片段.
4.其他的缓冲区.
Background Processes(后台处理程序)其中主要的几个进程:
1.DBWR(数据写进程):将Database Buffer Cache内改动过的数据块写入到硬盘内的数据文件.
2.LGWR(日志写进程):将重做日志缓冲区内的更改写入到硬盘中的重做日志文件.
3.SMON(系统监控):在因为各种原因造成Orcale数据库不正常的被关闭,下一次激活数据库时SMON将尽行必要的修复.
4.PMON(进程监控):在一个Orcale进程失败时PMON将对资源进行清理.
5.CKPT(检查点进程):在每当Database Buffer Cache中的更改永久性的记录在硬盘中时,更新控制文件和数据文件中的数据库状态信息.
6.ARCH(归档进程):在每次日志切换时把已满的日志组进行备份或归档.
..................
Orcale9i Databases Files是指主要放在计算机硬盘上的各种Orcale9i数据库文件其中包括:
1.数据文件
2.控制文件
3.日志文件
以上三个文件是由进程DBWR与LGWR对他们进行操作
4.归档日志文件
5.参数文件
6.口令文件,用户的应用权限
Orcale 数据库结构:
1.逻辑结构:
构成的主要由以下几个逻辑部件:
->的储存单位块(data block).
->区(extends).需要注意的是Oracle9i在配置储存空间时是以区为单位的而不是最小的储存单位块!
->段(segement),由许多区构成
->表空间(Tablespace),Orcale9i数据库最大的储存空间,许多段构成.
Orcale9i各逻辑部件存在一种阶层关系:
->数据存在每个数据块内,数据读写以块为单位
->空间配置是以区为单位,一个区由一连串数据块所构成
->依实际数据量的多少,数据由多个区组成
->数据表空间可以划分为不同的区段,每个段又包括了许多区
->在每个Orcale9i数据库内可划分不同的表空间,用以存放不同类型的数据
2.物理结构:
由各种Orcale9i数据库文件构成.
注意:一个实例最多只能安装和打开在一个数据库上,而一个数据库能对应多个实例,所以在建立数据库之前,必须先指定Orcale实例的系统表示符(System Identifier),即Orcale SID 因为用来区分不同数据库所以SID必须是唯一的.
实例主要负责数据库的相应操作并与用户交互.