Oracle学习1-基础概念(整理)

一、关系型数据库与数据库管理系统

        在关系数据模型中,关系可以看成由行和列交叉组成的二维表格,表中一行称为一个元组,可以用来标识实体集中的一个实体。表中的列称为属性,给每一列起一个名称即为属性名,表中的属性名不能相同。列的取值范围称为域,同列具有相同的域,不同的列也可以有相同的域。表中任意两行(元组)不能相同。能唯一标识表中不同行的属性或属性组(即多个属性的组合)称为主键或复合主键。


二、Oracle 数据库的体系结构概述

            在Oracle数据库管理系统中有3个重要的概念需要理解,那就是实例(Instance)、数据库(Database)和数据库服务器(Database Server)。其中,实例是指一组Oracle后台进程以及在服务器中分配的共享内存区域;数据库是由基于磁盘的数据文件、控制文件、日志文件、参数文件和归档日志文件等组成的物理文件集合;数据库服务器是指管理数据库的各种软件工具(比如,sqlplus、OEM等)和实例及数据库三个部分。从实例与数据库之间的辩证关系来讲,实例用于管理和控制数据库;而数据库为实例提供数据。一个数据库可以被多个实例装载和打开;而一个实例在其生存期内只能装载和打开一个数据库。

Oracle学习1-基础概念(整理)


三、逻辑存储结构

Oracle学习1-基础概念(整理)

    1、数据块(Data Blocks)

            数据块是Oracle逻辑存储结构中的最小的逻辑单位,也是执行数据库输入输出操作的最小存储单位。Oracle数据存放在“Oracle数据块”中,而不是“操作系统块”中。通常Oracle数据块是操作系统块的整数倍,如果操作系统快的大小为2048B,并且Oracle数据块的大小为8192B,则表示Oracle数据块由4个操作系统块构成。Oracle数据块有一定的标准大小,其大小被写入到初始化参数DB_BlOCK_SIZE中。另外,Oracle支持在同一个数据库中使用多种大小的快,与标准块大小不同的块就是非标准块。

    2、数据区(Extend)、段 (Segment)

              数据区(也可称作数据扩展区)是由一组连续的Oracle数据块所构成的Oracle存储结构,一个或多个数据块组成一个数据区,一个或多个数据区再组成一个段(Segment)。当一个段中的所有空间被使用完后,Oracle系统将自动为该段分配一个新的数据区,这也正符合Extent这个单词所具有的“扩展”的含义,可见数据区是Oracle存储分配的最小单位,Oracle就以数据区为单位进行存储控件的扩展。
      使用数据区的目的是用来保存特定数据类型的数据,也是表中数据增长的基本单位。在Oracle数据库中,分配存储空间就是以数据区为单位的。一个Oracle对象包含至少一个数据区。设置一个表或索引的存储参数包含设置它的数据区大小。

    4、表空间 (Table Space)

                  Oracle使用表空间将相关的逻辑结构(比如段、数据区等)组合在一起,表空间是数据库的最大逻辑划分区域,通常用来存放数据表、索引、回滚段等数据对象(即Segment),任何数据对象在创建时都必须被指定存储在某个表空间中。表空间(属逻辑存储结构)与数据文件(属物理存储结构)相对应,一个表空间由一个或多个数据文件组成,一个数据文件只属于一个表空间;Oracle数据的存储空间在逻辑上表现为表空间,而在物理上表现为数据文件。举个例子来说,表空间相当于操作系统中的文件夹,而数据文件就相当于文件夹中的文件。每个数据库至少有一个表空间(即SYSTEM表空间),表空间的大小等于所有从属于它的数据文件大小的总和。

四、物理存储结构

Oracle学习1-基础概念(整理)

    1、数据文件

            数据文件是用于保存用户应用程序数据和Oracle系统内部数据的文件,这些文件在操作系统中就是普通的操作系统文件,Oracle在创建表空间的同时会创建数据文件。Oracle数据库在逻辑上由表空间组成,每个表空间可以包含一个或多个数据文件,一个数据文件只能隶属于一个表空间。

    2、控制文件

        控制文件是一个二进制文件,它记录了数据库的物理结构,其中主要包含数据库名、数据文件与日志文件的名字和位置、数据库建立日期等信息。控制文件一般在Oracle系统安装时或创建数据库时自动创建,控制文件所存放的路径由服务器参数文件spfileorcl.ora的control_files参数值来指定。

      由于控制文件存放有数据文件、日志文件等的相关信息,因此,Oracle实例在启动时必须访问控制文件。如果控制文件正常,实例才能加载并打开数据库;但若控制文件中记录了错误的信息,或者实例无法找到一个可用的控制文件,则实例无法正常启动。

    

    3、日志文件

            日志文件的主要功能是记录对数据所作的修改,对数据库所作的修改几乎都记录在日志文件中。在出现问题时,可以通过日志文件得到原始数据,从而保障不丢失已有操作成果。Oracle的日志文件包括重做日志文件(Redo Log File)和归档日志文件(Archive Log File),它们是Oracle系统的主要文件之一,尤其是重做日志文件,它是Oracle数据库系统正常运行所不可或缺的。下面将介绍这两种日志文件。