- 1、本文档共71页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
oraclei数据库基础培训郑国斌
ORACLE 9i数据库基础培训
Oracle9i数据库体系结构
谈及Oracle 数据库结构时,我们应该从两个角度来探讨:分别是数据库的“逻辑层面”与“物理层面”。简单的说,“逻辑层面”是由”数据库内部”观看其组成要素,包括:表空间(tablespaces)、段(segments)、区块(extents)、数据块(data block)、以及数据库对象(Schema objects)。而“物理层面”则是从”操作系统”角度来看数据库的实体构成项目,包括:数据文件(Data files)、重做日志文件(redo log files)、控制文件(control files)、口令文件(password)、初始化参数文件(initialization parameter files)等。
逻辑结构
数据块(data block)
许多初次接触数据库的读者最好奇的一点是:“数据究竟是如何存放在数据库呢?”。其实,Oracle9i 数据库有几种数据储存体,其中最小的储存单元就称为“数据块” (data block)。数据块大小是由初始化参数文件的DB_BLOCK_SIZE参数所决定,且在新建Oracle9i 数据库之前就必须明确地定义。实际上,数据块大小与”操作系统的磁盘读写块”(O.S. blocks)也有关系,所以必须将DB_BLOCK_SIZE 设定为O.S. blocks 的整数倍。附带一提:Oracle9i 在存取数据时是以data block 为最小读取单位,而不是以OS block 为单位。从Oracle9i 开始,数据库内可以设定多种数据块大小。换句话说,Oracle9i数据库内分为“标准数据块”与“非标准数据块”;预设情况下SYSTEM 资料表空间就是以“标准数据块”建立而成。
区(extents)
除了数据块之外,Oracle9i 数据库还有所谓的“区”(extents)。虽然数据块是Oracle9i 最小的资料读写单位,但值得注意的是:Oracle9i 在分配储存空间时,并不是以数据块为单位,而是改采“区”的方式来分配空间。那么,使用“区”究竟有何好处呢?当执行DDL 指令建立数据库对象时(例如CREATE TABLE 指令),Oracle9i 会先分配出一连串的数据块;直到这些数据块全部存满数据后,下次再分配一连串的数据块。这些连续的数据块就统称为“区”。
举例来说,假定您准备在Oracle9i 数据库内存放80 KB 的资料,Oracle9i 可以先分配一个“区”,其大小可为数据块(8 KB)的5 倍;然后视实际需要再配置第二个“区”(大小还是40 KB)。如此一来,只要两次的空间配置动作就可以存放80 KB 的资料了!试想,如果Oracle9i 每次只配置8 KB 的“数据块”让存放资料,总共需要10 次空间配置动作才能放满80 KB 的资料,比较没有效率。由此可见,“区”的确有其存在的必要性。
段(segments)
依照不同的数据处理性质,可能需要在表空间内划分出不同区域,以存放不同的数据;我们将这些区域称之为“段”(segment)。例如,存放数据的称为“数据段”、存放数据的称为“索引段”。而“段”其实就是由许多“区块”(extents)组合而成。除了上述两种“段”以外,Oracle9i 数据库内还有另外两种段结构,分别是:“临时段”(temporary segment)与“回退段”(rollbacksegment)。
表空间(tablespaces)
表空间是数据库中最大的逻辑单位。数据库可以划分为一个或多个逻辑单位,该逻辑单位称为表空间。
下图说明了Oracle9i 数据库内各逻辑组成之间的关系:
物理结构
数据文件
每个Oracle9i 数据库都包含为数不等的“数据文件”。数据库内所有逻辑数据库对象都是存放在数据文件内,如:数据表、索引….等。一但数据文件被建立后,系统就会在磁盘上分配出适当空间给数据文件;但尚未存放任何用户数据。等到未来使用者将数据存入数据库时,Oracle9i 才会在数据文件内分配出“段”,以存放数据。而这些动作都是由Oracle9i 自动完成的。当然了,如果数据文件剩余空间不足,您就必须调整数据文件大小;或增加新的数据文件。所以在Oracle9i 数据库内,一个数据库对象有可能横跨多个数据文件。如前所述,Oracle9i 数据库内可规划一个以上的“数据表空间”。但如果由操作系统角度来看,“数据表空间”其实是由一个或数个“数据文件”所组成。换句话说,数据库的所有数据就是位于操作系统的各“数据文件”内。
所以:
一个“数据文件”只能对应的一个“数据表空间”。
一个“数据表空间”可包含多个“数据文件”。
重置日志文件
除了“数据文件”外,最重要的Oracle9i 数据库实体文件就是
文档评论(0)