亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁(yè) > 數(shù)據(jù)庫(kù) > Oracle > 正文

怎樣快速查出Oracle 數(shù)據(jù)庫(kù)中的鎖等待

2019-09-08 23:30:35
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

怎樣快速查出Oracle 數(shù)據(jù)庫(kù)中的鎖等待

---- 在大型數(shù)據(jù)庫(kù)系統(tǒng)中,為了保證數(shù)據(jù)的一致性,在對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行操作時(shí),系統(tǒng)會(huì)進(jìn)行對(duì)數(shù)據(jù)相應(yīng)的鎖定。

---- 這些鎖定中有"只讀鎖"、"排它鎖","共享排它鎖"等多種類(lèi)型,而且每種類(lèi)型又有"行級(jí)鎖"(一次鎖住一條記錄),"頁(yè)級(jí)鎖"(一次鎖住一頁(yè),即數(shù)據(jù)庫(kù)中存儲(chǔ)記錄的最小可分配單元),"表級(jí)鎖"(鎖住整個(gè)表)。

---- 若為"行級(jí)排它鎖",則除被鎖住的該行外,該表中其它行均可被其它的用戶(hù)進(jìn)行修改(Update)或刪除(delete)操作,若為"表級(jí)排它鎖",則所有其它用戶(hù)只能對(duì)該表進(jìn)行查詢(xún)(select)操作,而無(wú)法對(duì)其中的任何記錄進(jìn)行修改或刪除。當(dāng)程序?qū)λ龅男薷倪M(jìn)行提交(commit)或回滾后(rollback)后,鎖住的資源便會(huì)得到釋放,從而允許其它用戶(hù)進(jìn)行操作。

---- 但是,有時(shí),由于程序中的原因,鎖住資源后長(zhǎng)時(shí)間未對(duì)其工作進(jìn)行提交;或是由于用戶(hù)的原因,如調(diào)出需要修改的數(shù)據(jù)后,未及時(shí)修改并提交,而是放置于一旁;或是由于客戶(hù)服務(wù)器方式中客戶(hù)端出現(xiàn)"死機(jī)",而服務(wù)器端卻并未檢測(cè)到,從而造成鎖定的資源未被及時(shí)釋放,影響到其它用戶(hù)的操作。

---- 因而,如何迅速地診斷出鎖住資源的用戶(hù)以及解決其鎖定便是數(shù)據(jù)庫(kù)管理員的一個(gè)挑戰(zhàn)。

---- 由于數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)越來(lái)越復(fù)雜, 一旦出現(xiàn)由于鎖資源未及時(shí)釋放的情況,便會(huì)引起對(duì)一相同表進(jìn)行操作的大量用戶(hù)無(wú)法進(jìn)行操作,從而影響到系統(tǒng)的使用。此時(shí),DBA應(yīng)盡量快地解決問(wèn)題。但是,由于在Oracle 8.0.x 中執(zhí)行"獲取正在等待鎖資源的用戶(hù)名"的查詢(xún)語(yǔ)句

select a.username, a.sid, a.serial#, b.id1
from v$session a, v$lock b
where a.lockwait = b.kaddr

---- 十分緩慢,(在 Oracle 7.3.4中執(zhí)行很快),而且,執(zhí)行"查找阻塞其它用戶(hù)的用戶(hù)進(jìn)程"的查詢(xún)語(yǔ)句
select a.username, a.sid, a.serial#, b.id1
from v$session a, v$lock b
where b.id1 in
(select distinct e.id1
from v$session d, v$lock e
where d.lockwait = e.kaddr)
and a.sid = b.sid
and b.request = 0

---- 執(zhí)行得也十分緩慢。因而,往往只好通過(guò)將 v$session 中狀態(tài)為"inactive"(不活動(dòng))并且最后一次進(jìn)行操作時(shí)間至當(dāng)前已超過(guò) 20 分鐘以上(last_call_et>20*60 秒)的用戶(hù)進(jìn)程清除,然后才使得問(wèn)題得到解決。
---- 但是,這種方法實(shí)際上是"把嬰兒與臟水一起潑掉"。因?yàn)椋行┯脩?hù)的進(jìn)程盡管也為"inactive",并且也已有較長(zhǎng)時(shí)間未活動(dòng),但是,那是由于他們處于鎖等待狀態(tài)。

