oracle-事务一系列理解

一个事务开始后,会被分配一个唯一的id号,xid,xid不仅是一个编号也是一个地址。

事务表

存在undo表空间的某一个段的段头块,最多存放47个事务,事务开始的时候,先将信息写入这个表,所以一个undo段最多纪录47个事务。

oracle尽量一个事务用一个回滚段,如果不够用,就复用。

可将段头dump出来(正常数据库也可以dump),文件名是以会话的编号组成


事务槽:

1一个事务开始的时候首先将xid写入空闲的undo段的段头的事务表中,同事写入uba地址

2 在所要修改的数据块的事务槽中写入xid事务信息, 一个数据块的事务槽最多放256个,事务槽中也有uba的地址。

3 回滚快(uba):将要修改的数据写入回滚快中,回滚块用完了用下一个使用链将其链起来,同时事务标中指向最新的uba。

所以xid回溯的首先是哪个回滚段的段头块,以及47行的哪一行,第几次覆盖(以免xid号重复)

dump出数据块流程

如果数据段段头没有事务槽,所有事物都会去回滚段段头去查询,造成拥挤。

事务提交方式

快速提交

箭头查询是通过xid,

相关推荐
今晚务必早点睡21 小时前
微服务改数据库密码后服务仍能访问?一次“看似异常、实则常见”的生产现象全解析
数据库·微服务·oracle
老师我太想进步了20261 天前
cmd连接MySQL及相关查询
数据库·mysql
難釋懷1 天前
Redis命令-Set命令
数据库·redis·缓存
Linux-palpitate1 天前
PostgreSQL(PG)的1主2从集群部署安装
数据库·postgresql
dingdingfish1 天前
Oracle数据库19c技术架构
oracle·database·architecture·19c·technical
heartbeat..1 天前
数据库基础知识体系:概念、约束、范式与国产产品
java·数据库·学习笔记·国产数据库
山峰哥1 天前
数据库工程核心:SQL调优让查询效率飙升的实战密码
网络·汇编·数据库·sql·编辑器
Coder_Boy_1 天前
基于SpringAI的在线考试系统-DDD业务领域模块设计思路
java·数据库·人工智能·spring boot·ddd
小雪_Snow1 天前
Windows 安装 MySQL 8.0 教程【安装包方式】
数据库·mysql
无敌的牛1 天前
MySQL初阶
数据库·mysql