oracleundo表空间概述_UNDO表空间详解

Oracle 10g

UNDO

数据的作用

UNDO

表空间

的常用操作是本文我们主要要介

绍的内容,

UNDO

数据也称为回滚

(ROLLBACK)

数据

,

它用于确保数据的一致性

.

执行

DML

操作时

,

事务操作前的数据被称为

UNDO

记录

.UNDO

段用于保存事务所修

改数据的旧值

,

其中存储着被修改数据块的位置以及修改前数据。

UNDO

数据的作用:

1.

回退事务

当执行

DML

操作修改数据时

,UNDO

数据被存放到

UNDO

,

而新数据则被存放到数

据段中

,

如果事务操作存在问题

,

旧需要回退事务

,

以取消事务变化

.

假定用户

A

执行了语句

UPDATE emp SET sal=1000 WHERE empno=7788

后发现

,

应该修改雇员

7963

的工资

,

而不是雇员

7788

的工资

,

那么通过执行

ROLLBACK

语句可以取消事

务变化

.

当执行

ROLLBACK

命令时

,oracle

会将

UNDO

段的

UNDO

数据

800

写回的数

据段中

.

2.

读一致性

用户检索数据库数据时

,oracle

总是使用用户只能看到被提交过的数据

(

读取提

)

或特定时间点的数据

(SELECT

语句时间点

).

这样可以确保数据的一致性

.

,

当用户

A

执行语句

UPDATE emp SET sal=1000 WHERE empno=7788

,UNDO

录会被存放到回滚段中

,

而新数据则会存放到

EMP

段中

;

假定此时该数据尚未提

,

并且用户

B

执行

SELECT sal FROM emp WHERE empno=7788,

此时用户

B

将取

UNDO

数据

800,

而该数据正是在

UNDO

记录中取得的

.

3.

事务恢复

事务恢复是例程恢复的一部分

,

它是由

oracle

server

自动完成的

.

如果在数据库

运行过程中出现例程失败

(

如断电

,

内存故障

,

后台进程故障等

),

那么当重启

oracle server

,

后台进程

SMON

会自动执行例程恢复

,

执行例程恢复时

,oracl

会重新做所有未应用的记录

.

回退未提交事务

.

4.

倒叙查询

(FlashBack Query)

倒叙查询用于取得特定时间点的数据库数据

,

它是

9i

新增加的特性

,

假定当前时

间为上午

11:00,

某用户在上午

10:00

执行

UPDATE emp SET sal=3500 WHERE

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值