解決ora-00054 Oracle鎖表問題,ora-00054oracle

來源:互聯網
上載者:User

解決ora-00054 Oracle鎖表問題,ora-00054oracle

1、運行sql: select session_id from v$locked_object;   查出鎖表的session,可能很多,正常是沒有的

2、SELECT sid, serial#, username, osuser FROM v$session where sid = 162;   將162換成你查出來的session_id

3、kill掉session

      ALTER SYSTEM KILL SESSION '162,4294';  4294為第二步查出來的serial#,

      


整個過程




ora-00054: 資源正忙, 但指定以 nowait 方式擷取資源怎解決

ORA-00054: 資源正忙, 但指定以 NOWAIT 方式擷取資源, 或者逾時失效

解決方案如下:
=========================================================
SQL> select session_id from v$locked_object;
SESSION_ID
----------
56
SQL> SELECT sid, serial#, username, osuser FROM v$session where sid = 142;
SID SERIAL# USERNAME OSUSER
---------- ---------- ------------------------------ ------------------------------
56 2088 ghb fy
SQL> ALTER SYSTEM KILL SESSION '56,2088';
System altered
執行完上述命令後,提示會話斷開。重新串連資料庫,然後執行truncate操作,成功!

以下是原理部分
==============

Oracle資料庫的鎖類型
根據保護的對象不同,Oracle資料庫鎖可以分為以下幾大類:DML鎖(data locks,資料鎖),用於保護資料的完整性;DDL鎖(dictionary locks,字典鎖),用於保護資料庫物件的結構,如表、索引等的結構定義;內部鎖和閂(internal locks and latches),保護資料庫的內部結構。
DML鎖的目的在於保證並發情況下的資料完整性,。在Oracle資料庫中,DML鎖主要包括TM鎖和TX鎖,其中TM鎖稱為表級鎖,TX鎖稱為事務鎖或行級鎖。
當Oracle 執行DML語句時,系統自動在所要操作的表上申請TM類型的鎖。當TM鎖獲得後,系統再自動申請TX類型的鎖,並將實際鎖定的資料行的鎖標誌位進行置位。這樣在事務加鎖前檢查TX鎖相容性時就不用再逐行檢查鎖標誌,而只需檢查TM鎖模式的相容性即可,大大提高了系統的效率。TM鎖包括了SS、SX、S、X 等多種模式,在資料庫中用0-6來表示。不同的SQL操作產生不同類型的TM鎖。
在資料行上只有X鎖(獨佔鎖定)。在 Oracle資料庫中,當一個事務首次發起一個DML語句時就獲得一個TX鎖,該鎖保持到事務被提交或復原。當兩個或多個會話在表的同一條記錄上執行 DML語句時,第一個會話在該條記錄上加鎖,其他的會話處於等待狀態。當第一個會話提交後,TX鎖被釋放,其他會話才可以加鎖。
當Oracle資料庫發生TX鎖等待時,如果不及時處理常常會引起Oracle資料庫掛起,或導致死結的發生,產生ORA-60的錯誤。這些現象都會對實際應用產生極大的危害,如長時間未響應,大量事務失敗等。
悲觀封鎖和樂觀封鎖
一、悲觀封鎖
鎖在使用者修改之前就發揮作用:
Select ..for update(nowait)
Select * from tab1 for update
使用者發出這條命令之後,oracle將會對返回集中的資料建立行級封鎖,以防止其他使用者的修改。
如果此時其他使用者對上面返回結果集的資料進行dml或ddl操作都會返回一個錯誤資訊或發生阻塞。
1:對返回結果集進行update或dele......餘下全文>>
 
oracle 鎖表問題 我在後台迴圈執行了一些delete操作 怎表就鎖住了 該怎解鎖?

什麼用戶端,Delete後提交了嗎
明確再調用commit看如何
 

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.