Oracle 逻辑存储结构
第2章 Oracle数据库的体系结构

因此,Oracle实例是由内存空间和Oracle 进程两部分组成。
Oracle实例结构图
1.系统全局区SGA
数据缓存区(database buffer cache) :最近 使用过的数据 。 重做日志缓冲区(redo log buffer) :记录了 用户对数据库执行的操作,被循环使用 。 共享池(shared pool) :包含了库缓存区( library cache)、数据字典缓存区(dictionary cache)、并行执行消息缓冲区(buffers for parallel execution messages),以及用于系 统控制的各种内存结构。
数据文件又可以分为以下几种:
系统数据文件 回滚数据文件 临时数据文件 用户数据文件 系统辅助数据文件 示例数据文件
2.1.2 日志文件
日志文件记录了用户对数据库的修改信息( 如增加、删除、修改),名字通常为 REDO*.LOG格式。
日志文件也叫重做日志文件或重演日志文件 (Redo Log Files)。 日志组是日志文件的逻辑组织单元,每个日志 组中有一个或多个日志文件。 同一个日志组中的多个日志文件具有相同的信 息,它们是镜相关系
用户进程和服务进程之间的对应关系是由 Oracle数据库的工作模式决定的。数据库通 常有两种工作模式:
专用服务器模式 共享服务器模式
3.后台进程(background process)
Oracle实例启动时,为了保证该实例的正常使 用,系统将为该实例启动一些后台进程。 这些进程是操作数据库的基础,不管有没有用 户连接数据库,这些进程都会被启动。
Oracle Storage

一、基本的Oracle存储结构:表空间与数据文件Oracle数据库中具有两种类型的存储:物理存储和逻辑存储。
上面的Oracle存储结构模型中,可以看出下列要素:∙每个数据库(Database)都必须由一个或多个表空间(Tablespace)组成。
每个表空间都必须属于并且只属于一个数据库。
∙每个表空间都必须由一个或多个数据文件(Datafile)组成。
每个数据文件都必须属于并且只属于一个表空间。
∙每个数据文件都必须由一个或多个操作系统块(Operation System Block)组成。
每个操作系统块都必须属于并且只属于一个数据文件。
∙每个表空间都可以包含一个或多个段(Segment)。
每个段都必须存在并且只能存在于一个表空间内。
∙每个段都必须由一个或多个区间(Extent)组成。
每个区间都必须属于并且只属于一个段。
∙每个区间都必须由一个或多个Oracle数据块(Oracle Block)组成。
每个Oracle 数据块都必须属于并且只属于一个区间。
∙每个区间都必须被定位并且只能定位在一个数据文件内。
数据文件中的空间可以被分配为一个或多个区间。
∙每个Oracle数据块都必须由一个或多个操作系统块组成。
每个操作系统块都可以是并且只能是一个Oracle数据块的部分。
1、物理存储结构物理结构是操作系统操作Oracle数据库时能够看见的结构。
1.1、Oracle数据文件数据文件由下列3部分组成:头部、区间(已分配的空间)以及空闲空间(未分配的空间)。
oracle16数据文件的头部(Header)将其标识为数据库的一部分,并且存储了该数据文件的细节,细节包括数据文件所属的表空间以及最后执行的检查点。
这样,Oracle就能够在启动时检查所有相关文件是否同步。
数据文件的剩余部分由区间和空闲空间组成,通过创建、删除和更改Oracle的段(Segment)逻辑存储组件就可以对这些剩余部分进行管理。
每个Oracle数据文件都只属于一个表空间。
描述oracle数据库体系结构的组成及其关系。

