oracle锁表,java代码修改方式如下
2024-09-08 18:41:01
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;
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;
2023-02-27 16:56:37
alter system kill session '29,14735';
SELECT lpad(' ',decode(l.xidusn ,0,3,0))||l.oracle_username User_name,
o.owner,o.object_name,o.object_type,s.sid,s.serial#
FROM v$locked_object l,dba_objects o,v$session s
WHERE l.object_id=o.object_id
AND l.session_id=s.sid
ORDER BY o.object_id,xidusn DESC
java代码中前一段代码使用mybatis得代码,后一段代码使用类似hibernate得写法,对同一个table和同一行(同一条)数据进行修改(进行update),估计前一个update没有提交,后一个update看到没提交一直锁表。
代码卡在那里。
修改把前一段代码得update代码里加上强制commit代码
try {
DataSourceTransactionManager transactionManager = (DataSourceTransactionManager)BeanContextUtil.getApplicationContext().getBean("transactionManager");
DefaultTransactionDefinition defr = new DefaultTransactionDefinition();
defr.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRES_NEW);
TransactionStatus status = transactionManager.getTransaction(defr);
//更新逻辑代码TODO
transactionManager.commit(status);
return num;
}catch (Exception e){
e.printStackTrace();
//return -1;
log.error("error updateCancelForCredit",e);
}
最新文章
- OPEN CASCADE BSpline Curve Interpolation
- Convert part to feature command
- golang的验证码相关的库
- nginx反向代理的简单配置
- 方法:怎么用ionic命令行调试你的ionic app
- motan源码分析四:客户端调用服务
- 使用NTP协议服务器时间同步
- ELK菜鸟手记 (三) - X-Pack权限控制之给Kibana加上登录控制以及index_not_found_exception问题解决
- 主要讲下hack的兼容用法,比较浅,哈哈
- hidden symbol `pthread_atfork'
- Struts2——第一个helloworld页面
- Ubuntu16.04 下搭建git服务器及gitweb+nginx配置
- .NET 文件格式相关开源项目
- windows快速打开命令窗口方式[利刃篇]
- 使用crypt配置Basic Auth登录认证
- AAPT2 error: check logs for details 问题的终究修复
- PHP字符串位置相关的函数
- 【bzoj4826】影魔
- Fusion Tables 图层用于呈现 Google Fusion Tables 中包含的数据
- go的匿名组合
热门文章
- APICloud AVM框架列表组件list-view的使用、flex布局教程
- Linux利用crontab执行定时任务
- DVWA靶场实战(五)——File Upload
- 可持久化杀手——rope学习笔记
- 手把手教你图文并茂windows10安装VMware创建CentOS-7-x86_64运行linux系统
- .Net6 使用 Ocelot + Consul 看这篇就够了
- 《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(5)-Charles如何设置捕获Https会话
- Java 进阶P-4.2+P-4.3
- Avalonia 实现动态托盘
- Zabbix“专家坐诊”第180期问答汇总