今天啟動專案時發現專案啟動報錯could not open jdbc connection for transaction,weblogic控制台上伺服器也有警告。網上提示是根據實際操做確認連線池不足,程式在獲取連線完成資料庫操作後,沒有及時關閉連線。但是按照網上提供的方法改了之後仍然報錯,後發現是資料庫鎖表了。
可以根據以下**檢視資料庫中有哪些表鎖住了
select c.id,c.serial#,c.username,c.osuser,b.owner,b.object_name,a.locked_mode,p.spid from v$locked_object a, dba_objects b, v$session c, v$process p where a.object_id = b.object_id and a.session_id = c.sid and c.paddr = p.addr;
查詢出具體使用者具體哪種表鎖住之後 ,我們可以根據查詢的sid和serial#解鎖
alter system kill session 'sid,serial#'
;
執行完語句後,重新啟動專案就可以了 Oracle資料庫表被鎖與解鎖
本人小菜鳥,今天在專案中遇到了乙個令我費解的問題,就是我之前寫的運算元據的方法全部都不能用了,例如儲存 修改 刪除全部都不能用了 打斷點進去一步一步走發現在運算元據的時候出的問題,後台也不會報錯,糾結了好長時間啊,中午吃飯的時候討論到這個問題,大神一語道破其中奧妙啊,他說可能是資料庫表鎖死啦。哎呦喂...
資料庫鎖表的查詢和解鎖
平常運算元據庫時,由於程式設計和事務等原因導致鎖表,下面是檢視鎖表和解鎖的的情況 查詢是否鎖表 show open tables where in use 0 查詢程序 show processlist 殺掉程序 kill 程序id 檢視鎖的事務 select from information sc...
Oracle資料庫鎖表及解鎖程序
下午 遷移,更新資料庫記錄時for update語句無法執行,資料庫被鎖,kill掉幾個程序搞定。oracle資料庫操作中,我們有時會用到鎖表查詢以及解鎖和kill程序等操作,那麼這些操作是怎麼實現的呢?簡要介紹一下。鎖表查詢的 有以下的形式 select count from v locked o...