查看数据库中会话和死锁,并杀掉死锁进程(预防内存泄露)

1.查看数据库中程序会话sql语句(程序名称可不全,会模糊匹配)

select * from from v$session where program like ‘%程序名%’

2. 查看死锁

--username:死锁语句所在的数据库用户

--lockwait:死锁的状态,日过有内容表示死锁

--status:状态,active表示被死锁

--machine:死锁语句所在的机器

--program:死锁语句来自哪个程序

select username,lockwait,status,machine,program

   From v$session

 where sid in(select session_id from v$locked_object)

3. 查看死锁进程

Select s.username,

l.object_id,

l.session_id,

s.serial#,

l.oracle_username,

l.os_user_name,

l.process

  From v$locked_object l, v$session s

Where l.session_id = s.sid

4. kill掉这个死锁的进程,sid为上述的l.session_id,serial为上述的serial

alter system kill session ‘sid,serial#’

猜你喜欢

转载自blog.csdn.net/feiyang5260/article/details/81003865