描述oracle数据库体系结构的组成及其关系。
Oracle数据库体系结构由以下几个部分组成:1. 实例(Instance):实例是在计算机内存中运行的一个进程,负责管理数据库的操作。
每个实例都有自己的内存空间和进程,可以同时运行多个实例。
2. 数据库(Database):数据库是一个存储数据的容器,包含了表、视图、索引等对象。
一个实例可以管理多个数据库,每个数据库由一个或多个数据文件组成。
3. 数据文件(Data File):数据文件是用来存储数据库的实际数据的文件,包含了表、索引等对象的数据。
一个数据库可以有多个数据文件,每个数据文件具有独立的文件名和路径。
4. 控制文件(Control File):控制文件是用来记录数据库的结构和状态信息的文件,包括数据库名、数据文件的路径、表空间的信息等。
一个数据库通常有一个或多个控制文件。
5. 日志文件(Redo Log File):日志文件是用来记录数据库的变化操作的文件,包括数据更改、事务回滚等。
日志文件用于实现数据库的恢复和数据的一致性。
每个数据库通常有多个日志文件。
6. 表空间(Tablespace):表空间是数据库中逻辑数据存储的单位,用来管理和组织对象。
每个表空间由一个或多个数据文件组成,不同表空间可以包含不同的数据对象。
7. 段(Segment):段是逻辑存储结构的基本单位,是指数据库中的一个连续空间。
每个表、索引等对象都占用一个或多个段。
8. 区(Extent):区是段的扩展单位,是一组连续的数据块。
一个段由多个区组成。
9. 块(Data Block):块是数据库存储的最小单位,通常是8KB大小。
每个数据文件由多个块组成。
以上组成部分之间的关系如下:- 实例与数据库:一个实例可以管理多个数据库,每个数据库都有自己的实例。
- 数据库与数据文件:一个数据库可以由一个或多个数据文件组成,每个数据文件存储数据库的实际数据。
- 实例与控制文件:一个实例通常有一个或多个控制文件,控制文件记录了数据库的结构和状态信息。
Oracle体系结构研究

Oracle体系结构研究摘要:阐述了Oracle数据库的基本架构和Oracle数据库理论中的主要概念。
Oracle体系结构由存储结构、内存结构和进程结构组成,其中,存储结构由物理存储结构及逻辑存储结构组成;内存结构由SGA和PGA组成;进程结构由用户进程和Oracle进程组成。
关键词:ORACLE体系结构;存储结构;内存结构;进程结构1 Oracle的存储结构Oracle的存储结构分为物理存储结构和逻辑存储结构。
1.1 物理存储结构主要由数据文件、控制文件、联机日志文件及数据库实例构成。
Oracle数据库中有许多初始化参数,这些参数用于对整个数据库进行设置或调整,如设置数据库名、数据库块大小、控制文件的名称和位置、数据库实例数等信息。
Oracle 把这些参数存放在一个文件中,这个文件就叫初始化参数文件。
启动数据库时,Oracle会读取参数文件中的值,并根据这些值对数据库实例(instance)进行设置。
具体说是Oracle先从初始化参数文件中获得控制文件的名称及位置,打开控制文件,然后再从控制文件中读取数据文件和联机日志文件的名称和位置,打开它们,因为表、索引等对象的数据就存放在数据文件中,从而就打开了数据库。
1.1.1 控制文件Oracle启动数据库时会访问控制文件,控制文件是在创建数据库的时候创建的,它是一个很小的二进制文件,记录了数据库的名称、创建数据库的时间、数据文件的名称和位置、联机日志文件的名称和位置及表空间等信息。
所以说一个数据库的控制文件是相当重要的,一旦被损坏,数据库将不能正常启动和运行。
所以DBA应该镜像控制文件,把每个镜像的控制文件分布到不同的物理磁盘上,发生灾难时既使其中一个控制文件被损坏,也不会使整个数据库限于瘫痪。
1.1.2 数据文件当用户在Oracle中创建数据库的时候,就创建了一个或多个数据文件,表和索引等对象的数据就物理地存放在数据文件中。
一个表的数据可能会存储在多个数据文件中,但一个数据文件只能属于一个数据库。
oracledb的逻辑结构

