使用oradebug掛起程式
oradebug可以幫助我們做很多事情,如dump記憶體資訊、設定事件、掛起程式等。本文主要介紹如何使用oradebug掛起程式。
為什麼要掛起程式呢?比如因為開發人員對資料庫執行一個很大的操作,嚴重影響了資料庫的正常執行,此時你有兩個選擇:
1、刪掉程式
2、暫停程式
實際上,我們往往不能十分確定把程式直接kill掉會造成什麼後果,所以暫停程式的執行就是一個比較折中的選擇。
要暫停程式步驟很簡單:首先找到程式,然後暫停就可以了。
使用oradebug暫停程式時,可以使用pid,也可以使用spid。要找出這些資訊有很多方式了,比如可以在作業系統中 ps -ef、可以透過v$session、v$process、v$bgprocess等檢視透過關聯得到。
下面透過一個例子來說明如何oradebug干預程式的執行狀態:
1、找出程式號
本例我們要掛起以使用者suk登入的會話:
以sys使用者登入查詢:
SQL> select pid,spid from v$process where addr in (select paddr from v$session where username='SUK');
PID SPID
---------- ------------
10 4107
2、設定要操作的程式號
有兩種方法:
1)用spid設定
SQL> oradebug setospid 4107
Oracle pid: 10, Unix process pid: 4107, image: oracle@suk (TNS V1-V3)
2)用pid設定
SQL> oradebug setorapid 10
Unix process pid: 4107, image: oracle@suk (TNS V1-V3)
3、暫停程式執行
SQL> oradebug suspend
Statement processed.
此時,程式號為4107的程式將會處於掛起狀態。我們稍後可以重啟它。
4、重啟程式
重啟程式也要先設定程式號:
SQL> oradebug setospid 4107
Oracle pid: 10, Unix process pid: 4107, image: oracle@suk (TNS V1-V3)
SQL> oradebug resume
Statement processed.
注意:不能在會話中suspend當前會話。如果那樣做的話,當前會話會被hang,並且不能被其他session resume,只能kill方式關閉。
from:
[@more@]來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/633084/viewspace-1017210/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 用oradebug掛起程式
- 【體系結構】Oracle資料提交與事務隔離實驗 oradebug掛起lgwr程式Oracle
- ORADEBUG使用詳解
- 7.6 實現程式掛起與恢復
- oracle oradebug使用詳解Oracle
- 使用Oradebug修改Oracle SCNOracle
- oradebug工具使用系列一
- OGG複製程式掛起abended處理
- Oracle oradebug 命令 使用說明Oracle
- Oracle oradebug命令使用說明Oracle
- 使用AD+處理崩潰和掛起 (轉)
- 使用AD+處理崩潰和掛起(2) (轉)
- db2表掛起DB2
- 10g bug 偵聽掛起 兩個偵聽程式
- 在10g中使用oradebug trace工具
- [oradebug命令學習1]Using ORADEBUG Utility
- 秘密武器:使用 SysRq 鍵安全重啟掛起的 LinuxLinux
- win10 恢復掛起程式方法 win10如何取消軟體掛起狀態Win10
- 使用oradebug dump hanganalyze分析oracle hang系列一Oracle
- 使用oradebug dump hanganalyze 分析oracle hang系列二Oracle
- 使用oradebug dump hanganalyze 分析oracle hang系列三Oracle
- oracle實驗記錄 (使用hanganlyze&oradebug)Oracle
- oracle程式異常中止時登入掛起問題的解決Oracle
- RAC因為localhost磁碟空間不夠導致has程式掛起localhost
- Linux中執行緒的掛起與恢復(程式暫停)Linux執行緒
- ORACLE EVENT && ORADEBUGOracle
- Oracle oradebug命令Oracle
- oradebug詳解
- kotlin協程的掛起suspendKotlin
- Switch log 掛起的小問題
- 解除分散式事務的掛起分散式
- 使用oradebug來獲取跟蹤檔案的位置
- 小程式外掛的開發和使用
- oradebug命令詳解
- oradebug分析oracle hangOracle
- (轉)Oracle EVENT && ORADEBUGOracle
- Oracle Debug ---- oradebugOracle
- ipcs / oradebug ipc / sysresv