監(jiān)視和檢測鎖沖突_第1頁
監(jiān)視和檢測鎖沖突_第2頁
監(jiān)視和檢測鎖沖突_第3頁
監(jiān)視和檢測鎖沖突_第4頁
監(jiān)視和檢測鎖沖突_第5頁
已閱讀5頁,還剩13頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、1 1監(jiān)視和檢測鎖沖突監(jiān)視和檢測鎖沖突2 2本課目的本課目的經(jīng)過本課學習,應該能夠掌握經(jīng)過本課學習,應該能夠掌握: :定義鎖的類型和模式定義鎖的類型和模式列出可能導致沖突的原因列出可能導致沖突的原因使用使用 OracleOracle工具工具 檢測鎖沖突檢測鎖沖突在緊急情況下解決鎖沖突在緊急情況下解決鎖沖突防止鎖問題防止鎖問題確認死鎖引起的確認死鎖引起的 Oracle Oracle 錯誤錯誤3 3鎖機制鎖機制自動管理自動管理數(shù)據(jù)并發(fā)的高級別數(shù)據(jù)并發(fā)的高級別DMLDML事務的行級別鎖(事務的行級別鎖(Row-level Row-level lockslocks)不許要鎖查詢不許要鎖查詢改變數(shù)據(jù)一致

2、性級別改變數(shù)據(jù)一致性級別專用和共享鎖模式專用和共享鎖模式直到提交或回滾出現(xiàn),鎖一直保持直到提交或回滾出現(xiàn),鎖一直保持4 4兩種類型鎖兩種類型鎖(TM)(TX)DML DML 或數(shù)據(jù)鎖或數(shù)據(jù)鎖: :表級鎖表級鎖行級鎖行級鎖DDL DDL 或或 字典鎖字典鎖5 5DML 鎖鎖一個一個 DMLDML事務至少需要事務至少需要兩個鎖兩個鎖: :共享表鎖共享表鎖專用行鎖專用行鎖排隊機制保持跟蹤排隊機制保持跟蹤: :等待鎖的用戶等待鎖的用戶請求鎖的模式請求鎖的模式用戶請求鎖的順序用戶請求鎖的順序6 6表鎖模式表鎖模式自動獲取自動獲取: :專用行專用行 (RX): INSERT, UPDATE, (RX):

3、INSERT, UPDATE, DELETEDELETE共享行共享行 (RS): SELECT. FOR UPDATE(RS): SELECT. FOR UPDATE7 7表鎖模式表鎖模式SQL LOCK TABLE table_name IN mode_name MODE;在在LOCK LOCK 語句中手工獲取鎖語句中手工獲取鎖: :共享共享 (S)不允許不允許DML參照完整性隱含使用參照完整性隱含使用8 8表鎖模式表鎖模式在在LOCK LOCK 語句中手工獲取鎖語句中手工獲取鎖: :共享專用行共享專用行 (SRX)(SRX)不允許不允許 DMLDML或共享模式或共享模式參照完整性隱含使用參

4、照完整性隱含使用專用專用 (X)(X)9 9塊中的塊中的DML鎖鎖Row 6Block HeaderLock bytesRow 112TX slot 1TX slot 21010DDL鎖鎖專用專用 DDLDDL鎖鎖: :DROP TABLE DROP TABLE 語句語句ALTER TABLE ALTER TABLE 語句語句共享共享 DDL DDL 鎖鎖: :CREATE PROCEDURE CREATE PROCEDURE 語句語句AUDIT AUDIT 語句語句易碎分析鎖易碎分析鎖: : 無效的共享無效的共享 SQL SQL 區(qū)域區(qū)域1111鎖沖突可能原因鎖沖突可能原因不必要的高級別鎖不

5、必要的高級別鎖長時間運行的事物長時間運行的事物未提交變更未提交變更其它產(chǎn)品強加的高級別其它產(chǎn)品強加的高級別鎖鎖1212 UPDATE emp SET sal = sal x 1.1 WHERE empno = 1000;監(jiān)視鎖活動的診斷工具監(jiān)視鎖活動的診斷工具V$LOCKV$LOCKED_OBJECTTransaction 1 UPDATE emp SET sal = sal x 1.1;Transaction 2Transaction 3 UPDATE emp SET sal = sal x 1.1 WHERE empno = 2000;DBA_WAITERSDBA_BLOCKERS1313

6、鎖等待鎖等待SQL select SQL select * * from dba_waiters; from dba_waiters;WAITING_SESSION HOLDING_SESSION LOCK_TYPE MODE_HELD WAITING_SESSION HOLDING_SESSION LOCK_TYPE MODE_HELD MODE_REQUESTED LOCK_ID1 LOCK_ID2MODE_REQUESTED LOCK_ID1 LOCK_ID2- - - - - - - - - - - - - 16 17 Transaction Exclusive 16 17 Trans

7、action Exclusive Exclusive 524293 173Exclusive 524293 173SQL select SQL select * * from dba_blockers; from dba_blockers;HOLDING_SESSIONHOLDING_SESSION- 17 17SQL SQL 1414性能管理器性能管理器15159:009:0510:3011:30事務事務 1指南指南: 沖突解決沖突解決 UPDATE emp SET sal = sal x 1.1 WHERE empno = 1000;COMMIT/ROLLBACK; UPDATE emp

8、SET sal = sal x 1.1 WHERE empno = 1000;1 row updated; 事務事務 2ALTER SYSTEM KILL SESSION 10,23;1616事務事務2事務事務 1死鎖死鎖 UPDATE emp SET sal = sal x 1.1 WHERE empno = 1000; UPDATE emp SET sal = sal x 1.1 WHERE empno = 2000;ORA-00060:Deadlock detected while waiting for resource UPDATE emp SET mgr = 1342 WHERE empno = 2000; UPDATE emp SET mgr = 1342 WHERE empno = 1000;9:009:159:161717死鎖死鎖ORA-00060:Deadlock detected while waiting for resource跟蹤文件跟蹤文件 ServerprocessSID_ora_PID.trcU

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論