oracle杀死锁脚本,oracle锁查询常用脚本

with

lockinfo as (

select distinct decode(sql_hash_value, 0, prev_hash_value, sql_hash_value) sql_hash_value, decode  (sql_hash_value, 0, prev_sql_addr, sql_address) sql_address, s.sid, l.id1 object_id, l.block

from v$lock l, v$session s

where l.sid = s.sid and s.type = 'USER' and decode(sql_hash_value, 0, prev_hash_value, sql_hash_value) > 0)

select s.sid, s.serial#, p.spid ospid, (case when block>0 then 'alter system kill session ''' || s.sid || ',' || s.serial# || ''';' end) kill_sql,

o.owner, o.object_name, o.object_type, s.username login_username, s.machine, s.client_info, s.osuser, s.terminal, s.module, s.program, s.status,

aa.name command_type,

-- s.row_wait_obj#, s.row_wait_file#, s.row_wait_block#, s.row_wait_row#,

decode(s.row_wait_obj#, -1, null, dbms_rowid.rowid_create(1, s.row_wait_obj#, s.row_wait_file#, s.row_wait_block#, s.row_wait_row#)) row_wait_rowid,

st.sql_text

from lockinfo li, v$session s, dba_objects o, v$process p, audit_actions aa, v$sqltext st

where li.sid = s.sid(+) and s.paddr = p.addr(+) and li.object_id = o.object_id and s.command = aa.action(+) and li.sql_address = st.address(+) and li.sql_hash_value = st.hash_value(+)

-- and o.owner = upper('SCOTT') and o.object_name = upper('STATS_TABLE')

order by li.block desc, s.row_wait_obj#, s.sid, li.sql_address, li.sql_hash_value, st.piece;

--阻塞脚本  查询谁阻塞谁

col block_msg for a80

select c.terminal||' ('''||a.sid||','||c.serial#||''') is blocking '||b.sid block_msg

from v$lock a,v$lock b,v$session c

where a.id1=b.id1

and a.id2=b.id2

and a.block>0

and a.sid<>b.sid

and a.sid=c.sid

--ORACLE 锁表查询

SELECT /*+ rul

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值