杀掉ORACLE会话的步骤

博客介绍了Oracle数据库处理死锁及杀会话的方法。先通过SQL语句查看被锁对象,获取相关信息。若杀会话语句报错但对象仍被锁,可查询数据库实例名,再远程到服务器端,运行CMD命令,依次设置环境变量并使用orakill命令解决问题。

1.查看被锁的对象
SELECT b.object_name, machine, c.sid, c.serial#, b.status, d.pid, d.spid, d.addr
FROM gv$locked_object a, dba_objects b, gv$session c, v$process d
WHERE a.object_id  = b.object_id
AND a.session_id = c.sid
AND d.addr = c.paddr;

2.杀会话 (1637为第1步中查询出的sid, 1568为第1步查询出的serial#)
ALTER system kill session ‘1637, 1568’;

如果第2步中的语句报错会话已经不存在,但是还有相应的对象锁着,则用下面的方法Kill掉

3.查询当前数据库实例名 (此处查询结果为ggyjdb)
SELECT instance_name FROM v$instance;–ggyjdb

4.远程到服务器端,运行CMD命令,依次执行下面的命令(ggyjdb为第3步查询出的数据库实例名 5200为第1步查询出的spid)
set ORACLE_SID=ggyjdb
orakill ggyjdb 5200

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值