达梦创建索引时,提示锁超时问题处理
有用户反馈,当创建索引时,一直提示锁超时
根据v$lock 、v$trxwait没有查到等待及锁
select * from v$sessions s,v$lock l where s.trx_id=l.tid and l.blocked=1;
SELECT * FROM V$TRXWAIT; --ID为被阻塞对象,WAIT_FOR_ID为阻塞对
查询当前会话
SELECT SF_GET_PARA_STRING_VALUE(1,'INSTANCE_NAME') AS 实例名,STATE AS 状态,CLNT_IP AS 连接IP,COUNT(*)AS 数量 FROM V$SESSIONS GROUP BY STATE,CLNT_IP ORDER BY STATE;
由于只有一个活动会话,可以将全部会话杀掉之后,创建索引成功
--杀掉会话语句
begin
for rec in
(select * from v$sessions where sess_id <> sessid())
loop
sp_close_session(rec.sess_id);
end loop;
end;
如果活动会话数多,不能随意杀掉会话,可以在创建索引的时候加online, 如下是网上关于online的说明
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了