暂无图片
Oracle的事务锁(TX锁)是如何工作的?
我来答
分享
大海
2023-02-14
Oracle的事务锁(TX锁)是如何工作的?

Oracle的事务锁(TX锁)是如何工作的?

我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新

Oracle事务的发起是自动的,发起的第一个修改时会得到事务锁。事务锁会被一直持有,直至事务执行提交或回滚。事务锁被用作一种排除机制,使得其他会话可以等待这个事务完成。

在Oracle中,由于锁是数据的一个属性,所以Oracle不需要传统的锁管理器。事务只是找到数据,如果数据还没有被锁定,则对其锁定。

在Oracle对数据行锁定时,行指向事务ID的一个副本,事务ID存储在包含数据的块中,释放锁时,事务ID却会保留下来。这个事务ID是事务所独有的,由撤销段号、槽和序列号组成。把事务ID留在包含数据行的块上,可以告诉其他会话:你“拥有”这个数据(并非拥有块上的所有数据,只是你修改的那一行“归你所有”)。另一个会话到来时,它会看到事务ID,由于事务ID表示一个事务,所以可以很快地查看持有这个锁的事务是否是活动的。如果锁是不活动的,则允许会话访问这个数据。如果锁还是活动的,会话就会要求一旦释放锁就得到通知。

暂无图片 评论
暂无图片 有用 13
打赏 0
暂无图片
回答交流
Markdown


请输入正文
提交
相关推荐
ogg21c配置11g添加热备表提示没有权限
回答 1
已解决。
oracle中有子事务吗?
回答 5
有自治事务,应该就是你说的子事务,你百度了解一下
ORA-00214: control file ‘string’ version string incompatible with ORACLE version string
回答 1
已采纳
ORA00214错误表示控制文件的版本与Oracle版本不兼容。恢复一个备份
19C Resize operation completed for file# 1, old size 972800K, new size 983040K
回答 3
不导入统计信息后导入完成,因为不同版本基表可能不同导致的吗?
为什么oracle 监听注册不上?
回答 8
可以尝试进行altersystemregister进行重新注册。或者直接删除locallistener内容,再次进行注册。
Oracle19c里;O7_DICTIONARY_ACCESSIBILITY这个参数还有吗?
回答 1
已采纳
没有的,Oracle的权限做得这么细;理应是要去除这个参数的
Oracle 12c导出的dmp怎么导入11g啊,或者导出低版本的dmp?
回答 2
已采纳
12cexpdp命令行加入version想导入的数据库版本号
求一个红帽7生成oracle udev.rule的脚本。谢谢各位
回答 2
已采纳
供ASM使用的磁盘为sddsdi,defghi盘为ASM共享盘可以使用lsblk命令查看磁盘信息:lsblkNAMEMAJ:MINRMSIZEROTYPEMOUNTPOINTsda8:0020G0di
oracle安装缺失ggc包
回答 7
已采纳
看报错是包的依赖关系乱了,麻烦点就把所有依赖包卸载重新安装,简单干净点就把系统重装了,重新安装
请问oracle如何批量扩展通一个表空间?
回答 4
已采纳
改成这样就行:!/bin/bashsqlplus/assysdba<<EOFspoolctbs.logbeginforiin31..100loopexecuteimmediate'alte
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~