oracle 集群(rac)释放锁定表真实有效

本文探讨了在集群环境下遇到表被锁定时如何进行诊断和解锁。传统的v$session视图无法在集群中提供全面信息,但通过gv$session视图的INST_ID可以定位到锁定源头的主机。作者提供了查询锁定表并执行解锁SQL的步骤,强调了gv$session在处理这类问题时的优势。此外,还分享了如何根据INST_ID登录相应主机进行操作的方法。
摘要由CSDN通过智能技术生成

遇到表被锁时,按常规办法查不到哪个session所致,主要原因是v$session只能看到本机的信息。如果在集群上,通过gv$session.INST_ID 获取主机,然后登录那台主机,执行解锁sql即可。

研究了一上午的成果。网上的解锁方案都是相互抄的,按这个办法根本查不到锁定的表。

--根据INST_ID,1-3分别对应abc,进相应的主机kill
c6ogx17c_pdchn
c6ogx17b_pdchn
c6ogx17a_pdchn

--查询集群上锁定的的表,并提供释放表的sql
SELECT 'alter system kill session '''||sid||','||serial#||''';' 执行语句,s.inst_id,s.status,s.sid,s.username,a.SQL_TEXT FROM gv$session s,  gv$sqlarea a  WHERE  a.SQL_ID = s.SQL_ID and upper(sql_text) like '%SUBSC%';

说明:

gv$开头视图是rac全局的,v$开头是本节点的
gv$session比v$session多一个字段 INST_ID

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值