---- 因而,我想出了一個(gè)解決辦法。即通過(guò)將問(wèn)題發(fā)生時(shí)的 v$lock,v$session視圖中的相關(guān)記錄保存于自己建立的表中,再對(duì)該表進(jìn)行查詢(xún),則速度大大提高,可以迅速發(fā)現(xiàn)問(wèn)題。經(jīng)實(shí)際使用,效果非常好。在接到用戶(hù)反映后,幾秒鐘即可查出由于鎖住資源而影響其它用戶(hù)的進(jìn)程,并進(jìn)行相應(yīng)的處理。

---- 首先,以 dba 身份(不一定為system)登錄入數(shù)據(jù)庫(kù)中,創(chuàng)建三個(gè)基本表:my_session,my_lock, my_sqltext,并在將會(huì)進(jìn)行查詢(xún)的列上建立相應(yīng)的索引。語(yǔ)句如下: rem 從 v$session 視圖中取出關(guān)心的字段,創(chuàng)建 my_session 表,并在查詢(xún)要用到的字段上創(chuàng)建索引,以加快查詢(xún)速度

drop table my_session;
create table my_session
as
select a.username, a.sid, a.serial#,
a.lockwait, a.machine,a.status,
a.last_call_et,a.sql_hash_value,a.program
from v$session a
where 1=2 ;

create unique index my_session_u1 on my_session(sid);
create index my_session_n2 on my_session(lockwait);
create index my_session_n3 on my_session(sql_hash_value);

---- rem 從 v$lock 視圖中取出字段,創(chuàng)建 my_lock 表,并在查詢(xún)要用到的字段上創(chuàng)建索引,以加快查詢(xún)速度
drop table my_lock;
create table my_lock
as
select id1, kaddr, sid, request,type
from v$lock
where 1=2;

create index my_lock_n1 on my_lock(sid);
create index my_lock_n2 on my_lock(kaddr);

---- rem 從 v$sqltext 視圖中取出字段,創(chuàng)建 my_sqltext 表,并在查詢(xún)要用到的字段上創(chuàng)建索引,以加快查詢(xún)速度
drop table my_sqltext;
create table my_sqltext
as
select hash_value , sql_text
from v$sqltext
where 1=2;

create index my_sqltext_n1 on my_sqltext ( hash_value);

---- 然后,創(chuàng)建一個(gè) SQL 腳本文件,以便需要時(shí)可從 SQL*Plus 中直接調(diào)用。其中,首先用 truncate table 表名命令將表中的記錄刪除。之所以用 truncate 命令,而不是用delete 命令,是因?yàn)閐elete 命令執(zhí)行時(shí),將會(huì)產(chǎn)生重演記錄,速度較慢,而且索引所占的空間并未真正釋放,若反復(fù)做 insert及delete,則索引所占的空間會(huì)不斷增長(zhǎng),查詢(xún)速度也會(huì)變慢。而 truncate命令不產(chǎn)生重演記錄,速度執(zhí)行較delete快,而且索引空間被相應(yīng)地釋放出來(lái)。刪除記錄后,再將三個(gè)視圖中的相關(guān)記錄插入自己創(chuàng)建的三個(gè)表中。最后,對(duì)其進(jìn)行查詢(xún),由于有索引,同時(shí)由于在插入時(shí)條件過(guò)濾后,記錄數(shù)相對(duì)來(lái)說(shuō)較少,因而查詢(xún)速度很快,馬上可以看到其結(jié)果。
---- 此時(shí),若發(fā)現(xiàn)該阻塞其它用戶(hù)進(jìn)程的進(jìn)程是正常操作中,則可通知該用戶(hù)對(duì)其進(jìn)行提交,從而達(dá)到釋放鎖資源的目的;若為未正常操作,即,其狀態(tài)為"inactive",且其last_call_et已為較多長(zhǎng)時(shí)間,則可執(zhí)行以下語(yǔ)句將該進(jìn)程進(jìn)行清除,系統(tǒng)會(huì)自動(dòng)對(duì)其進(jìn)行回滾,從而釋放鎖住的資源。

alter system kill session 'sid, serial#';
---- SQL 腳本如下:
set echo off
set feedback off
prompt '刪除舊記錄.....'
truncate table my_session;
truncate table my_lock;
truncate table my_sqltext;

