DB2鎖表問題

2021-10-19 23:27:21 字數 488 閱讀 1974

主要分兩步驟

獲取事物id及正在對該錶進行操作的sql;

終止該事物。

一、獲取事物id和sql

方法一:

已知表名:

獲取事物id

db2 "select distinct agent_id from sysibmadm.snaplock where tabnme ='[tabname]'  with ur "
檢視正在鎖表的sql

方法二:

進入監控介面:

db2top -d [dbname]
進入lock介面:

u查詢表名對應的agentid

/[tabname]

檢視鎖表的aql

a:[agent_id]

放大介面

l二、解鎖表

殺死該事物,解鎖表:

搬運 DB2 解決鎖表問題

1.原因 修改表結構表結構發生變化後再對錶進行任何操作都不被允許,sqlstate為57016 因為表不活動,所以不能對其進行訪問 由於修改了表字段許可權,導致表處於不可用狀態 2.解決方案 對錶進行重構,重構的過程,就是對部分資料打散再重新組合的過程 需要執行語句 命令列中執行 reorg tab...

db2鎖表後如何解鎖 DB2解除鎖表

背景 生產環境中,我幾乎沒有遇到過鎖表。多是在開發過程中遇到的,比如團隊開發中經常會遇到多個功能訪問同一張表的情況。如果有開發人員在這張表加了排它鎖,然後又忘記提交事務,那麼其他開發人員就要一直等待了。如開發人員在斷點除錯 debug 忘記點通過 資料庫客戶端中修改資料忘記commit 當我們在辦公...

db2鎖表後如何解鎖 db2 為什麼會鎖表

1級2014 06 27 回答 鎖是資料庫為了控制併發資料的完整性而引入的機制。鎖表只是鎖的一種。鎖表簡單來說就是乙個事務操作對錶a進行加鎖 排他鎖 但一直不釋放該鎖,a表處於鎖定狀態。其他事務無法會訪問該錶造成鎖等待。db2鎖表 db2支援的表級鎖定 1 in 無意圖鎖 intent node 不...