标签:解决办法 SESS DM TRX VS VT MPP 等待 ID
一、锁等待 方法1 1.1 查询正在运行的事务 SELECT SESS_ID,SQL_TEXT,STATE FROM V$SESSIONS WHERE SESSID IN (select SESS_ID from v$trx where status='ACTIVE'); 1.2 通过SESS_ID关闭会话 delete(会话过多无法判断请采用“方法二”) SP_CLOSE_SESSION(142344256); 如果是MPP环境,以下命令需要在MPP多个节点同时进行执行: ./disql 用户名/密码#{MPP_TYPE=local} --注意:MPP集群需要local登录 SP_SET_SESSION_LOCAL_TYPE (1); ---允许MPP主备执行DDL操作 SP_CLOSE_SESSION(142344256); 关闭后,此会话会显示网络通信异常 再次查询只能看见update语句会话 方法2: 2.1 查看被堵塞的事务 (事务ID:TRX_ID) SELECT VTW.ID AS TRX_ID, VS.SESS_ID ,VS.SQL_TEXT ,VS.APPNAME ,VS.CLNT_IP FROM V$TRXWAIT VTW LEFT JOIN V$TRX VT ON (VTW.ID=VT.ID) LEFT JOIN V$SESSIONS VS ON (VT.SESS_ID=VS.SESS_ID); 2.2 查询被阻塞的事务是由哪个事务造成的阻塞 (等待事务ID:WAIT_FOR_ID) SELECT WAIT_FOR_ID,WAIT_TIME FROM V$TRXWAIT t WHERE ID=146479; 2.3 通过等待事务ID定位到会话以及执行的语句 SELECT VT.ID AS TRX_ID,VS.SESS_ID,VS.SQL_TEXT ,VS.APPNAME ,VS.CLNT_IP FROM V$TRX VT LEFT JOIN V$SESSIONS VS ON (VT.SESS_ID=VS.SESS_ID) WHERE VT.ID = 146457; 2.4 SP_CLOSE_SESSION关闭等待事务(SESS_ID) 无现象结果 再次查询 无堵塞会话标签:解决办法,SESS,DM,TRX,VS,VT,MPP,等待,ID 来源: https://www.cnblogs.com/zqntx/p/16285996.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。