文档详情

计算机专业教材-第7章回滚段管理.pdf

发布:2018-05-27约3.97万字共28页下载文档
文本预览下载声明
下载 第7章 回滚段管理 回滚段收集开始事务处理之前存在的数据的“前”映像。其他用户可以查询数据变化之 前的情况。 无论数据库的其他部分工作如何出色,回滚段都需要一些特殊关注。由于回滚段控制着 数据库处理事务的能力,所以直接决定着数据库的成功与否。 这一章描述D B A需要为回滚段执行的主要管理任务。这些主要任务是: • 回滚段的基本功能。 • 回滚段使用可用空间的独特方式。 • 监控回滚段的使用。 • 正确选择数据库回滚段的大小和数量。 7.1 回滚段概述 S Q L的r o l l b a c k命令使用户能撤消对数据库所做的事务。这种功能对任何 u p d a t e 、i n s e r t或 者d e l e t e事务都有效;但对数据库对象的变动则无能为力 (如alter table命令) 。当选择其他用户 正在改变的数据时,O r a c l e使用回滚段来展示变动前的数据。 7.1.1 数据库对回滚段的使用 回滚段包含数据库中发生的每一次事务处理,使数据库在多次变动中仍能保持读取的一 致性。可用回滚段的数量和大小由 D B A在数据库创建时设定。 由于回滚段在数据库中创建,所以也必须在一个表空间中创建它们。第一个回滚段被称为 S Y S T E M,它存储在S Y S T E M表空间中。接下来的回滚段通常也在另外至少一个表空间中创建。 由于回滚段在表空间中创建,所以它们的最大尺寸也就要受数据文件空间容量的限制。因此, 恰当地设置回滚段的大小是一项非常重要的工作。图 7 - 1描述回滚段在表空间中的存储情况。 数据字典表和索引 SYSTEM表空间 SYSTEM回滚段 第二回滚段 自由空间 产品回滚段#1 产品回滚段#2 RBS表空间 产品回滚段#3 产品回滚段#4 自由空间 图7-1 表空间中回滚段的存储情况 第7章 回滚段管理 167 下载 回滚段条目(rollback segment entry) 是“前”映像数据块的集合,含有被一个事务修改的 数据行。每个回滚段条目必须完整地包含在回滚段内。一个回滚段可以支持多个回滚段条目。 这就使得可用回滚段的数目直接关系到数据库的性能。图 7 - 2说明了回滚段与回滚段条目之间 的关系。 数据库以循环方式将事务分配给回滚段。这种分配方式使得每一个回滚段中被分配的事 务数目比较平均。尽管可以给一个事务指定回滚段 ( 见本章后面的 7 . 1 . 3节“为事务指定回滚 段”) ,但大多数事务使用缺省方式。因为使用循环分配方法,所以拥有不同大小的回滚段没 有任何益处。 可以创建指定为私有 ( p r i v a t e )或公用( p u b l i c ) 的回滚段。这些指定表示该回滚段是对一个 实例可用还是对访问那个数据库的多个实例可用。当一个实例打开一个数据库时,就显式获 得私有回滚段 (见本章7 . 1 . 2节“激活回滚段” ) 。如果另一个实例访问同一数据库,这个实例 就不能使用已由第一个实例获得的同一个私有回滚段,而只能使用它自己的私有回滚段或是 从公用回滚段的共享池中获得。 RBC表空间 产品回滚段#1 事务1的条目 事务5的条目 产品回滚段#2 事务2 的条目 自由空间 产品回滚段#3 事务3的条目
显示全部
相似文档