oracle 查询spid,查看数据库session的sid来查杀对应系统进程号spid
經常遇到在PLSQL Developer等工具操作后,(例如做了個jobs,但jobs做錯了,要停止)就要找到sessions對應的系統spid ,方便登錄到服務器,利用系統的spid進行查殺。(其實可以直接用PLSQL Developer工具的sessions工具來查殺,但有時候登錄的用戶不夠權限,一般要sysdba之類的用戶才有查殺權利),所以就可以通過查看v$sessions的sid和對應v$process的spid來查殺不需要的session對應的進程
select a.USERNAME,b.SPID from v$session a,v$process b where a.PADDR=b.ADDR
下面的效果更詳細
select a.SID,a.USERNAME,a.status,a.process,b.SPID from v$session a,v$process b where a.PADDR=b.ADDR;【效果 如下圖】
例如我在PL/SQL Developer里面的sessions 工具里面看到 sid為630的登錄sessions
我要知道630sid 對應的系統spid,就是上圖的11452為系統對應的spid
然后就登錄到系統上,用root或者oracle 用戶,查看ps -ef |grep ora 對應的進程號是11452的,并kill -9 11452,那么圖2看到的 sid為630的會話就中斷了,被殺了。。
補充一個查詢語句:
select a.SID,a.USERNAME,a.status,a.process,b.SPID,c.SQL_TEXT from v$session a,v$process b,v$sqltext c
where a.PADDR=b.ADDR and a.SQL_ADDRESS=c.ADDRESS
and spid='9191';
通過查看系統top命令,看到哪個進程號 占用cpu 高,就可以查看到該進程號在數據庫里面做的操作
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的oracle 查询spid,查看数据库session的sid来查杀对应系统进程号spid的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle 半连接 效率,关于orac
- 下一篇: Oracle里PO自动售货如何做,Ora