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

下載本文檔

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

文檔簡介

1、監(jiān)視和檢測鎖沖突本課目的經(jīng)過本課學(xué)習(xí),應(yīng)該能夠掌握:n定義鎖的類型和模式n列出可能導(dǎo)致沖突的原因n使用 Oracle工具 檢測鎖沖突n在緊急情況下解決鎖沖突n防止鎖問題n確認死鎖引起的 Oracle 錯誤鎖機制n自動管理n高級別的數(shù)據(jù)并發(fā) DML事務(wù)的行級別鎖(Row-level locks) 查詢不需要鎖定n改變數(shù)據(jù)一致性級別n專用和共享鎖模式n直到提交或回滾出現(xiàn),鎖一直保持兩種類型鎖nDML 或數(shù)據(jù)鎖:在表中獲得并且用于保護數(shù)據(jù),更確切地說是保護數(shù)據(jù)的完整性 表級鎖防止在DML操作進行時,DDL對于結(jié)構(gòu)的更改 行級鎖保證DML更新是唯一的nDDL 或 字典鎖用于保護對象的結(jié)構(gòu),如表和視圖索

2、引的結(jié)構(gòu)定義。一個字典鎖在D D L事務(wù)需要它時由Oracle自動獲得。(TM)(TX)DML 鎖n一個 DML事務(wù)至少需要兩個鎖: 共享表鎖-防止DDL 專用行鎖-防止并發(fā)n排隊機制保持跟蹤: 等待鎖的用戶 請求鎖的模式 用戶請求鎖的順序表鎖模式n自動獲取:n專用行 (RX): INSERT, UPDATE, DELETEn共享行 (RS): SELECT. FOR UPDATE表鎖模式n在LOCK 語句中手工獲取鎖:SQL LOCK TABLE table_name IN mode_name MODE;共享共享 (S) 不允許不允許DML 參照完整性隱含使用參照完整性隱含使用表鎖模式在LO

3、CK 語句中手工獲取鎖:n共享專用行 (SRX) 不允許 DML或共享模式 參照完整性隱含使用n專用 (X)最高模式的鎖,只允許查詢操作塊中的DML鎖Row 6Block HeaderLock bytesRow 112TX slot 1TX slot 2DDL鎖n專用 DDL鎖: DROP TABLE 語句 ALTER TABLE 語句n共享 DDL 鎖: CREATE PROCEDURE 語句 AUDIT 語句n易碎分析鎖: 無效的共享 SQL 區(qū)域鎖沖突可能原因n不必要的高級別鎖n長時間運行的事物n未提交變更n其它產(chǎn)品強加的高級別鎖 UPDATE emp SET sal = sal x 1

4、.1 WHERE empno = 1000;監(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_BLOCKERSV$LOCKnTYPETX 事務(wù)TM DML或表鎖MR 介質(zhì)恢復(fù)ST 磁盤空間事務(wù)-nlmode/request本列包含鎖的模式??赡艿娜≈等缦拢簄0無n1空n2 行共享(R S)n3 行專用(R X)n

5、4 共享(S)n5 共享行專用(S R X)n6 專用(X)- id1根據(jù)鎖類型的不同,此列中的數(shù)值有不同的含義。假如鎖類型是TM,那么此列中的數(shù)值是將要被鎖定或等待被鎖定的對象的標(biāo)識。假如鎖類型是TX,那么此列中的數(shù)值是回滾段號碼的十進制表示。 id2假如鎖類型是TM,那么此列中的數(shù)值是0。假如鎖類型是TX,那么此列表示交換次數(shù)也就是說,回滾槽重新使用的次數(shù)。nSQL ?rdbmsadmincatblocknSQL ?rdbmsadminutllockt鎖等待SQL select * from dba_waiters;WAITING_SESSION HOLDING_SESSION LOCK_

6、TYPE MODE_HELD MODE_REQUESTED LOCK_ID1 LOCK_ID2- - - - - - - 16 17 Transaction Exclusive Exclusive 524293 173SQL select * from dba_blockers;HOLDING_SESSION- 17SQL 性能管理器9:009:0510:3011:30事務(wù)事務(wù) 1指南: 沖突解決 UPDATE emp SET sal = sal x 1.1 WHERE empno = 1000;COMMIT/ROLLBACK; UPDATE emp SET sal = sal x 1.1 W

7、HERE empno = 1000;1 row updated; 事務(wù)事務(wù) 2ALTER SYSTEM KILL SESSION 10,23;事務(wù)事務(wù)2事務(wù)事務(wù) 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:16死鎖ORA-00060:Deadlock detected while waiting for resource跟蹤文件跟蹤文件 ServerprocessSID_ora_PID.trcUNIX小結(jié)n本課重點:n

溫馨提示

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

評論

0/150

提交評論