前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >【YashanDB 数据库】YAS-02024 lock wait timeout, wait time 0 milliseconds

【YashanDB 数据库】YAS-02024 lock wait timeout, wait time 0 milliseconds

作者头像
用户10349277
发布2025-02-21 11:51:17
发布2025-02-21 11:51:17
3200
代码可运行
举报
运行总次数:0
代码可运行

【标题】错误码处理

【问题分类】锁等待超时

【关键字】YAS-02024

【问题描述】执行语句时候,因锁等待超时执行语句失败

【问题原因分析】数据库默认锁等待时间为 0 秒,如果执行语句存在锁等待过长会执行失败

【解决 / 规避方法】

调整锁等待的时间

代码语言:javascript
代码运行次数:0
复制
alter system set DDL_LOCK_TIMEOUT = x;
单位是s, 默认是0, 修改为300
确认持久化到config/yasdb.ini文件

找出导致锁等待的 session ,并根据实际情况确认能不能先使其退出

v$lock 确定 sid

代码语言:javascript
代码运行次数:0
复制
select * from v$lock;

再关联 dv$session 确定 serial

代码语言:javascript
代码运行次数:0
复制
select * from v$session;

再执行 alter system kill session 命令 kill 引起锁超时的会话

代码语言:javascript
代码运行次数:0
复制
alter system kill session '30,918';

如果会话比较多,可以使用如下语句批量杀死线程

代码语言:javascript
代码运行次数:0
复制
select 'ALTER SYSTEM kill SESSION '''||SID||','||SERIAL# || '''' || ';' from v$session t1, v$locked_object t2 where t1.sid = t2.SESSION_ID

-- 查询哪些表锁死 记录下 SID 和 serial#

杀掉对应的会话进程

【影响范围】所有版本

【修复版本】无

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档