撤销表空间连的作用

Oracle从入门到总裁:​​​​​​https://blog.csdn.net/weixin_67859959/article/details/135209645

撤销表空间,通常也称为UNDO表空间;UNDO表空间中的段也称为撤销段或UNDO段;撤销段中存放的数据就是“撤销信息”,这些“撤销信息”也称为撤销数据或UNDO数据。

撤销段是最直接管理“撤销信息”的逻辑层,下面将对撤销段的几种作用进行讲解和分析。

使读写一致

在不同的进程或用户模式下检索数据时,Oracle只能给用户提供被提交的数据,这样可以确保数据的一致性。

例如,在SCOTT模式下,执行了UPDATE emp SET sal=5500 WHERE empno=7788语句,这样旧的数据记录会被存放到UNDO段中,

而新数据则会存放到emp段,假定此时该数据尚未提交(比如没有执行commit命令,也没有退出SQL*Plus环境);然后用户在SYSTEM模式下执行SELECT Sal FROMscott.empWHERE empno=7788语句,此时用户将取得“旧的工资数据”,而不是新数据5500,而该数据正是从UNDO段中读取的

可以回滚事务

当执行修改(UPDATE)数据操作时,旧的数据(即UNDO数据)被存放到UNDO段,而新的数据则被存放到数据段中。

如果在修改操作中事务提交出现错误,就需要回滚事务,从而取消数据的更改。

比如,当用户使用UPDATE语句修改某个员工的工资时,由于误操作,而导致修改了全公司员工的工资(比如没有使用where条件语句)。

这样,用户就可以通过执行ROLLBACK语句来取消事务修改。

当执行ROLLBACK语句时,Oracle会将UNDO段的UNDO数据(即旧的员工工资)全部写回到数据段中。

事务恢复

事务恢复是例程恢复的一部分,它是由Oracle服务器自动完成的:如果在数据库运行过程中出现例程失败(如断电、内存故障等),

那么当重启Oracle 服务器时,后台进程SMON会自动执行例程恢复。执行例程恢复时,Oracle会重新处理所有未提交的数据记录,回滚未提交事务。

闪回操作

Oracle 11g新增了强大的闪回功能,其中,很多闪回技术都是基于UNDO段实现的,比如闪回表、闪回事务查询、闪回版本查询等。

  • 11
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

橙子味冰可乐

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

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

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

打赏作者

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

抵扣说明:

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

余额充值