Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

Oracle checks the lock table and handles the lock table

2025-01-30 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Database >

Share

Shulou(Shulou.com)06/01 Report--

/

locked

*query locked object and analyse reason,kill it

*/

select 'alter system kill session ''' || SID || ',' || SERIAL# || ''';'

from (select distinct a.sid,

a.Serial#,

status,

machine,

LOCKWAIT,

logon_time

from v$session a, v$locked_object b

where (a.status = 'ACTIVE' or a.status = 'INACTIVE')

and a.sid = b.session_id

and b.ORACLE_USERNAME = 'XYHISTEST' --Add username to filter user resources

);

/2. Batch execute the statements generated in the first step

alter system kill session 'sid,serial#';

alter system kill session '6976,33967';/

/3. Query oracle user name, machine name, lock table object/

SELECT l.session_id sid,

s.serial#,

l.locked_mode,

l.oracle_username,

l.os_user_name,

s.machine,

s.terminal,

o.object_name,

s.logon_time

FROM v$locked_object l, all_objects o, v$session s

WHERE l.object_id = o.object_id

AND l.session_id = s.sid

ORDER BY sid, s.serial#;

/3. Or/

select s.SID, s.OSUSER, p.spid as OSPID, s.MACHINE, s.TERMINAL, s.PROGRAM

from v$session s, v$process p

where s.sid = 6 --session_id

and s.paddr = p.addr;

/4. Query is what sql statement is executed to lock the table/

select b.sql_text

from v$session a, v$sql b

where a.sid = 6 --session_id

and a.SQL_ADDRESS = b.ADDRESS(+);

select sql_text

from v$session a, v$sqltext_with_newlines b

where DECODE(a.sql_hash_value, 0, prev_hash_value, sql_hash_value) =

b.hash_value

and a.sid = #149

order by piece;

/5. Query is what sql statement is executed to lock the table/

SELECT l.session_id sid,

s.serial#,

l.locked_mode,

l.oracle_username,

s.user#,

l.os_user_name,

s.machine,

s.terminal,

a.sql_text,

a.action

FROM v$sqlarea a, v$session s, v$locked_object l

WHERE l.session_id = s.sid

AND s.prev_sql_addr = a.address

ORDER BY sid, s.serial#;

/6. Check whether there is SQL for locking tables/

select 'blocker(' || lb.sid || ':' || sb.username || ')_sql:' ||

qb.sql_text blockers,

'waiter (' || lw.sid || ':' || sw.username || ')_sql:' ||

qw.sql_text waiters

from v$lock lb, v$lock lw, v$session sb, v$session sw, v$sql qb, v$sql qw

where lb.sid = sb.sid

and lw.sid = sw.sid

and sb.prev_sql_addr = qb.address

and sw.sql_address = qw.address

and lb.id1 = lw.id1

and sw.lockwait is not null

and sb.lockwait is null

and lb.block = 1;

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Database

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report