SELECT?object_name,?machine,?s.sid,?s.serial#?
創新互聯建站專注于鐘祥網站建設服務及定制,我們擁有豐富的企業做網站經驗。 熱誠為您提供鐘祥營銷型網站建設,鐘祥網站制作、鐘祥網頁設計、鐘祥網站官網定制、成都微信小程序服務,打造鐘祥網絡公司原創品牌,更為您提供鐘祥網站排名全網營銷落地服務。
FROM?gv$locked_object?l,?dba_objects?o,?gv$session?s?
WHERE?l.object_id =?o.object_id?
AND?l.session_id?=?s.sid;
如果沒有結果就是沒有被鎖定的,如果查詢有結果,就說明此表被鎖了。如圖:
下面3個語句是我經常使用來解決oracle鎖問題的 -- 注意你的用戶有沒有權限問題
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. 查看是哪個進程鎖的
SELECT sid, serial#, username, osuser FROM v$session where osuser = 'tangpj'
3. 殺掉這個進程 alter system kill session 'sid,serial#';
1、在做Oracle監聽程序測試時,發現帳戶已經被鎖定。
2、在數據庫安裝電腦上,點擊開始打開運行窗口。
3、在運行窗口輸入CMD,調出命令提示符界面。
3、在命令提示符下面,用管理員身份登入到數據庫sqlplus / as sysdba。
4、輸入解鎖命令alter user Scott account unlock后回車。
5、看見用戶已更改的字樣,表示命令已成功執行。
6、再切換到監聽程序驗證,原來的ora-28000帳戶被鎖定的提示已經不存在了。用戶解鎖成功。
一般用戶名都會被集中放在某個表里,去數據看里,找到那個表,看看是不是鎖定標志被修改了。如果是,該回來就好了。如果你能夠查看用戶表而且有修改權限的話。
1.創建測試表,如下圖。
createtabletest_lock(idnumber,valuevarchar2(200));
2.執行append語句;并且不做提交,insert/*+append*/intotest_lockvalues(1,1)如下圖。
3.再次執行清表語句,truncatetabletest_lock;報鎖表錯誤,如下圖。
4.查看鎖表語句,發現被鎖表
selectb.object_name,t.*
fromv$locked_objectt,user_objectsb
wheret.object_id=b.object_id
注意事項:
簡化數據:可以將復雜的查詢創建為其他人可以使用的視圖,而不必了解復雜的業務或邏輯關系。這簡化并掩蓋了視圖用戶數據的復雜性。
表結構設計的補充:在設計的系統才剛剛開始,大部分的程序直接訪問數據表結構,但是隨著業務的變化,系統更新,等等,引起了一些表結構不適用,這次修改系統的表結構太大,開發成本較高的影響。
這個時候可以創建一個視圖來補充表結構設計,降低開發成本。程序可以通過查詢視圖直接獲得它想要的數據。
添加安全性:視圖可以向用戶顯示表中的指定字段,而不是向用戶顯示表中的所有字段。在實際開發中,視圖通常作為提供數據的一種方式提供,并將只讀權限提供給第三方以供查詢使用。
在對指定表做append操作,其他再做truncate時候,會產生鎖表,如下驗證步驟,
1、創建測試表,
create table test_lock(id number, value varchar2(200));
2、執行append語句;并且不做提交,insert /*+append*/ into test_lock values(1,1);
3、再次執行清表語句,truncate table test_lock;報鎖表錯誤,
4、查看鎖表語句,發現被鎖表,
select b.object_name, t.*
from v$locked_object t, user_objects b
where t.object_id = b.object_id
文章名稱:oracle鎖怎么看 oracle鎖表怎么查
當前鏈接:http://m.kartarina.com/article48/hgpchp.html
成都網站建設公司_創新互聯,為您提供外貿建站、品牌網站建設、關鍵詞優化、電子商務、品牌網站設計、全網營銷推廣
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