Oracle基本术语

目录

1.数据字典

2.数据文件

3.控制文件

4.日志文件

5.表空间

6.段

7.区

8.数据块


摘自《Oracle 12c 从入门到精通》1.3 Oracle基本术语

1.数据字典

数据字典由一系列拥有数据库元数据信息的数据字典表和用户可以读取的用户字典视图组成,存放Oracle数据库所用的有关信息,在Oracle数据库中,数据字典可以看成一组表和视图结构。他们存放在SYSTEM表空间中,其中主要内容包括如下:
  • 系统空间信息,即分配了多少空间,当前使用了多少空间等

  • 数据库中所有模式对象的信息,如表、视图、簇、同义词及索引等等

  • 例程运行的性能及统计信息

  • Oracle用户的名字

  • 用户访问或使用的审计信息

  • 用户及角色被授予的权限信息

  • 列的约束信息完整性

  • 列的缺省值

 

2.数据文件

一个Oracle数据库可以拥有一个或多个无力的数据文件。数据文件包含了全部数据库数据。逻辑数据库结构的数据也物理的存储在数据库的数据文件中。数据文件具有如下特征:
  • 一个数据库可拥有多个数据文件,但一个数据文件只对应一个数据库

  • 可以对数据文件进行设置,使其在数据库空间用完的情况下自动扩展

  • 一个表空间(数据库存储的逻辑单位)可以由一个或多个数据文件组成

当数据被修改或是插入新数据时,不必立即写入数据文件,而是把数据暂时存储在内存,由Oracle的后台进程DBWR来决定何时将其写入数据文件中,这是为了减少磁盘I/O次数,提高系统效率。
 
数据文件是用于存储数据库数据的文件,如表、索引数据等都物理的存储在数据文件中。这就把数据文件与表空间联系在一起了,表空间是一个或多个数据文件在逻辑上的统一组织,而数据文件是表空间在物理上的存在形式。没有数据文件的存在,表空间就失去了存在的物理基础,而离开了表空间,Oracle就无法获得数据文件的信息,无法访问到对应的数据文件。
 
数据文件大小由两种方式表示,即字节和数据块。数据块是Oracle数据库中最小的数据组织单位,它的大小由参数“DB_BLOCK_SIZE”来确定。
 

3.控制文件

数据库控制文件是一个很小的二进制文件,它维护着数据库的全局物理结构,用以支持数据库成功的启动和运行。每一个数据库都有一个控制文件,其中主要包含下列信息类型:
  • 数据库名称

  • 数据库数据文件和日志文件的名字和位置

  • 数据库建立日期
  • 日志历史
  • 归档日志信息
  • 表空间信息
  • 数据文件脱机范围
  • 数据文件拷贝信息
  • 备份组和备份块信息
  • 数据备份文件和重做日志信息
  • 当前日志序列数
  • 检查点信息(CHECKPOINT)
一旦控制文件不幸被毁损,数据库便无法顺利启动。也因为如此,控制文件的管理与维护显得格外重要。

 

4.日志文件

日志文件也称为重做日志文件(Redo Log File)。它用于记录对数据库的所有修改信息,它是保证数据库安全和数据库备份与恢复的文件。重做日志文件主要在数据库出现故障时使用。

 

5.表空间

表空间是Oracle数据库中最大的逻辑结构。它提供了一套有效组织数据的方法,是组织数据和进行空间分配的逻辑结构,可以将表空间看作是数据库对象的容器。

 

一个数据库通常包括SYSTE、SYSAUX和TEMP三个默认表空间,一个或多个临时表空间,还有一个撤销表空间和几个应用程序专用的表空间,可以通过创建新的表空间来满足需求,创建时需要决定表空间的类型:
  • 系统表空间(System Tablespace)
        系统表空间包括SYSTEM和SYSAUX表空间,系统表空间是所有数据库必须具备的,自动创建,一般存放在Oracle数据字典表及相应数据。
  • 永久表空间(Permanent Tablespace)
      永久表空间用于保存永久性数据,如系统数据、应用系统数据。每个用户都会被分配一个永久表空间,以便保存其相关数据。除了撤销表空间外,相对于临时表空间而言,其他表空间都是系统表空间,如系统表空间。
  • 临时表空间(Temporary Tablespace)
        一般安装之后只有一个TEMP临时表空间。由于Oracle工作时需要一些临时的磁盘空间,这些空间主要为查询时带有排序的算法所用,如Group by、Order by等,用完后立即释放。
  • 撤销表空间(Undo Tablespace)
        从Oracle 9i后,提供了一种全新的撤销空间管理方式,即“自动撤销管理(SMU )”,而于此相对应,通过回滚段进行撤销空间管理的方式被称为“手工撤销管理(RBU)”。
  • 大文件表空间和小文件表空间
        从Oracle 10g开始,Oracle引入了大文件表空间,这是一个新增的表空间类型。大文件表空间不像传统的表空间那样由多个数据文件组成,而是为了超大型数据库而设计的。如果一个超大型数据库具有上千个数据文件,则更新数据文件头部信息的操作可能会花费很长时间。如果使用大文件表空间可以使用大数据文件来减少文件数量,从而减少更新时间。
        一个大空间表空间中对应一个单一的数据文件或临时文件,但是文件可以达到4G数据块大小。理论上当数据块大小为2KB时,大文件表空间可以达到8TB,数据块大小为4KB时,大文件表空间可以达到32TB。以此类推。
 
表空间的作用:
  • 控制用户所占用的空间配额
  • 控制数据库所占用的磁盘空间
  • 可以将表空间设置成只读状态而保证大量静态数据不被修改
  • 能将一个表的数据和这个表的索引数据分别存储在不同的表空间中,可以提高数据库的I/O性能,并有利于进行数据库部分备份和恢复管理工作
  • 表空间提供了一个备份和恢复的单位,Oracle可按表空间备份和恢复
 

6.段

段用于存储表空间中某一中特定的具有独立存储结构的对象的所有数据,它由一个或多个区组成。在表空间中,一个段包含来自多个文件的数据区,段可以跨越数据文件。按照段中所存储数据的特征和用途的不同,可以将段分成数据段、索引段、临时段和回滚段几种类型。

 

7.区

区是由物理上连续存放的块构成。区是Oracle存储分配的最小单位,由一个或多个块组成,一个或多个区组成段。

 

8.数据块

数据块是最小的数据管理单位,也是执行输入输出时的最小单位。相应的,操作系统执行输入输出操作的最小单位是操作系统块。Oracle块的大小是操作系统块的整数倍,可以在安装时选择“自定义安装”来指定,也可用CREATE DATABASE语句创建数据库实例是指定。最小2KB,最大64KB。

 

无论数据块中存放何种类型的数据,如表数据、索引数据和簇数据等,每个数据块都有相同的结构。基本结构如下:
  • 块头部:包含块中一般属性信息,如块的物理地址、块所属的段的类型等
  • 表目录:若块中存储的是表数据(表中的一行或多行记录),则表目录存储关于该表的信息
  • 行目录:存储该块中有效的行信息
  • 空闲空间:数据块中尚未使用的存储空间,当向数据块中添加新数据时,将减少空闲空间
  • 行空间:行空间是块中已经使用的存储空间,在行空间中存储了表或索引的数据
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值