Oracle数据库的DML命令的处理过程详解_计算机Oracle数据库培训
作者:小甘发布时间:2020-12-23分类:数据库浏览:750
Oracle数据库的DML命令的处理过程是本文我们主要要介绍的内容,从Oracle 9i起,有两种undo的管理方式:自动Undo管理(Automatic Undo Management,简称AUM)和手工Undo管理(Manual Undo Management,简称MUM)。Oracle 9i之前只能使用MUM,而且在MUM中,undo segment又叫做rollback segment。从Oracle 9i起,Oracle就建议使用AUM,而不应再使用MUM了。
DML语句与undo
当我们发出一条DML(比如update tab set col1='A' where col1='B')语句时,其执行过程可大致概括为以下几步。
1、在shared pool里进行解析,从而生成执行计划。
2、假设根据执行计划,得出col1='B'的记录存放在10号数据文件的54号数据块里。
3、服务器进程在buffer cache里找一个可用的undo数据块,如果没有发现,则到undo表空间里找一个可用的undo块,并调入buffer cache。假设获得的undo数据块号为24号,位于11号undo数据文件里。
4、将改变前的值,也就是A放入11号undo数据块。
5、由于undo数据块发生了变化,于是产生重做记录,假设重做记录号为120。
行号 事务id file# block# row column value
120 T1 24 11 10 col1 A
6、在buffer cache里找到54号数据块。如果没有发现,则从10号数据文件里调入。
7、将改变后的值,也就是B放入54号数据块。
8、由于数据块发生了变化,于是产生重做记录,假设重做记录号为121。
行号 事务id file# block# row column value
121 T1 10 54 10 col1 B
9、控制权返回给用户,如果在SQL*Plus里执行DML,则表现为光标返回。
10、当用户发出commit命令时,触发LGWR进程,将120与121这两个重做记录写入联机日志文件,并将54号数据块和11号undo数据块头部所记录的事务状态标记设置为已提交。然后控制权返回给用户,如果在SQL*Plus里执行DML操作,则表现为光标返回。
11、这个时候,54号数据块以及11号undo块并不一定被DBWn写入数据文件。只有在脏数据块的数量达到一定程度才会被写入。
事务只要被提交或回滚,那么该事务所使用的undo块就可以被覆盖。对于上面的例子来说,当第10步,用户发出commit命令以后,11号undo块里的数据就可以被其他事务所覆盖。
关于Oracle数据库的DML命令的处理过程的相关知识就介绍到这里了,希望本次的介绍能够对您有所收获!
相关推荐
- MySQL数据库应用场景知识点有哪些?
- 简单介绍一下Mysql中的临时表使用方法_mysql数据库培训
- MYSQL数据库中mysqldump的使用说明_mysql数据库培训
- 在ANSI模式下运行MySQL的方法_mysql数据库培训
- MySQL中LOAD DATA LOCAL安全问题的详细介绍_mysql数据库培训
- MySQL数据库物理备份所需文件_mysql数据库培训
- 详细分析MYSQL数据库中explain的使用方法_mysql数据库培训
- 介绍MySQL Query Optimizer基本工作原理_mysql数据库培训
- 怎样修改MySQL的字符集的方法_mysql数据库培训
- 介绍一下MySQL处理磁盘满的方式_mysql数据库培训
- 数据库排行
-
- 1如何用命令行执行mysql的sql文件_mysql数据库培训
- 2Mysql查询结果按指定的id列排序_mysql数据库教程
- 3MySQL中LOAD DATA LOCAL安全问题的详细介绍_mysql数据库培训
- 4mysql数据库中,为表中的字段设置默认值_mysql数据库培训
- 5Mysql中的alter table操作原理_mysql培训
- 6mysql数据库中int、bigint、smallint 和 tinyint的区别详细介绍_mysql数据库
- 7怎样修改MySQL的字符集的方法_mysql数据库培训
- 8Mysql带返回值与不带返回值的2种存储过程写法_mysql软件编程培训
- 9VPS下修改MySQL root用户密码的方法_MySQL数据库培训
- 标签列表
-
- Java (3694)
- 北大青鸟 (3713)
- 软件开发 (3613)
- JAVA (3413)
- UI设计入门 (2093)
- 惠州北大青鸟 (4375)
- 惠州IT培训 (2558)
- UI设计培训 (2090)
- 惠州UI设计培训 (2095)
- 惠州UI设计培训学校 (2090)
- 惠州计算机软件培训 (6260)
- 惠州计算件软件开发 (6260)
- 惠州计算机软件基础 (6261)
- 惠州计算机JAVA培训 (3574)
- 惠州计算机Java软件开发 (3620)
- 惠州计算机JAVA软件开发 (4645)
- 惠州计算机JAVA软件开发学校 (3338)
- 惠州计算机Java软件开发培训 (3338)
- 北大青鸟IT计算机学校 (5048)
- 北大青鸟IT软件学校 (5062)
- 北大青鸟IT学校 (5059)
- 惠州计算机UI设计软件开发 (2088)
- UI设计基础教程 (2088)
- UI设计是什么 (2088)
- UI设计教程 (2088)
- 网站分类
-
- 计算机教程
- 计算机入门
- 职业学校
- 新闻动态
- 专业课程
- 热门技术
- SEO
- 培训教程
- windows
- linux教程
- 系统集成
- 网站开发
- Html5
- 办公软件
- 师资力量
- 热点问答
- 联系我们
- 计算机学校
- 惠州计算机学校
- 河源计算机学校
- 广州计算机学校
- 深圳计算机学校
- 湛江计算机学校
- 佛山计算机学校
- IT计算机培训信息
- 设计专业
- UI
- 影视特效
- 游戏动漫设计
- Photoshop
- AI设计
- 软件教程
- Java技术
- C语言/C++语言培训
- C#
- Python技术
- PHP
- 数据库
- SQL Server
- 网络教程
- 网络安全
- 网络营销
- 软件专业
- 大数据专业
- 前端开发专业
- 软件测试专业
- Python专业
- 软件实施
- 珠海计算机学校
- 初中生学什么好
- 计算机认证
- 文章归档
-
- 2024年5月 (36)
- 2024年4月 (80)
- 2024年3月 (65)
- 2024年2月 (54)
- 2024年1月 (25)
- 2023年12月 (12)
- 2023年11月 (73)
- 2023年10月 (134)
- 2023年9月 (34)
- 2023年8月 (3)
- 2023年7月 (3)
- 2023年6月 (12)
- 2023年5月 (30)
- 2023年4月 (72)
- 2023年3月 (11)
- 2023年2月 (34)
- 2023年1月 (37)
- 2022年12月 (78)
- 2022年11月 (359)
- 2022年6月 (1193)
- 2022年5月 (570)
- 2022年4月 (1567)
- 2022年3月 (982)
- 2022年2月 (54)
- 2022年1月 (182)
- 2021年9月 (308)
- 2021年8月 (1704)
- 2021年7月 (2423)
- 2021年6月 (1806)
- 2021年5月 (1569)
- 2021年4月 (1380)
- 2021年3月 (1255)
- 2021年2月 (709)
- 2021年1月 (1521)
- 2020年12月 (3626)
- 2020年11月 (1646)
- 2020年10月 (1046)
- 2020年9月 (592)
- 最近发表
-
- 汕尾信息:世界技能大赛获奖选手全省巡回宣讲交流活动走进汕尾|||电脑计算机编程培训学校
- 河源信息:世界技能大赛获奖选手到河源开展全省巡回宣讲交流活动|||广州市北大青鸟计算机职业培训学校
- 佛山信息:6000+“笋岗”!粤西专场招聘会!佛山名企→|||广州市北大青鸟计算机职业培训学校
- 江门信息:@创业培训讲师,快来参加广东省第二届马兰花创业培训讲师赛江门选拔赛|||电脑计算机编程培训学校
- 东莞信息:普法宣传进工地治欠保支暖民心|||中专学计算机平面设计女生可以学计算机网络技术好吗
- 佛山信息:奖金高达20万!“中国创翼”创业创新大赛报名|||计算机职业技能培训班
- 阳江信息:阳江市2024年“人社局长千企行”活动启动|||计算机网络培训学校
- 江门信息:江门选手斩获全国乡村振兴职业技能大赛铜牌,实现国赛奖牌“二度破冰”|||北大青鸟计算机培训中心
- 汕头信息:汕头高层次人才“金凤卡+社保卡”一站办理!赋能人才工作高质量发展|||北大青鸟计算机培训中心
- 东莞信息:沙田镇召开社保志愿推广会|||计算机培训学校招生