达梦创建索引时,提示锁超时问题处理
有用户反馈,当创建索引时,一直提示锁超时
根据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的说明