oracle performance tunning(6)
六、Lock Contention
1、概念
DML事務使用row-level locks,查詢不會鎖定資料。鎖有兩種模式:exlusive、share。
鎖的型別:
• DML or data locks:
– Table-level locks(TM)
– Row-level locks(TX)
• DDL or dictionary locks
一個transaction至少獲得兩個鎖:一個共享的表鎖,一個專有的行鎖。Oracle server將所有的鎖維護在一個佇列裡,佇列跟蹤了等待鎖的使用者、申請鎖的型別以及使用者的順序資訊。
Lock在下列情況會釋放:commit;rollback;terminated(此時由pmon清理locks)。
Quiesced database:一個資料庫如果除了sys和system之外沒有其他活動session,這個資料庫即處於quiesced狀態。活動session 是指這個session當前處於一個transaction中,或一個查詢中,一個fetch中,或正佔有某種共享資源。
2、可能引起lock contention的原因
不必要的高層次的鎖;
長時間執行的transaction;
未提交的修改;
其他產品施加的高層次的鎖。
解決lock contention的方法:鎖的擁有者提交或回滾事務;殺死使用者會話。
3、死鎖
Oracle自動檢測和解決死鎖,方法是透過回滾引起死鎖的語句(statement),但是這條語句對應的transaction並沒有回滾,因此當收到死鎖的錯誤資訊後,應該去回滾改transaction的剩餘部分。
[@more@]
1、概念
DML事務使用row-level locks,查詢不會鎖定資料。鎖有兩種模式:exlusive、share。
鎖的型別:
• DML or data locks:
– Table-level locks(TM)
– Row-level locks(TX)
• DDL or dictionary locks
一個transaction至少獲得兩個鎖:一個共享的表鎖,一個專有的行鎖。Oracle server將所有的鎖維護在一個佇列裡,佇列跟蹤了等待鎖的使用者、申請鎖的型別以及使用者的順序資訊。
Lock在下列情況會釋放:commit;rollback;terminated(此時由pmon清理locks)。
Quiesced database:一個資料庫如果除了sys和system之外沒有其他活動session,這個資料庫即處於quiesced狀態。活動session 是指這個session當前處於一個transaction中,或一個查詢中,一個fetch中,或正佔有某種共享資源。
2、可能引起lock contention的原因
不必要的高層次的鎖;
長時間執行的transaction;
未提交的修改;
其他產品施加的高層次的鎖。
解決lock contention的方法:鎖的擁有者提交或回滾事務;殺死使用者會話。
3、死鎖
Oracle自動檢測和解決死鎖,方法是透過回滾引起死鎖的語句(statement),但是這條語句對應的transaction並沒有回滾,因此當收到死鎖的錯誤資訊後,應該去回滾改transaction的剩餘部分。
[@more@]
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/18921899/viewspace-1016899/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle performance tunningOracleORM
- oracle performance tunning(1)OracleORM
- oracle performance tunning(2)OracleORM
- oracle performance tunning(3)OracleORM
- oracle performance tunning(4)OracleORM
- oracle performance tunning(5)OracleORM
- oracle performance tunning(7)OracleORM
- oracle performance tunning(8)OracleORM
- oracle performance tunning(9)OracleORM
- oracle performance tunning(10)OracleORM
- Oracle Performance Tuning 11g2 (6)OracleORM
- oracle sql tunning all hintsOracleSQL
- Oracle Performance Tuning 11g2 (6-2)OracleORM
- Oracle Performance ChecklistOracleORM
- oracle sql tunning 15 --常用改寫OracleSQL
- Oracle Performance Tune PlanOracleORM
- oracle performance Features and VersionsOracleORM
- Oracle Performance Top Issue listOracleORM
- Oracle Performance Testing PrincipleOracleORM
- [Oracle Script] ASM Disks Performance metricOracleASMORM
- Oracle Performance Storyteller MERGEOracleORM
- How to use hints in Oracle sql for performanceOracleSQLORM
- 【SQL Performance Analyzer】Oracle 11g SQL Performance Analyzer feature使用SQLORMOracle
- oracle.Performance.Tuning筆記OracleORM筆記
- Oracle Advanced Performance Tuning ScriptsOracleORM
- Oracle -- Common Performance Tuning IssuesOracleORM
- 關閉sql tunningSQL
- Oracle Advanced Performance Tuning Scripts(轉)OracleORM
- A taste of SQL Performance Analyzer in oracle 11gASTSQLORMOracle
- Oracle SQL performance with database links - dblinkOracleSQLORMDatabase
- SQL TUNNING 注意事項SQL
- Oracle Performance Tuning 11g2 (2)OracleORM
- Oracle Performance Tuning 11g2 (5)OracleORM
- Oracle Performance Tuning 11g2 (4)OracleORM
- Oracle Performance Tuning 11g2 (3)OracleORM
- Oracle Performance Tuning 11g2 (1)OracleORM
- Oracle Doc list involved with performance tuningOracleORM
- [筆記]Semaphores Tunning on RedHat Linux for Oracle 9i or 10g筆記RedhatLinuxOracle