1.創(chuàng)建測試表,如下圖。
網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站建設(shè)服務(wù)團(tuán)隊(duì)是一支充滿著熱情的團(tuán)隊(duì),執(zhí)著、敏銳、追求更好,是創(chuàng)新互聯(lián)的標(biāo)準(zhǔn)與要求,同時(shí)竭誠為客戶提供服務(wù)是我們的理念。創(chuàng)新互聯(lián)公司把每個(gè)網(wǎng)站當(dāng)做一個(gè)產(chǎn)品來開發(fā),精雕細(xì)琢,追求一名工匠心中的細(xì)致,我們更用心!
createtabletest_lock(idnumber,valuevarchar2(200));
2.執(zhí)行append語句;并且不做提交,insert/*+append*/intotest_lockvalues(1,1)如下圖。
3.再次執(zhí)行清表語句,truncatetabletest_lock;報(bào)鎖表錯(cuò)誤,如下圖。
4.查看鎖表語句,發(fā)現(xiàn)被鎖表
selectb.object_name,t.*
fromv$locked_objectt,user_objectsb
wheret.object_id=b.object_id
注意事項(xiàng):
簡化數(shù)據(jù):可以將復(fù)雜的查詢創(chuàng)建為其他人可以使用的視圖,而不必了解復(fù)雜的業(yè)務(wù)或邏輯關(guān)系。這簡化并掩蓋了視圖用戶數(shù)據(jù)的復(fù)雜性。
表結(jié)構(gòu)設(shè)計(jì)的補(bǔ)充:在設(shè)計(jì)的系統(tǒng)才剛剛開始,大部分的程序直接訪問數(shù)據(jù)表結(jié)構(gòu),但是隨著業(yè)務(wù)的變化,系統(tǒng)更新,等等,引起了一些表結(jié)構(gòu)不適用,這次修改系統(tǒng)的表結(jié)構(gòu)太大,開發(fā)成本較高的影響。
這個(gè)時(shí)候可以創(chuàng)建一個(gè)視圖來補(bǔ)充表結(jié)構(gòu)設(shè)計(jì),降低開發(fā)成本。程序可以通過查詢視圖直接獲得它想要的數(shù)據(jù)。
添加安全性:視圖可以向用戶顯示表中的指定字段,而不是向用戶顯示表中的所有字段。在實(shí)際開發(fā)中,視圖通常作為提供數(shù)據(jù)的一種方式提供,并將只讀權(quán)限提供給第三方以供查詢使用。
1、在做Oracle監(jiān)聽程序測試時(shí),發(fā)現(xiàn)帳戶已經(jīng)被鎖定。
2、在數(shù)據(jù)庫安裝電腦上,點(diǎn)擊開始打開運(yùn)行窗口。
3、在運(yùn)行窗口輸入CMD,調(diào)出命令提示符界面。
3、在命令提示符下面,用管理員身份登入到數(shù)據(jù)庫sqlplus / as sysdba。
4、輸入解鎖命令alter user Scott account unlock后回車。
5、看見用戶已更改的字樣,表示命令已成功執(zhí)行。
6、再切換到監(jiān)聽程序驗(yàn)證,原來的ora-28000帳戶被鎖定的提示已經(jīng)不存在了。用戶解鎖成功。
查詢鎖表:SELECT l.session_id sid,
? s.serial#,
? l.locked_mode,
? l.oracle_username,
? l.os_user_name,
? s.machine,
? s.terminal,
? o.object_name,
? s.logon_time FROM? v$locked_object l,
? all_objects? ? ? o,
? v$session? ? ? ? s WHERE l.object_id = o.object_id ANd l.session_id = s.sid ORDER BY sid,
? s.serial#;
解鎖:ALTER system KILL session 'sid,serial#';
查詢鎖住原因:SELECT b.sid oracleID,b.username 登錄Oracle用戶名,b.serial#,spid 操作系統(tǒng)ID,paddr,?
sql_text 正在執(zhí)行的SQL,b.machine 計(jì)算機(jī)名 FROM v$process a, v$session b, v$sqlarea c?
WHERE a.addr = b.paddr AND b.sql_hash_value = c.hash_value? and b.USERNAME='FKPHIS24';
查看哪個(gè)表被鎖
select b.owner,b.object_name,a.session_id,a.locked_mode
from v$locked_object a,dba_objects b
where b.object_id = a.object_id
查看是哪個(gè)session引起的
select b.username,b.sid,b.serial#,logon_time
from v$locked_object a,v$session b
where a.session_id = b.sid order by b.logon_time
下面3個(gè)語句是我經(jīng)常使用來解決oracle鎖問題的 -- 注意你的用戶有沒有權(quán)限問題
1. 查看被鎖的表
SELECT p.spid, a.serial#, c.object_name, b.session_id, b.oracle_username,
b.os_user_name
FROM v$process p, v$session a, v$locked_object b, all_objects c
WHERE p.addr = a.paddr AND a.process = b.process
AND c.object_id = b.object_id
2. 查看是哪個(gè)進(jìn)程鎖的
SELECT sid, serial#, username, osuser FROM v$session where osuser = 'tangpj'
3. 殺掉這個(gè)進(jìn)程 alter system kill session 'sid,serial#';
這個(gè)要dba權(quán)限的用戶才能查看,具體的查看方法是 select * from dba_users 。用戶狀態(tài)一般是open(正常) locked(鎖定)expire(過期失效)幾種。
網(wǎng)站名稱:oracle行鎖怎么查看,oracle查詢行鎖
標(biāo)題網(wǎng)址:http://chinadenli.net/article18/hecpgp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、移動網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)公司、軟件開發(fā)、虛擬主機(jī)、標(biāo)簽優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)