oracledb的逻辑结构1. 实例(instance)实例是Oracle数据库的最高层次,它包含了数据库的内存结构和后台进程。
每个Oracle数据库都有一个对应的实例。
实例负责管理数据库的内存和进程,以及处理用户的请求。
2. 数据库(database)数据库是由多个表空间组成的,每个表空间又包含多个数据文件。
数据库是存储数据的物理结构,用于持久化存储数据。
一个Oracle 数据库可以包含多个数据库。
3. 表空间(tablespace)表空间是逻辑上的存储区域,用于组织和管理数据库中的数据。
每个表空间包含多个数据文件,用于存储表和索引等数据库对象。
不同的表空间可以有不同的存储特性和管理策略。
4. 数据文件(data file)数据文件是表空间的组成部分,用于存储表和索引等数据库对象的数据。
一个数据库可以包含多个数据文件,每个数据文件都有固定的大小和位置。
5. 段(segment)段是逻辑上的存储单位,每个段对应一个表、索引或者其他数据库对象。
段由一组连续的数据块组成,用于存储实际的数据。
6. 数据块(data block)数据块是数据库的最小存储单位,每个数据块包含一定数量的字节。
数据库中的数据被分割成多个数据块进行存储和管理。
7. 扩展(extent)扩展是一组连续的数据块,用于分配给段进行存储。
扩展是数据库的分配单位,当段需要更多的存储空间时,会向其分配新的扩展。
8. 逻辑块(logical block)逻辑块是Oracle数据库中数据的逻辑单位,每个逻辑块包含一定数量的字节。
逻辑块是对数据块的逻辑封装,用于提供更高层次的数据管理。
9. 段空间管理(segment space management)段空间管理是指如何分配和管理段的存储空间。
Oracle数据库支持两种段空间管理方式:自动段空间管理(Automatic Segment Space Management, ASSM)和手动段空间管理(Manual Segment Space Management)。
Oracle体系结构概述

Oracle 体系结构概述完整的Oracle 数据库系统通常由两个部分组成:实例(INSTANCE )和数据库(DATABASE )。
数据库是由一系列物理文件的集合(数据文件,控制文件,联机日志,参数文件等);实例则是由一组Oracle 后台进程/线程以及在服务器分配的共享内存区。
实例和数据库有时可以互换使用,不过二者的概念完全不同。
实例和数据库之间的关系是:数据库可以由多个实例装载和打开,而实例可以在任何时间点装载和打开一个数据库。
准确地讲,一个实例在其生存期中最多只能装载和打开一个数据库。
如果要想再打开其他数据库,必须先丢弃这个实例,并创建一个新的实例。
数据库的主要功能是保存数据,实际上可以将数据库看作是存储数据的容器。
数据库的存储结构也就是数据库存储数据的方式,Oracle 数据库的存储结构分为逻辑存储结构和物理存储结构,这两部分是相互独立但又密切相关的。
逻辑存储结构主要用于描述在Oracle 内部的组织和管理数据的方式,而物理存储结构则用于描述在Oracle 外部,即操作系统中组织和管理数据的方式。
Oracle 对逻辑存储结构和物理存储结构的管理是分别进行的,两者之间不直接影响。
因此Oracle 的逻辑存储结构能够适用于不同的操作系统平台和硬件平台,而不需要考虑物理实现方式。
在启动Oracle 数据库服务器时,实际上是在服务器的内存中创建一个Oracle 实例(即在服务器内存中分配共享内存并创建相关的后台进程),然后由这个实例来访问和控制磁盘中的数据文件。
图2-1以最简单的形式展示了Oracle 实例和数据库。
Oracle 有一个很大的内存块,称为系统全局区(SGA )。
文件文件文件文件文件数据库SGA后台进程后台进程后台进程后台进程后台进程后台进程后台进程实例图2-1 Oracle 实例和数据库当用户连接数据库时,实际上是连接到实例中,由实例负责与数据库通信息,然后再将处理结构返回给用户。
实验3—Oracle逻辑存储结构

实验3 Oracle逻辑存储结构
一、实验环境
Oracle 10g
二、实验目的
(1)了解Oracle逻辑存储结构。
(2)掌握Oracle表空间管理。
(3)学会利用OEM管理表空间。
三、实验内容
(1)创建表空间
(2)编辑表空间
(3)查看表空间信息
(4)删除表空间
四、实验步骤
(1)创建表空间MyTblSpace
①选择OEM管理选项的“表空间项”
②单击“创建”按钮
③填写所建表空间的基本信息(按下图填写)
④单击“添加”按钮,将MyTblSpace表空间关联到物理文件(按下表填写)
⑤单击“确定”按钮,完成MyTblSpace表空间的创建
(2)编辑MyTblSpace表空间
①选择OEM管理选项的“表空间项”
②搜索“名称”文本框填写“MyTblSpace”并单击“开始”按钮
③单击“编辑”按钮
④单击上图中红色框框起的连接,将存储改为自动扩展,按下图填写后单击“继续”按钮
(3)查看表空间信息
①选择OEM管理选项的“表空间项”
②搜索“名称”文本框填写“MyTblSpace”并单击“开始”按钮
③单击上图中红色框框起的连接,可查看MyTblSpace表空间的信息。
(4)删除MyTblSpace表空间
①选择OEM管理选项的“表空间项”
②搜索“名称”文本框填写“MyTblSpace”并单击“开始”按钮
③单击“删除”按钮
④选中“从操作系统中删除关联的数据文件”,并单击“是”按钮。
oracle 表空间物理文件的名称及大小 路径

