鎖表原因及如何處理

2021-08-16 21:01:25 字數 412 閱讀 3106

1、鎖表發生在insert  update 、delete 中   

2、鎖表的原理是 資料庫使用獨佔式封鎖機制,當執行上面的語句時,對錶進行鎖住,直到發生commite 或者 回滾 或者退出資料庫使用者 

3、鎖表的原因 

第一、 a程式執行了對 tablea 的 insert ,並還未 commite時,b程式也對tablea 進行insert 則此時會發生資源正忙的異常 就是鎖表

第二、鎖表常發生於併發而不是並行(並行時,乙個執行緒運算元據庫時,另乙個執行緒是不能運算元據庫的,cpu 和i/o 分配原則)

4、減少鎖表的概率,

1》減少insert 、update 、delete 語句執行 到 commite 之間的時間。具體點批量執行改為單個執行、優化sql自身的非執行速度

2》如果異常對事物進行回滾

記一次鎖表的處理(定位鎖的原因及處理)

在oracle中,常常會碰到鎖阻塞的問題,這時候 我們就需要 利用oralce的給的相關檢視查出並定位鎖的原因 然後根據業務或者其他的實際情況進行業務上的調整或者 或引數的修改等 1 首先查出阻塞的關係。哪個會話阻塞了哪個會話 select a.sid holdsid,b.sid waitsid,a...

Oracle 表空間超標如何處理

首先要查詢表空間,可以乙個個查,也可以一起查詢,找到自己的表空間資料資訊 尤其要找到 表空間具體名稱 查詢語句如下 select upper f.tablespace name 表空間名 d.tot grootte mb 表空間大小 m d.tot grootte mb f.total bytes ...

如何處理DDoS

ddos 簡述 ddos是分布式拒絕服務 distributed denial of service 的英文縮寫,其 方式通常是利用很多受 者控制的 殭屍主機 向目標主機傳送大量看似合法的資料報,從而造成主機資源被耗盡或網路被堵塞,導致主機無法繼續正常提供服務。ddos通常可以分為兩類,即資源耗費式...