【oracle 殺死繁忙程式 ORA-00054】實驗
資料庫實際操作過程中,有時候會遇到程式一致處於繁忙階段,命令列中無法終端其程式的執行,這個時候我們就想是否可以找到具體程式及其控制程式碼,將其殺死,從而使系統資源得到釋放。
下面我們來做個試驗:
一、 實驗環境
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
二、 檢視現象及報錯
多一個表進行操作,導致出現表鎖的情況,報錯如下
SQL> drop table it purge;
drop table it purge*
ERROR at line 1:
ORA-00054: 資源正忙 , 但指定以 NOWAIT 方式獲取資源 , 或者超時失效
從現場的症狀,我們做刪除,修改表,處於等待狀態,無法操作。
三、 處理問題
1、 檢視是否有被鎖的物件;
select * from v$locked_object;
2、 得到被鎖物件的 session_id;
select session_id from v$locked_object;
3、 透過 session_id去獲得 v$session的 sid和 serial#;
SELECT sid, serial#, username, osuser FROM v$session where sid = '1147';
SELECT sid, serial#, username, osuser FROM v$session where sid = '1705';
4、 殺死鎖表程式。
ALTER SYSTEM KILL SESSION '1147,13';
ALTER SYSTEM KILL SESSION '1705,21';
5、 刪除表 scott.it資源繁忙情況解決。
總結:透過以上殺死僵死程式過程中,我們首先得找出具體的鎖程式,這方便我們在後期最佳化過程中語句執行慢,給自己找了一點思路。
Yicheng16
22.08.16
-- The End --
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69963467/viewspace-2910556/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- linux殺死後臺程式Linux
- oracle ora-00054錯誤處理Oracle
- 殺死Haskell的人也可能殺死Rust · GitHubHaskellRustGithub
- Linux基礎命令---殺死程式pkillLinux
- Linux基礎命令---殺死程式killallLinux
- Linux基礎命令—殺死程式pkillLinux
- 直播軟體開發,Android實現根據程式名殺死特定程式Android
- Mac檢視和殺死後臺程式Mac
- 按照名字殺死程式的四種方法
- 殺死8080埠
- Oracle 資料庫執行提示:ORA-00054Oracle資料庫
- 檢視oracle死鎖程式並結束死鎖Oracle
- 最新的AI會“殺死”程式設計嗎?AI程式設計
- Windows中殺死佔用某個埠的程式Windows
- 殺死那個遊戲公司遊戲
- Oracle實驗(04):floatOracle
- Linux檢視磁碟用量,以及殺死已刪除檔案的程式Linux
- 「跳一跳」兩年後,廣告“殺死”遊戲小程式?遊戲
- 查殺oracle的阻塞Oracle
- [譯] google會背叛並殺死Android嗎?GoAndroid
- iOS除錯小技巧,在殺死程式怎麼檢視NSLog資訊iOS除錯
- Oracle實驗(01):字元 & 位元組Oracle字元
- Oracle實驗(03):number的使用Oracle
- 談判失敗:Oracle是如何殺死Java EE的?所有企業級Java的巨大損失!OracleJava
- 雲端計算會殺死開源嗎?
- 檢視埠被佔用情況,殺死埠
- 批次殺死MySQL連線的幾種方法MySql
- 查殺程式小工具——WPF和MVVM初體驗MVVM
- JVM 判斷物件已死,實踐驗證GC回收JVM物件GC
- Oracle實驗(02):轉換 & 轉譯Oracle
- Oracle實驗(05):時間型別Oracle型別
- 【Oracle 恢復表空間】 實驗Oracle
- 軟體的複雜性正在殺死我們
- 你永遠都別想殺死《動物之森》
- 複雜性正在殺死軟體開發者
- oracle的會話如何自殺?Oracle會話
- Twitter宣佈封殺卡巴斯基實驗室廣告
- 谷歌:Oracle Java 勝訴將殺死軟體開發,要求美最高法院必須作出裁決!谷歌OracleJava