发现谁锁定了对象,并kill掉

1,首先select * from dba_ddl_locks 可以看到都是那些会话锁定了你的对象
2,使用pl/sql developer:tools=>sessions 列出所有会话,仔细查看可疑会话即可

另:select * from v$lock也可以提供一定的信息。

v$session.paddr=v$process.addr
v$session.saddr=v$transaction.sess_addr
从v$process返回的spid列即是你要找的os process id.

Question:
windows下如何kill掉某个进程?操作方法:单击“开始”/程序/附件/命令提示符,输入命令:ntsd -c q -p PID(把最后那个PID,改成你要终止的进程的PID)。在进程列表中你可以查到某个进程的PID,例如我们要关闭图1中的Explorer.exe进程,

输入:ntsd -c q -p 408即可。

Oracle 在Oracle Home/bin 目录下提供了一个 orakill.exe 命令,这个命令的参数与ALTER SYSTEM KILL SESSION 相同,但是不要求数据库连接。要定位一个特定的线程,需

要寻找一个能够显示属于一个进程的所有线程的程序。Windows 任务管理器只能显示线程数和进程。你需要从微软的资源工具包中寻找一个用于 Windows 2000 和 NT 的工具程序,

比如免费的QuickSlice,或者Qslice.exe(该工具是基于 Windows 的),或者PStat(Pstat.exe 是一个命令行工具)。简单地在 orakill 命令后输入线程 ID(以十进制表示)和 SID 即可:

orakill
orakill ORCL 2760

"Kill of thread id 2760 in instance ORCL successfully signalled[sic]."
这儿的是数据库实例名如:orcl,ora10g;
可以用下面语句中返回的spid:

select spid, osuser, s.program from v$process p, v$session s where p.addr=s.paddr

应该只有在不能访问数据库来执行ALTER SYSTEM KILL SESSION 的情况才使用orakill。如果意外结束了一个必要的后台进程,比如 PMON,那么很可能会导致数据库崩溃。新手永远不要这样做。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22997/viewspace-159300/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/22997/viewspace-159300/

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值