prompt '獲取數(shù)據(jù).....'
insert into my_session
select a.username, a.sid, a.serial#,
a.lockwait, a.machine,a.status,
a.last_call_et,a.sql_hash_value,a.program
from v$session a
where nvl(a.username,'NULL')< >'NULL;

insert into my_lock
select id1, kaddr, sid, request,type
from v$lock;

insert into my_sqltext
select hash_value , sql_text
from v$sqltext s, my_session m
where s.hash_value=m.sql_hash_value;

column username format a10
column machine format a15
column last_call_et format 99999 heading "Seconds"
column sid format 9999

prompt "正在等待別人的用戶(hù)"
select a.sid, a.serial#,
a.machine,a.last_call_et, a.username, b.id1
from my_session a, my_lock b
where a.lockwait = b.kaddr;

prompt "被等待的用戶(hù)"
select a.sid, a.serial#,
a. machine, a.last_call_et,a.username,
b. b.type,a.status,b.id1
from my_session a, my_lock b
where b.id1 in
(select distinct e.id1
from my_session d, my_lock e
where d.lockwait = e.kaddr)
and a.sid = b.sid
and b.request=0;

prompt "查出其 sql "
select a.username, a.sid, a.serial#,
b.id1, b.type, c.sql_text
from my_session a, my_lock b, my_sqltext c
where b.id1 in
(select distinct e.id1
from my_session d, my_lock e
where d.lockwait = e.kaddr)
and a.sid = b.sid
and b.request=0
and c.hash_value =a.sql_hash_value;

---- 以上思路也可用于其它大型數(shù)據(jù)庫(kù)系統(tǒng)如 Informix, Sybase,DB2中。通過(guò)使用該腳本,可以極大地提高獲取系統(tǒng)中當(dāng)前鎖等待的情況,從而及時(shí)解決數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)中的鎖等待問(wèn)題。而且,由于實(shí)際上已取出其 program 名及相應(yīng)的 sql 語(yǔ)句,故可以在事后將其記錄下來(lái),交給其開(kāi)發(fā)人員進(jìn)行分析并從根本上得到解決。

