數(shù)據(jù)庫有哪幾種鎖 Oracle數(shù)據(jù)庫鎖的常用類型有哪些?
Oracle數(shù)據(jù)庫鎖的常用類型有哪些?根據(jù)保護(hù)的對(duì)象不同,Oracle數(shù)據(jù)庫鎖可以分為以下幾大類:DML鎖(datalocks,數(shù)據(jù)鎖),用于保護(hù)數(shù)據(jù)的完整性;DDL鎖(dictionarylocks
Oracle數(shù)據(jù)庫鎖的常用類型有哪些?
根據(jù)保護(hù)的對(duì)象不同,Oracle數(shù)據(jù)庫鎖可以分為以下幾大類:DML鎖(datalocks,數(shù)據(jù)鎖),用于保護(hù)數(shù)據(jù)的完整性;DDL鎖(dictionarylocks,字典鎖),用于保護(hù)數(shù)據(jù)庫對(duì)象的結(jié)構(gòu),如表、索引等的結(jié)構(gòu)定義;內(nèi)部鎖和閂(internallocksandlatches),保護(hù)數(shù)據(jù)庫的內(nèi)部結(jié)構(gòu)。
oracle經(jīng)常死鎖,鎖定數(shù)據(jù)庫的一些表,導(dǎo)致oracle死鎖的原因一般有那些?
一般情況只發(fā)生鎖超時(shí),就是一個(gè)進(jìn)程需要訪問數(shù)據(jù)庫表或者字段的時(shí)候,另外一個(gè)程序正在執(zhí)行帶鎖的訪問(比如修改數(shù)據(jù)),那么這個(gè)進(jìn)程就會(huì)等待,當(dāng)?shù)攘撕芫面i還沒有解除的話就會(huì)鎖超時(shí),報(bào)告一個(gè)系統(tǒng)錯(cuò)誤,拒絕執(zhí)行相應(yīng)的SQL操作。發(fā)生死鎖的情況比較少,比如一個(gè)進(jìn)程需要訪問兩個(gè)資源(數(shù)據(jù)庫表或者字段),當(dāng)獲取一個(gè)資源的時(shí)候進(jìn)程就對(duì)它執(zhí)行鎖定,然后等待下一個(gè)資源空閑,這時(shí)候如果另外一個(gè)進(jìn)程也需要兩個(gè)資源,而已經(jīng)獲得并鎖定了第二個(gè)資源,那么就會(huì)死鎖,因?yàn)楫?dāng)前進(jìn)程鎖定第一個(gè)資源等待第二個(gè)資源,而另外一個(gè)進(jìn)程鎖定了第二個(gè)資源等待第一個(gè)資源,兩個(gè)進(jìn)程都永遠(yuǎn)得不到滿足。
erp100.com
oracle數(shù)據(jù)庫中用戶名被鎖住是什么原因?
FAILED_LOGIN_ATTEMPTS參數(shù)默認(rèn)是10,即:用戶連續(xù)輸入10次錯(cuò)誤密碼,用戶會(huì)被鎖?。豢梢允褂闷渌麚碛蠨BA權(quán)限的用戶進(jìn)行解鎖;alter user username account unlock如果是數(shù)據(jù)庫內(nèi)部出現(xiàn)死鎖或阻塞會(huì)話,可以先查出阻塞的會(huì)話,select * from dba_waiters在殺掉阻塞的會(huì)話alter system kill session "sid,serial#"測(cè)試環(huán)境,可以直接重啟數(shù)據(jù)庫!