oracle 表空间物理文件的名称及大小路径摘要:1.Oracle 表空间的概念2.Oracle 表空间的物理文件3.物理文件的命名规则4.物理文件的大小5.物理文件的路径正文:Oracle 表空间是Oracle 数据库中的一个重要概念,它是一个逻辑存储结构,用于存储表和索引等数据库对象。
在Oracle 数据库中,表空间是由一组物理文件组成的,这些物理文件实际上存储了表空间中的数据。
一、Oracle 表空间的概念表空间是Oracle 数据库中数据的基本组织单位,它是一个逻辑存储结构,可以包含多个表和索引等数据库对象。
表空间由一组物理文件组成,这些物理文件存储了表空间中的数据。
二、Oracle 表空间的物理文件1.物理文件的命名规则Oracle 表空间的物理文件名通常是以表空间的名称命名的,文件名的格式为:<表空间名>_<序号>_<文件扩展名>。
其中,表空间名表示表空间的名称,序号表示物理文件在表空间中的顺序,文件扩展名表示文件的类型,例如:.dbf、.df、.d0 等。
2.物理文件的大小Oracle 表空间的物理文件大小可以根据需要进行设置。
在创建表空间时,可以指定物理文件的最大容量,也可以设置自动扩展物理文件的大小。
物理文件大小的设置可以根据数据库的实际需求进行调整,以保证数据库的性能和存储空间的利用率。
3.物理文件的路径Oracle 表空间的物理文件路径通常位于数据库服务器的文件系统中,具体路径可以通过查询数据库的系统视图或使用操作系统的文件查找工具进行获取。
需要注意的是,物理文件的路径可能会因为数据库的备份、归档等操作而发生变化。
三、总结Oracle 表空间是由一组物理文件组成的,这些物理文件存储了表空间中的数据。
物理文件的命名规则、大小和路径都是数据库管理员在创建表空间时需要考虑的重要因素。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Oracle 逻辑存储结构逻辑存储结构是Oracle 数据库存储结构的核心内容,对Oracle 数据库的所有操作都会涉及到其逻辑存储结构。
数据库的逻辑结构是从逻辑的角度分析数据库的构成,即创建数据库后形成的逻辑概念之间的关系。
在逻辑上,Oracle 将保存的数据划分为一个个小单元来进行存储和维护,高一级的存储单元由一个或多个低一级的存储单元组成。
Oracle 的逻辑存储单元从小到大依次为:数据块(DA TA BLOCKS )、盘区(EXTENT )、段(SEGMENTS )和表空间(TABLE SPACES ),图2-2显示了各逻辑单位之间的关系。
数据库...表空间表空间段段盘区数据块盘区数据块段段数据库...表空间表空间段段盘区数据块盘区数据块段段图2-2 数据库的逻辑存储组成由图2-2可知,Oracle 数据库由多个表空间组成,而表空间又由许多段组成,段由多个盘区组成,盘区又由多个数据块组成。
1 数据块数据块是Oracle 用来管理存储空间的最小单元,也是执行数据库输入输出操作时的最小单位。
相对应地,操作系统执行输入输出操作的最小单位为一个操作系统块的大小。
在操作系统中,执行I/O 操作是以操作系统块为单位,而在Oracle 中,执行的I/O 操作以Oracle 数据块为单位。
Oracle 块的大小是操作系统块大小的整数倍。
以Windows NT 操作系统为例,NTFS 格式的磁盘分区一般为4KB 大小,因此Oracle 块的大小为8KB 等。
数据块的标准大小由初始化参数DB_BLOCK_SIZE 确定,具有标准大小的块被称为标准块。
Oracle 支持在同一个数据库中使用多种大小的块,与标准块大小不同的块称为非标准块。
可以通过查询V$PARAMETER 数据字典,可以获得参数DB_BLACK_SIZE 的值,该参数值同时也是数据块的尺寸大小。
例如:SQL> select name,value2 from v$parameter where name ='db_block_size';NAME V ALUE--------------------------- --------------------------db_block_size 8192在数据块中可以存储各种类型的数据,如表数据、索引数据、簇数据等。
无论数据块中存放何种类型的数据,块都具有相同的结构,图2-3列出一个Oracle 块的基本结构。
块头部表目录行目录空闲空间行空间图2-3 数据块的结构数据块的各组成部分分别介绍如下:●块头部块头部包含块中一般的属性信息,如块的物理地址、块所属的段的类型(如数据段、索引段、回退段等)。
●表目录如果块中存储的数据是表数据(表中一行或多行记录),则表目录中存储关于该表的相关信息。
●行目录如果块中存储的数据为表数据(表中的一行或多记录),则在行目录中保存这些记录的相关信息。
●空闲空间空闲空间是块中尚未使用的存储空间。
当向数据块中添加新数据时,将减小空闲空间。
●行空间行空间是块中已经使用的存储空间,在行空间中存储了数据库对象的数据。
例如,表中的一行或多行记录。
块头部、表目录和行目录共同组成块的头部信息区。
块的头部信息区中并不存放实际的数据库数据,它只起到引导系统读取数据的作用。
因此,如果头部信息区被损坏,则整个数据块将失效,数据块中存储的数据将丢失。
而空闲空间和行空间则共同构成块的存储区,空闲空间和行空间的总和即是块的总容量。
2 盘区盘区是由一系列物理上连续存放的数据块所构成的Oracle存储结构,由一个或多个数据块组成一个盘区,而一个或多个盘区组成一个段。
当一个段中的所有空间被使用完后,系统将自动为该段分配一个新的盘区。
盘区是Oracle存储分配的最小单位。
在Oracle中创建带有实际存储结构的数据库对象时,Oracle将为对象分配相应的盘区,以构成一个段来提供存储空间。
当段中已经分配的区写满后,Oracle将为段分配一个新的区,以便容纳更多的数据库。
3 段段是由一系列区组成的,它也不再是存储空间的分配单位,而是一个独立的逻辑存储结构。
对于具有独立存储结构的对象,它的数据全部存储在保存它的段中。
一个段只属于一个特定的数据库对象,每当创建一个具有独立段的数据库对象时,Oracle将为它创建一个段。
例如,在Oracle中创建表时会为它分配若干个区,以组成表的数据段。
在Oracle中,不同类型的数据库对象拥有不同类型的段。
根据段中存放的数据库对象类型,可以将段分为几种类型:数据段、索引段、临时段、回退段和LOB段。
1.数据段在数据段中保存的是表中的记录。
当用户创建表的同时,Oracle系统将为表创建数据段。
Oracle中所有未分区的表都使用一个段来保存数据。
当表中的数据增加时,数据段也将变大,数据段的增大过程是通过添加新盘区实现的。
在表空间中创建了多少个表,相应地在该表空间就有同量的数据段,并且数据段的名称与它对应的表名相同。
2.索引段在索引段中保存的是索引中的索引信息。
在使用CREATE INDEX语句创建索引,或者在定义约束是自动创建索引的同时,Oracle将为索引创建它的索引段。
3.临时段当用户执行查询等操作时,Oracle可能会需要使用到一些临时存储空间,用于临时保存解析过的查询语句,以及在排序过程中产生的临时数据。
Oracle会自动在专门用于存储临时数据的表空间为操作分配临时段。
在执行如下几种类型的SQL语句时,Oracle都会在临时表空间中为语句操作分配一个临时段:●CREATE INDEX●SELECT …ORDER BY●SELECT DISTINCT●SELECT ... GROUP BY●SELECT … UNION●SELECT … INTERSECT●SELECT … MINUS如果经常需要执行上面类型的语句,最好调整SORT_AREA_SIZE初始化参数来增大排序区,使排序操作尽量能够在内存中完成,以获得更好的性能。
当操作执行完毕后,为该操作分配的临时段将被释放。
当带有排序的操作十分频繁时,临时段的分配和释放也将十分频繁,因此为了提高性能,Oracle创建了一个独立的临时表空间,并在其中存放临时段,这样可以避免与其他表空间争用存储空间。
4.回退段回退段用于保存回退条目,Oracle将被用户修改前的值保存在回退条目中。
利用这些信息,用户可以撤销未提交的操作,Oracle则可以利用回退段来维护数据库的读写一致性,并能够从实例崩溃中时进行恢复。
在Oracle 11g中,回退也被称为撤销管理,并且不需要为数据库创建多个回退段,也不需要管理回退段,只需要创建一个撤销表空间。
对回退段的管理由Oracle自动完成,这就是自动撤销管理。
5.LOB段如果表中含有如CLOB和BLOB等大对象类型数据时,系统将创建LOB段以存储相应的大型对象数据。
LOB段独立于保存表中其他数据的数据段。
4 表空间表空间是在Oracle中用户可以使用的最大的逻辑存储结构,用户在数据库中建立的所有内容都被存储在表空间中。
Oracle使用表空间将相关的逻辑结构组合在一起,表空间在物理上与数据文件相对应,每一个表空间是由一个或多个数据文件组成的,一个数据文件只可以属于一个表空间,这是逻辑与物理的统一。
所以存储空间在物理上表现为数据文件,而在逻辑上表现为表空间。
数据库管理员可以创建若干个表空间,也可以为表空间增加或删除数据文件。
表空间通过数据文件来扩大,表空间大小等于构成该表空间的所有数据文件大小之和。
由于表空间物理上对应了操作系统的一个或多个数据文件,因此在表空间中创建的对象在物理上可以有如下两种存储方式:●若表空间只对应一个数据文件,该表空间中所有的对象都存储在这个数据文件中。
●若表空间对应于多个数据文件,Oracle可将一个对象存储在该表空间的任意一个数据文件中。
事实上,Oracle可以将同一个对象的数据分布在表空间的多个数据文件中。
在创建数据库时,Oracle会自动创建一些默认的表空间,其中除了用于存储用户数据的普通表空间外,在一个数据库中还会存在三种类型的表空间:SYSTEM表空间、撤销表空间和临时表空间。
这三种表空间的创建、维护与管理都与普通的用户表空间不同,在本节中将分别进行简单介绍。
1.SYSTEM表空间在每一个数据库中,都有一个名为SYSTEM的表空间,即系统表空间。
该表空间是在创建数据库时自动创建的,在SYSTEM表空间中保存有如下信息:●在SYSTEM表空间中存储数据库的数据字典和内部系统表基表。
数据字典是一组保存数据库自身信息的内部系统表和视图。
●在SYSTEM表空间中存储所有PL/SQL程序的源代码和解析代码,包括存储过程、函数、包和触发器等。
在需要保存大量PL/SQL程序的数据库中,应当设置足够大的SYSTEM表空间。
●在SYSTEM表空间中存储数据库对象(如视图、对象类型说明、同义词和序列)的定义。
当在数据库中创建一个新的对象时,对象的实际数据可以存储在其他表空间中,但对象的定义信息切保存在SYSTEM表空间中。
通过使用如下的语句,可以查看数据库中数据字典的信息:select * from dict查看内部系统表的SQL:select * from v$fixed_view_definition数据库管理员DBA对数据库系统中的数据字典必须有一个很深刻的了解,必须准备一些基础的SQL语句,通过这些SQL可以立即了解系统的状况和数据库的状态。
大量的读了操作、少量的写入操作是该表空间的一个显著的特点。
因此SYSTEM表空间对于Oracle数据库而言是至关重要的。
一般在SYSTEM表空间中只应该保存属于SYS模式的对象,即与Oracle自身相关的数据,而用户在对象和数据都应当保存在非SYSTEM表空间中。
另外,在10g和11g中,Oracle新增了表空间SYSAUX,以此作为SYSTEM表空间的辅助表空间,SYSAUX表空间一般不用于存储用户数据,并由Oracle系统内部自动维护。
2.撤销表空间撤销表空间是特殊的表空间,它专门用来在自动撤销管理方式下存储撤销信息,即回退信息。
当数据库进行更新、插入、删除等操作的时候,新的数据被更新到原来的数据文件中,而旧的数据就被放到撤销段中。
如果数据需要回滚,那么可以从撤销段将数据再复制到数据文件中,来完成数据的回退。
在系统恢复的时候,撤销段可以用来撤销没有被提交的数据,解决系统的一致性问题。
除了撤销段外,在撤销表空间中不能建立任何其他类型的段,即任何数据库用户,都不能在撤销表空间中创建数据库对象(如表、索引等)。
在撤销表空间中,存在大量的写入操作,而只有少量的读取操作。
数据库管理员可以为数据库创建多个撤销表空间,但是每个数据库实例最多只能使用一个撤销表空间。