下载后可任意编辑第六章 表空间和数据文件的管理6.1 Oracle 引入逻辑结构的目的Oracle 数据库管理系统并没有像不少其它数据库管理系统那样直接地操作数据文件,而是引入一组逻辑结构。如图 6-1 所示。图 6-1图 6-1 的虚线左边为逻辑结构,右边为物理结构。与计算机原理或计算机操作系统中所讲的有些不同,在 Oracle 数据库中,逻辑结构为 Oracle 引入的结构,而物理结构为操作系统所拥有的结构。曾有不少学生问过我同样的一个问题,那就是 Oracle 为什么要引入逻辑结构呢?首先可能是为了增加 Oracle 的可移植性。Oracle 公司声称它的 Oracle 数据库是与 IT平台无关的,即在某一厂家的某个操作系统上开发的 Oracle 数据库(包括应用程序等)可以几乎不加修改地移植到另一厂家的另外的操作系统上。要做到这一点就不能直接操作数据文件,因为数据文件是跟操作系统相关的。其次可能是为了减少 Oracle 从业人员学习的难度。因为有了逻辑结构 Oracle 的从业人员就可以只对逻辑结构进行操作,而在所有的 IT 平台上逻辑结构的操作都几乎完全相同,至于从逻辑结构到物理结构的映射(转换)是由 Oracle 数据库管理系统来完成的。下载后可任意编辑6.2 Oracle 数据库中存储结构之间的关系其实图 6-1 类似于一个 Oracle 数据库的存储结构之间关系的实体-关系图。假如读者学过实体-关系模型(E-R 模型)的话,从图 6-1 中可以很容易地得到 Oracle 数据库中存储结构之间的关系。为了帮助那些没有学过 E-R 模型的读者理解图 6-1,也是为了帮助那些学过但已经忘的差不多了的读者恢复一下记忆,在下面对 E-R 模型和图 6-1 给出一些简单的解释。在图 6-1 中,园角型方框为实体,实线表示关系,单线表示一的关系,三条线(鹰爪)表示多的关系。于是可以得到:每个数据库是由一个或多个表空间所组成(至少一个)。每个表空间基于一个或多个操作系统的数据文件(至少一个)。每个表空间中可以存放有零个或多个段(Segment)。每个段是由一个或多个区段(Extent)所组成。每个区段是由一个或多个连续的 Oracle 数据块所组成。每个 Oracle 数据块是由一个或多个连续的操作系统数据块所组成。每个操作系统数据文件是由一个或多个区段(Extent)所组成。每个操作系统数据文件是由一个或多个操作系统数据块所组成。有关段,区段,和 Oracle 数据块等我们在接下来的章节中要详细地介绍。6.3 表空...