【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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 殺死Oracle死鎖程式Oracle
- oracle殺死鎖表的程式Oracle
- ORACLE中殺死鎖程式的方法Oracle
- 殺死殭屍程式
- 殺掉鎖死的程式
- 【sqlserver】殺掉所有死鎖程式SQLServer
- 殺死Haskell的人也可能殺死Rust · GitHubHaskellRustGithub
- 檢視並殺死殭屍程式
- SAP Basis: 從SAP GUI殺死程式GUI
- shell指令碼按照程式名稱殺死程式指令碼
- oracle殺程式Oracle
- Linux基礎命令—殺死程式pkillLinux
- Linux基礎命令---殺死程式pkillLinux
- Linux基礎命令---殺死程式killallLinux
- Mac檢視和殺死後臺程式Mac
- 按照名字殺死程式的四種方法
- 如何批量殺死當前的MySQL程式MySql
- 自動殺死UNIX僵死的程式(轉)
- oracle 繁忙時候建立索引Oracle索引
- 直播軟體開發,Android實現根據程式名殺死特定程式Android
- 【Kill】兩條Linux命令徹底殺死OracleLinuxOracle
- 最新的AI會“殺死”程式設計嗎?AI程式設計
- 殺死一個正在執行的程式 (轉)
- 殺死8080埠
- Windows中殺死佔用某個埠的程式Windows
- 一個殺死終端所有程式的 Shell(轉)
- 殺死那個遊戲公司遊戲
- 誰將會殺死 Java?Java
- 如何用各種程式語言殺死一條龍
- rhel5上面awk及xargs快速殺死kill程式
- Android後臺殺死系列之三:後臺殺死原理LowMemoryKiller(4.3-6.0)Android
- Oracle徹底殺掉程式Oracle
- db2查殺死鎖DB2
- 即刻殺死資料庫鎖資料庫
- 通過ASP.NET程式設計進行遠端殺死程式ASP.NET程式設計
- oracle ora-00054錯誤處理Oracle
- 檢視oracle死鎖程式並結束死鎖Oracle
- 「跳一跳」兩年後,廣告“殺死”遊戲小程式?遊戲