【Oracle】数据库结构——段

一、概述

段,由一组【区间】构成,段中的【区间】可以是连续的,可以是不连续的;段比【表空间】小1级;代表特定的数据存储结构;
段分为4类:【数据段】,【索引段】,【回滚段】,【临时段】;

二、详解

1、【数据段】
用来存储【表】或【簇】的数据,所有未分区的表都使用一个默认的【段】来存储数据(没有家的孩子像根草,同意收养在某个孤儿院);而分区的【表】为每一个【分区】建立一个独立的【段】(有分区信息的【段】像个宝,在个子的家里住着);【段】随着数据的增大而增大,【段】的增大时随着【分区】的个数实现的;每个【分区】的大小是块的整数倍;Oracle数据库中的一个数据包含下列之一的所有数据:
①.一个非分区表或者非聚集表
②.一个分区表的一个分区。
③.聚集表。

2、【索引段】
所有未分区的【索引】都使用一个【索引段】来存储索引;而已经分区的【索引】,则为每个已经分区的【索引】建立一个独立的【索引段】来存储数据;就是说,没有分区的,无家可归的,都保存在一个默认的索引段里,其他有人认领的孩子(已经分区的索引),保存在单独的【索引段】中;索引段和该索引段的数据段会经常同时被访问,建议将【索引段】与【数据段】分开保存在不同的物理位置的【表空间】;使用create index时,会定义索引段和表空间;如果不定义索引段,则会保存到默认【索引段】下面去;

3、【回滚段、撤销段】
【回滚段】用于存放数据库的回滚信息;包括数据修改之前的位置和值;回滚段的头部包含正在回滚的事务的信息;通常一个事务只能使用一个回滚段来存储他的信息;而一个回滚段可以存放多个事务的回滚信息;回滚可以动态地创建和撤销;

回滚段的作用
①.【事务回滚】
当事务修改表中的数据时,该数据修改前的值,即前影像会存放在回滚段中,用户使用事务回滚按钮,例如PLSQL中的一个数据库上有个红色朝上的箭头的按钮;ORACLE会利用回滚段中的数据前影像将修改后的数据恢复到原来的值;

②.【事务恢复】
当事务正在处理的时候,例程失败,回滚段的信息保存在重做日志文件中,Oracle将在下次打开数据库的时候,利用回滚来恢复未提交的数据;

③.【读一致性】
当一个会话正在修改数据,但是还未提交时,系统将用户修改的数据的原始信息保存在【回滚段】中,为其他正在访问同样数据的用户提供一份该数据的【原始视图】,从而保证当前会话未提的修改不会被其他用户看到;保证了数据的读一致性;

④.【闪回查询】
闪回查询是oracle 10g开始引入的新特性;利用该技术可以查询某个表在过去某个时间点的状态。闪回查询是利用回滚段中的数据原始信息实现的;

事务回滚的种类
【系统回滚段】
当数据库创建的时候,将自动创建一个【系统回滚段】,该回滚段只用于系统事务的回滚处理,存放系统表空间的【前影像】(前影像可以理解为修改前的数据或结构等信息);

【非系统回滚段】
拥有多个表空间的数据库至少有一个【非系统回滚段】,用于存放非系统表空中对象的【前影像】;【非系统回滚】由用户创建,用户用户事务的回滚;非系统回滚段又分为【私有回滚段】和【公有回滚段】。【私有回滚段】的数目和名称由参数文件ROLLBACK_SETTINGS中的参数列出,以便【例程】启动时自动使其【在线】(online),他只能被一个实例使用。【公有回滚段】一般在oracle并行服务区中出现,将在【例程】启动时,自动在线,他可以被多个实例共享;

4、【临时段】
处理查询时,在SQL语句解析和执行阶段会产生一些临时数据,oracle经常需要【临时工作区】,此时分配的磁盘空间就叫做【临时段】。例如,当sql语句并行数据汇总或者排序时,或创建一个临时段,当会话结束时,为该操作分配的临时段将会被释放;使用以下语句会使用【临时段】:
create index
select … order by …
select distinct …
select … group by …
select …union…
select …intersect …
select …minus…

在这里插入图片描述

请关注我的公众号:幕桥社区
在这里插入图片描述

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陶洲川

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值