數(shù)據(jù)庫(kù) Oracle

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
久久精精品视频| 日韩精品欧美专区| 国产精品极品美女在线观看免费| 成人18网址在线观看| 色婷婷综合在线观看| 伊人五月天婷婷| 色8久久人人97超碰香蕉987| 9999精品免费视频| 6080yy午夜一二三区久久| 国产福利91精品一区二区三区| 欧美激情一区二区在线| 日本三级一区二区三区| 成人免费视频网址| 国产凹凸在线观看一区二区| 国产成人精品网| 99在线观看精品视频| 亚洲永久精品免费| 欧亚乱熟女一区二区在线| 青青草原在线免费观看视频| 日韩美女主播在线视频一区二区三区| 欧美麻豆精品久久久久久| 91网站观看| 亚洲深深色噜噜狠狠爱网站| 加勒比久久高清| 黑人操亚洲人| 亚洲精品一品区二品区三品区| 荫蒂被男人添免费视频| 艳妇荡乳欲伦69影片| 欧美乱大交xxxxx另类电影| 国产成人综合亚洲网站| 国产精品久久久久aaaa| 亚洲小说欧美激情另类| 91视频网页| 精品产国自在拍| 国精产品一区二区三区| 国产主播中文字幕| 欧美日韩在线二区| 日韩精品国内| 欧美日韩中文字幕在线播放| 日韩精品在线观看av| 美女视频黄频大全不卡视频在线播放| 91精品视频大全| 日韩一区二区在线| 欧美激情理论| 国产精品高潮呻吟视频| 久久久久久久人妻无码中文字幕爆| 亚洲free嫩bbb| 久久一区亚洲| 亚洲精品视频在线观看免费视频| 色综合一区二区日本韩国亚洲| 黄页网址大全免费观看| 91av一区二区三区| 欧美另类视频在线观看| 欧美bbb人妖| 日韩高清一区二区| 色香阁99久久精品久久久| 国产精品亚洲不卡a| 亚州综合一区| 久久久久久久一区二区| 久艹在线免费观看| 亚洲国产精品成人久久综合一区| 欧美高清一级片| 欧美一区国产二区| 最新av在线| 国产又粗又猛又爽又黄的视频小说| 亚洲美女av网站| 3344国产永久在线观看视频| 第四色中文综合网| 国产成人无码一区二区在线观看| 亚洲素人一区二区| 亚洲天堂av在线免费| 日韩激情综合| 成人中文在线| 国产又黄又猛又粗又爽的视频| 日本亚洲一区| 佐佐木明希电影| 国产一线二线在线观看| 亚洲人成伊人成综合网久久久| 欧美午夜一区二区三区免费大片| freemovies性欧美| 亚洲欧美国产日韩综合| 黄色av电影在线播放| 1069视频| 国产在线视频欧美一区二区三区| 天天操天天综合网| 久久久精品成人| 亚洲综合精品在线| 天天av天天爱| 亚洲一区 二区| 日韩在线视频播放| 久久精品最新免费国产成人| 一级网站免费观看| 黄色影视在线观看| 久久亚洲电影天堂| 2019日韩中文字幕mv| 丰满人妻妇伦又伦精品国产| 亚洲第一页在线观看| 国产精品精品久久久久久| 91精品丝袜国产高跟在线| 在线看日韩精品电影| 不卡毛片在线看| 亚洲一区二区三区午夜| 香蕉久久a毛片| 欧美日韩精品中文字幕| 少妇高潮在线观看| 自拍偷拍校园春色| 国产1区2区3区中文字幕| 成人网ww555视频免费看| 在线免费观看黄色小视频| 一区二区免费不卡在线| 超碰国产精品久久国产精品99| 久久天天躁狠狠躁夜夜躁| 国产三区在线视频| 精品亚洲国内自在自线福利| 精品国产一区二区三区四| 99电影在线观看| 日产欧产美韩系列久久99| 2019年中文字幕| 免费成人高清在线视频theav| 在线观看黄网站免费继续| 欧美丰满少妇xxxxx| 国产精品久久久久久久app| 懂色中文一区二区三区在线视频| 国产精品欧美韩国日本久久| 国产曰肥老太婆无遮挡| 国产精品久久久久久久av| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 中文字幕第50页| 精人妻无码一区二区三区| 成人在线免费观看视视频| 一区二区三区免费视频网站| 久久久久久久久网| 国产一区二区看久久| 欧美羞羞视频| 精彩视频一区二区三区| 人妻少妇一区二区三区| 亚洲高清免费一级二级三级| 人妻少妇精品视频一区二区三区| av资源种子在线观看| av网站在线播放| 国内拍拍自拍视频在线观看| 999www成人| 国产视频高清免费| 亚洲av综合色区无码一二三区| 黄色大片在线看| 国产亚洲人成a在线v网站| 国产精品男女视频| 国产精品成人在线视频| 又色又爽又黄18网站| 激情欧美一区二区三区中文字幕| 国产欧美日韩视频在线观看| 国产无遮挡在线观看| 麻豆成人av在线| 思思99re6国产在线播放| xxxxwww一片| 日本欧美在线观看| 怡红院怡春院首页| 在线免费观看成人短视频| 激情国产在线| 欧洲精品一区二区三区| 一道本无吗dⅴd在线播放一区| 成人女同在线观看| 麻豆国产va免费精品高清在线| 日本免费网站视频| 天堂在线中文在线| 亚洲欧美另类动漫| 日本欧美肥老太交大片| 久久精品中文字幕免费mv| 二区三区在线观看| 9l视频自拍九色9l视频成人| 日本成人a网站| 婷婷综合福利| 国产毛片视频网站| 欧美黄污视频| 久草这里只有精品视频| 91视频网页| 国产成人精品a视频| 性高潮久久久久久| 国产主播在线资源| 韩国19禁主播vip福利视频| 911久久香蕉国产线看观看| 亚洲天堂免费观看| 久久国产精品露脸对白| 亚洲成人激情小说| 中文乱码字幕高清在线观看| 日韩精品免费一线在线观看| 天堂社区在线视频| 在线精品视频播放| 一级国产黄色片| 日本亚洲自拍| 91国产精品| 欧美激情不卡| 国产suv精品一区二区33| av中文字幕在线不卡| av网址在线| 成人美女视频在线观看| 亚洲小说区图片区都市| 亚洲无线看天堂av| 国产日韩欧美制服另类| 国产免费一区二区三区网站免费| baoyu777.永久免费视频| 国产精品剧情一区二区在线观看| 福利视频第一区| 亚洲综合激情在线| 免费影视观看网站入口| 中文字幕亚洲一区二区三区五十路| 老司机成人在线| 2021久久国产精品不只是精品| 99国产精品国产精品久久| 国产福利在线看| 国产无码精品在线观看| 日韩一区av| 性色av无码久久一区二区三区| 97公开免费视频| 免费不卡欧美自拍视频| 精品一区二区三区在线视频| 牛牛精品成人免费视频| 亚洲精品天天看| 免费男女羞羞的视频网站中文版| 国产精欧美一区二区三区| 中文字幕男人天堂| 国产精品久久久影院| 91久久精品国产91久久性色tv| 国产精品福利视频| 高清不卡一区二区| 亚洲a成人v| 99热亚洲精品| 日韩欧美不卡在线观看视频| 黄页网站在线看| 91成人精品一区二区| 在线中文字幕观看| 欧美综合亚洲图片综合区| 久久精品国产2020观看福利| 狂野欧美性猛交xxxxx视频| 精品3atv在线视频| 黄色av免费看| 国产高清一区二区三区四区| 91视频免费看| 大伊香蕉精品在线品播放| 亚洲国产高潮在线观看| 日韩欧美在线观看| 欧美男女性生活在线直播观看| 国产盗摄女厕一区二区三区| 91成人福利在线| 国产精品一区二区三区毛片淫片| 国产自产女人91一区在线观看| 日韩视频在线视频| 美女网站色免费| 美女做暖暖视频免费在线观看全部网址91| 午夜精品一区二区三区在线观看| 亚洲欧美激情视频| 国产一区二区播放| 国产高中女学生第一次| 美女被搞网站| 成人黄网18免费观看的网站| 国产香蕉尹人视频在线| 亚洲国产精品视频在线| www.狠狠lu| 伦xxxx在线| 欧美影院在线| 国产成人激情小视频| 国产日产精品_国产精品毛片| 欧美激情黑人| 国内福利写真片视频在线| 欧美性xxxx禁忌| 九色porny蝌蚪视频在线观看| 国产一区二区三区日韩欧美| 一级黄色录像视频| 久久精品网站免费观看| 亚洲无吗一区二区三区| 毛片av在线| 亚洲h色精品| 91九色极品视频| 特黄视频免费观看| 国产日韩欧美在线看| 亚洲精华一区二区三区| 欧美日韩另类视频| 自拍偷拍亚洲欧美| 欧美性极品少妇| 久久精品国产99久久99久久久| 精品视频一区三区九区| 91中文字幕永久在线| 国产美女撒尿一区二区| 精品999在线播放| 国产一区二区三区高清| 亚洲高清精品视频| 婷婷国产成人久久精品激情| 色乱码一区二区三区网站| 免费人成精品欧美精品| 欧美日韩美少妇| 精品日产免费二区日产免费二区| 99riav视频| 好吊视频在线观看| 偷拍视屏一区| 91超碰在线观看| 日本不卡123| 免费av网站在线看| 国产一区高清视频| 精品久久久久久亚洲| 亚洲精品国产综合区久久久久久久| 日韩在线电影一区| 国产日韩欧美综合| 精品久久久久久久久久久国产字幕| 欧美精品九九久久| www.日本在线观看| 日本一区二区欧美| 欧美日韩在线播放三区四区| xxxxx在线观看| 亚洲国产aⅴ精品一区二区三区| 成人av在线影院| 欧美一级片久久久久久久| 亚洲日韩欧美视频一区| 久久久99国产精品免费| 亚欧美中日韩视频| 在线观看精品视频看看播放| 国产日韩二区| 桃乃木かなav在线播放| 日韩免费视频一区二区| 一级特黄aaaaaa大片| 国产精品亚洲自拍| 最好看的2019的中文字幕视频| 国产精品xxx| 色网站免费在线观看| 天美一区二区三区| 国产人妻人伦精品1国产丝袜| 成人羞羞网站| 婷婷综合久久一区二区三区| 色资源网站在线观看|