大王叫我来巡山~(数据库 for update 锁表相关问题~)

魅力安卓

今天加班,没写文章,感觉有点不自在呀~

遇到一个PLSQL锁表问题,

以前遇到过,没做记录,

再次遇到又查相关语句,甚是不便,

正好在此做个记录,留个印象,

有人需要直接拿走,自己也权当做个备份-.-

1.表被锁现象

某次执行for update语句,执行时间很长,多次尝试无果,

联想出现该现象之前,有做过多次改表或相关不当操作~

前台执行修改,后台数据不变,

基本可判断,改表被锁。

2.如何确定并查看被锁表?

执行下列语句,可查出相关被锁表:

select b.owner,b.object_name,a.session_id,a.locked_mode

from v$locked_object a,dba_objects b

where b.object_id = a.object_id;

3.哪个session引起的?

执行下列语句,可查出由哪些session导致:

select b.username,b.sid,b.serial#,logon_time

from v$locked_object a,v$session b

where a.session_id = b.sid order by b.logon_time;

4.如何解锁?

根据上一步查出的session,杀掉相关进程即可解锁:​

执行命令:

alter system kill session'XXX,YYY';

其中XXX为sid,YYY为serial#

此时,再次执行相关表 for update语句,

问题应该已经解决~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 在数据库的开发过程中,经常碰到包、存储过程、函数无法编译或编译时会导致PL/SQL 无法响应的问题。碰到这种问题,...
    无浪不欢阅读 3,610评论 0 1
  • 一.数据控制语句(DML)部分 1.INSERT(往数据表里插入记录的语句) INSERTINTO表名(字段名1,...
    浮浮尘尘阅读 8,992评论 0 19
  • 1. 主键 超键 候选键 外键 主 键:数据库表中对储存数据对象予以唯一和完整标识的数据列或属性的组合。一个数据列...
    DNIX阅读 5,465评论 0 7
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 33,626评论 18 399
  • https://github.com/starainDou 欢迎点星 Runtime简介 runtime是什么(原...
    DDY阅读 1,891评论 0 0

友情链接更多精彩内容