DML操作涉及到的系統表
使用者表上沒有鎖,卻不能做select 操作,很奇怪哦。
[@more@]使用者反映對錶做select 操作,被堵塞了,一直在等待
我覺得很奇怪,表是rowdata,除非發生了表升級,否則不因該被堵塞住阿。
查了一下,在表上沒有鎖,再查程式,果然是lock sleep ,再一查才發現,原來是在等待 syscolumns 表的鎖。
有個drop tble 死在那了,結果導致對 syscolumns 表有表一級的鎖,
這個原因導致的select 無法操作,倒是我一直沒有注意到過了。
順便作了一個測試
我用了一個測試庫,因為系統標無法lock table,所以我用update 把syscolumsn 這張表上關於test1 ,這張表的頁鎖住了。
然後對test1表做操作。
發現 select * from test1;select id from test1;update test1 set id=2 ;delte from test1 where id=2都無法操作
但是delet from test1 可以操作
總結;當系統表syscolumns被鎖住之後,對錶的操作中涉及到列資訊的操作都不可用。
不知道select ,update ,delete 這些DML操作還涉及到些什麼系統表呢。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/133835/viewspace-899977/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 基於LOGMINER 的表DML誤操作恢復
- 表的建立修改及增刪改查-DML操作
- 表中出現碎片,造成查詢、DML操作變慢
- 用user_tab_modifications查詢表dml操作時間
- SAP IQ DML操作產生表鎖(不是行鎖),同時DML同一個表預設直接報錯
- DML操作引起的blocking(一)BloC
- DML操作引起的blocking(二)BloC
- 閃回 錯誤的DML 操作
- Oracle並行操作——並行DML操作Oracle並行
- 並行dml操作所需的TM鎖並行
- MySQL的DDL和DML操作語法MySql
- DML操作 DDL觸發器觸發器
- dml操作重做日誌分析
- 不可見索引在表DML操作過程中依然被維護索引
- Oracle 檢視可以DML操作的條件Oracle
- 日誌挖掘-對於DML操作的挖掘
- DML, DDL操作的自動提交問題
- Oracle連線檢視DML操作的限制Oracle
- 利用Oracle GoldenGate記錄源系統所有表的操作OracleGo
- DDL、DML、DCL、DQL相關操作
- Sysbench-0.5改成只有DML操作
- 使用for迴圈操作DML語句
- Mysql 基礎操作 DDL DML DCLMySql
- 從底向上瞭解DML操作
- 【Flashback】回收站中被標記刪除的表不可以DML和DDL操作
- 如何查詢DML操作的詳細記錄
- 配置支援DML和DDL操作同步的GoldenGateGo
- Flashback Query 針對DML誤操作的恢復
- 【INDEX】注意:不可見索引在表DML操作過程中依然被維護Index索引
- 使用GoldenGate 實現Oracle for Oracle 單向資料同步(實現表的DML操作同步)GoOracle
- SQLServer DML操作阻塞SELECT查詢SQLServer
- MySQL全面瓦解5:資料操作-DMLMySql
- 使用loop迴圈操作DML語句OOP
- 使用while迴圈操作DML語句While
- OGG雙向DML複製操作
- 哪種DML操作產生undo多
- GoldenGate單向表DML同步Go
- oracle點陣圖索引對DML操作的影響Oracle索引