![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
lock
文章平均质量分 71
夜光小兔纸
每天进步一点点
展开
-
谁都能看懂之“Oracle碎片整理”
新的地块来满足市场需求,于是经开区整体的土地规划的越来越多了(表空间越来越大),在已经规划出去的(被formatted的数据块)土地上,也有一些企业搬走了(delete操作),但是在国土局的规划图上还是占用状态(HWM高水位线),每次对土地进行清查(表扫描scan),这部分土地也是相当消耗人力。终于在经过多年的发展以后,经济开发区变成了老城区,这里存在着大量无法使用的小片地块,国土局发现老城区越来越不好规划和管理了,于是决定老城区整体拆迁,整体改造(碎片整理)。不能扯太远,下面说一点专业性的内容吧。转载 2023-03-31 16:36:53 · 398 阅读 · 0 评论 -
Oracle 锁相关查询脚本
Oracle–找到被锁住的对象(非死锁)#RAC环境的会话阻塞,针对某个具体的对象。#从历史会话中查看引起行锁竞争的语句。#当前会话中查看引起行锁竞争的语句。#RAC环境的会话阻塞和对象信息。#kill掉大于300秒的会话。#查看被锁住的对象和用户信息。#单实例的会话阻塞,详细信息。#查看历史阻塞会话和锁信息。#找到暂时阻塞的会话和锁定。#RAC环境的会话阻塞。#查看哪些表被锁住了。转载 2023-02-23 14:30:11 · 546 阅读 · 0 评论 -
Oracle未提交事务引起的锁
笔者所在公司最近上了一套系统,系统使用中间件连接Oracle数据库,使用一段时间之后系统就会停止响应。发现问题在于2点:1.中间件有线程执行了Delete语句之后,一直处于等待状态,没有COMMIT提交事务,对表施加了行锁且该线程无法复用(中间件总线程数有限制)2.对表施加了行锁之后,后续中间件线程如果需要修改该行,将被阻塞。以上两个因素不断发生,最终导致中间件线程数耗尽,系统停止响应。下面会分两个部分,第一个部分是直接给出判断以上故障的SQL语句,第二部分是通过做实验的方法重现问题。转载 2023-02-23 18:38:35 · 2824 阅读 · 0 评论 -
一文搞懂Oracle 0 至 6 级锁(附案例详解)
把整个店的珠宝包下来,让别人参观,预定,但是不能买卖(这在ORACLE中叫只读锁,只允许别人读,也就是只允许第0,1,2类人来珠宝店,让别人只读方式的参观,不允许买卖,再来个第4类人,还是允许的,因为大家虽然都想包,但是大家的目的都是分享,而不是独占,所以是可以兼容的);比如用户A在表T上执行了UPDATE第1行,那么表t上有个表级的共享锁,那用户B在表T上执行了UPDATE第2行,那么也会在表t上有个表级的共享锁,虽然行上都是排它锁,但不是同一行,所以他们在行上没有冲突,在表上也没有冲突。转载 2023-02-24 18:38:20 · 4850 阅读 · 0 评论