如何杀掉被锁定的ORACLE进程
来源:互联网 发布:如何修改linux的ip地址 编辑:程序博客网 时间:2024/04/27 22:56
上周五在对一张大表的数据进行汇总的时候,在程序运行中不小心将PL/SQL关闭,导致表被锁定.下面来讲讲解决的方法.
1.下面的语句用来查询哪些对象被锁:
col object_name for a30
col machine for a20
select object_name,s.sid,s.serial#
from v$locked_object l,dba_objects o ,v$session s
where l.object_id = o.object_id and l.session_id=s.sid;
OBJECT_NAME SID SERIAL#
----------------------------------- ---------- ----------
ACC_HOLD_CYCLE_TOTAL 144 21993
2.下面的语句用来杀死一个进程:
alter system kill session '144,21993'; (其中144,21993分别是上面查询出的sid,serial#)
3.利用上面的命令杀死进程后,该进程状态被置为 "killed", 但是锁定的资源很长时间没有被释放,那么我们可以在os一级再杀死相应的进程(线程),首先获得进程(线程)号:
select spid, osuser, s.program
from v$session s,v$process p
where s.paddr=p.addr and s.sid=#sid; (#sid是上面的sid)
4.在操作系统中杀掉相应的进程(线程):
1)在Linux上,用root身份执行命令:
kill -9 12345(12345是第3步查询出的spid)
2)在windows 用orakill杀死线程,orakill是oracle提供的一个可执行命令,语法为:orakill sid thread
其中:
sid:表示要杀死的进程属于的实例名
thread:是要杀掉的线程号,即第3步查询出的spid。
例:c:>orakill orcl 12345
这样就不用重启数据库拉,问题解决.
- 如何杀掉被锁定的ORACLE进程
- 如何杀掉带锁的Oracle进程
- 如何杀掉带锁的Oracle进程
- 如何杀掉带锁的oracle进程
- oracle杀掉被锁住的进程
- 查询oracle锁定的表及杀掉锁表的进程
- 查询oracle锁定的表及杀掉锁表的进程
- 如何杀掉服务器的进程
- 如何杀掉指定进程的进程号
- Oracle杀掉系统进程的描述
- 杀掉所有Oracle的用户进程
- 杀掉带锁的Oracle进程
- Oracle杀掉系统进程的描述
- Oracle杀掉系统进程的描述
- 如何杀掉D状态的进程?[zt]
- 如何禁止任何人杀掉我的进程?
- 如何杀掉greenplum、postgresql的会话进程
- 如何杀掉D,Z状态的进程
- Memcached深度分析
- 学习linux/unix编程方法的建议,学习Linux的四个步骤
- 最近想到一些东西
- linux socket编程
- 中文系MM的聊天记录.
- 如何杀掉被锁定的ORACLE进程
- 顶着浏览器的边框显示图片
- linux连接器ld
- 数据库概论
- 用批处理设置你的ip
- SQL语句拼凑注意事项
- PHP开发环境配置
- 者者软件区号邮编助手1.4源代码(二)
- VC6中将UNICODE字符串转化为浮点数