2016 - 2024

感恩一路有你

字符串replace方法 ORACLE中,数据库的redo与undo分别是什么呀,两者是什么关系呢?

浏览量:3054 时间:2021-03-13 17:49:22 作者:admin

ORACLE中,数据库的redo与undo分别是什么呀,两者是什么关系呢?

Redo用于日志记录。撤消用于记录数据备份。举一个简单的例子来说明(实际的过程要复杂得多):1。当您发出update语句时,Oracle首先将更改前后的信息写入redo(当满足某些条件时,日志写入过程写入日志文件)。然后将更新前的数据复制到undo中。三。用户回滚后,Oracle将在undo中覆盖数据。用户提交后,Oracle可以根据重做信息恢复数据。(当然,您也可以使用undo来实现闪回)简而言之,让我们慢慢理解它。

ORACLE中,数据库的redo与undo分别是什么呀,两者是什么关系呢?

[session

事务处理

1。计算从更新的元组到原始元组的增量信息,并将增量复制到回滚段作为undo;

2。写入重做日志以记录对回滚段的更改。回滚段也由缓冲区管理组织管理,这相当于对页面的更改;

3。将缓冲区中相应的元组更新为新值,并回滚新值4。写重做日志来记录对页面的更改(回滚段);

5。将已更改页的状态更改为dirty,表示该页将被刷新

log flushed,并且当前事务的最后一个LSN(日志序列号)之前的重做日志将写入持久存储。

崩溃恢复过程

1。在启动开始时,检查数据库是否在最后一次退出时崩溃;

2。找到最近的检查点;

3。当定位到此检查点时,滑动磁盘的数据页并检查校验和。如果不正确,则表示该页在上次写入时未完成。使用双写缓冲区读取内存缓冲区中的正确页并将其更新到内存缓冲区中的页;

4。按顺序分析重做日志(从最后一个检查点到最后一个LSN),以确定未提交的事务;

5。按顺序执行重做。这些重做日志不仅包括对数据段(write tuple)的更改,还包括对回滚段(write undo)6的更改。回滚所有未提交的事务。

oracle11gr2undo表空间使用率高如何查看是什么语句造成的?

通过此SQL语句,您可以查询会话对应的活动事务使用的撤消段名称,以及此段占用的撤消空间。对于非活动事务,所占用的撤消空间由Oracle实例根据参数配置自动管理。从dba_2;rollback_2;segs r、v$rollstat v、v$transaction t、v$session s中选择s.sid、s.serial#、s.sql id、v.usn、segment 2; name、r.status、v.rssize/1024/1024 mb,其中r.segment 2; id=v.usn和v.usn=t.xidusn和t.addr=s.taddr order by segment 2; name

字符串replace方法 parted分区命令 undo summary的作用

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。