Oracle資料完整性和鎖機制——《12年資深DBA教你Oracle開發與優化——效能優化部分》
阿新 • • 發佈:2019-01-29
•可打破的解析鎖定(Breakable Parsed Lock)
在shared pool裡快取的SQL遊標或者PL/SQL程式程式碼都會獲得引用物件上的解析鎖定。如果我們發出DDL命令修改了某個物件的結構時,該物件相關的、位於 shared pool裡的解析鎖定就被打破,從而導致引用了該物件的SQL遊標或者PL/SQL程式程式碼全都失效。下次再次執行相同的SQL語句時,需要重新解析,這 也就是所謂的SQL語句的reload了。可打破的解析鎖定不會阻止其他的DDL鎖定,如果發生與解析鎖定相沖突的DDL鎖定,則解析鎖定也會被打破
死鎖的解決
1.查詢鎖
3.Kill 作業系統程序
Orakill 例項名 作業系統程序ID
Orakill oralearn 2444
其中oralearn是資料庫sid,244是第二步查出spid
資料完整性
常用的資料完整性約束規則包括:
1.NOT NULL
2.唯一關鍵字
3.主關鍵字
4.外來鍵
5.檢查項Check
由於本部分內容再前面的章節中已經穿插講解,本處不再贅述
要點及習題
習題
1.什麼是事務,請解釋什麼是顯式事務和隱式事務。
2.事務具有哪四個特性?並行性 事務主要使用的情況是什麼,請舉出四種情況。
3.事務級讀一致性包括那三種類型,並列表說明其相同點和不同點。
4.什麼是資料庫鎖,包括那兩種大的型別?TM鎖又包括那些型別?
5.將表級鎖和行級鎖結合起來,舉例解釋資料鎖的工作機制。
6.什麼是死鎖?死鎖解決的步驟是什麼?
7.為什麼資料庫設計不推薦大量使用外來鍵來確保資料完整性?
轉載請註明【http://sishuok.com/forum/blogPost/list/6366.html#22766】