欢迎来到天天文库
浏览记录
ID:6379691
大小:2.95 MB
页数:71页
时间:2018-01-12
《oracle9i数据库基础培训_郑国斌》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、ORACLE9i数据库基础培训1Oracle9i数据库体系结构谈及Oracle数据库结构时,我们应该从两个角度来探讨:分别是数据库的“逻辑层面”与“物理层面”。简单的说,“逻辑层面”是由”数据库内部”观看其组成要素,包括:表空间(tablespaces)、段(segments)、区块(extents)、数据块(datablock)、以及数据库对象(Schemaobjects)。而“物理层面”则是从”操作系统”角度来看数据库的实体构成项目,包括:数据文件(Datafiles)、重做日志文件(redologfiles)、控制文件(controlfiles)、口
2、令文件(password)、初始化参数文件(initializationparameterfiles)等。1.1逻辑结构l数据块(datablock)许多初次接触数据库的读者最好奇的一点是:“数据究竟是如何存放在数据库呢?”。其实,Oracle9i数据库有几种数据储存体,其中最小的储存单元就称为“数据块”(datablock)。数据块大小是由初始化参数文件的DB_BLOCK_SIZE参数所决定,且在新建Oracle9i数据库之前就必须明确地定义。实际上,数据块大小与”操作系统的磁盘读写块”(O.S.blocks)也有关系,所以必须将DB_BLOCK_SIZ
3、E设定为O.S.blocks的整数倍。附带一提:Oracle9i在存取数据时是以datablock为最小读取单位,而不是以OSblock为单位。从Oracle9i开始,数据库内可以设定多种数据块大小。换句话说,Oracle9i数据库内分为“标准数据块”与“非标准数据块”;预设情况下SYSTEM资料表空间就是以“标准数据块”建立而成。l区(extents)除了数据块之外,Oracle9i数据库还有所谓的“区”(extents)。虽然数据块是Oracle9i最小的资料读写单位,但值得注意的是:Oracle9i在分配储存空间时,并不是以数据块为单位,而是改采“区
4、”的方式来分配空间。那么,使用“区”究竟有何好处呢?当执行DDL指令建立数据库对象时(例如CREATETABLE指令),Oracle9i会先分配出一连串的数据块;直到这些数据块全部存满数据后,下次再分配一连串的数据块。这些连续的数据块就统称为“区”。举例来说,假定您准备在Oracle9i数据库内存放80KB的资料,Oracle9i可以先分配一个“区”,其大小可为数据块(8KB)的5倍;然后视实际需要再配置第二个“区”(大小还是40KB)。如此一来,只要两次的空间配置动作就可以存放80KB的资料了!试想,如果Oracle9i每次只配置8KB的“数据块”让存放
5、资料,总共需要10次空间配置动作才能放满80KB的资料,比较没有效率。由此可见,“区”的确有其存在的必要性。l段(segments)依照不同的数据处理性质,可能需要在表空间内划分出不同区域,以存放不同的数据;我们将这些区域称之为“段”(segment)。例如,存放数据的称为“数据段”、存放数据的称为“索引段”。而“段”其实就是由许多“区块”(extents)组合而成。除了上述两种“段”以外,Oracle9i数据库内还有另外两种段结构,分别是:“临时段”(temporarysegment)与“回退段”(rollbacksegment)。l表空间(tables
6、paces)表空间是数据库中最大的逻辑单位。数据库可以划分为一个或多个逻辑单位,该逻辑单位称为表空间。下图说明了Oracle9i数据库内各逻辑组成之间的关系:1.1物理结构l数据文件每个Oracle9i数据库都包含为数不等的“数据文件”。数据库内所有逻辑数据库对象都是存放在数据文件内,如:数据表、索引….等。一但数据文件被建立后,系统就会在磁盘上分配出适当空间给数据文件;但尚未存放任何用户数据。等到未来使用者将数据存入数据库时,Oracle9i才会在数据文件内分配出“段”,以存放数据。而这些动作都是由Oracle9i自动完成的。当然了,如果数据文件剩余空间
7、不足,您就必须调整数据文件大小;或增加新的数据文件。所以在Oracle9i数据库内,一个数据库对象有可能横跨多个数据文件。如前所述,Oracle9i数据库内可规划一个以上的“数据表空间”。但如果由操作系统角度来看,“数据表空间”其实是由一个或数个“数据文件”所组成。换句话说,数据库的所有数据就是位于操作系统的各“数据文件”内。所以:Ø一个“数据文件”只能对应的一个“数据表空间”。Ø一个“数据表空间”可包含多个“数据文件”。l重置日志文件除了“数据文件”外,最重要的Oracle9i数据库实体文件就是“重做日志文件”(redologfiles)。虽然它与“数据
8、文件”不同,但是彼此间却有密不可分的关系!简单的说,Oracle9
此文档下载收益归作者所有