oracle怎么樣鎖表 oracle鎖表和解鎖方法

oracle數(shù)據(jù)庫(kù)怎么鎖表

oracle數(shù)據(jù)庫(kù)分行級(jí)鎖和表級(jí)鎖。用select * from table-name for update完成行級(jí)鎖。用delete或update完成表級(jí)鎖。你鎖定的資源 別人會(huì)等待你的提交語(yǔ)句或回退語(yǔ)句完成以后再繼續(xù)進(jìn)行。

創(chuàng)新互聯(lián)建站長(zhǎng)期為上千家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為龍游企業(yè)提供專業(yè)的成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、外貿(mào)營(yíng)銷網(wǎng)站建設(shè),龍游網(wǎng)站改版等技術(shù)服務(wù)。擁有十載豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。

oracle表在什么情況下會(huì)被鎖住

在對(duì)指定表做append操作,其他再做truncate時(shí)候,會(huì)產(chǎn)生鎖表,如下驗(yàn)證步驟,

1、創(chuàng)建測(cè)試表,

create table test_lock(id number, value varchar2(200));

2、執(zhí)行append語(yǔ)句;并且不做提交,insert /*+append*/ into test_lock values(1,1);

3、再次執(zhí)行清表語(yǔ)句,truncate table test_lock;報(bào)鎖表錯(cuò)誤,

4、查看鎖表語(yǔ)句,發(fā)現(xiàn)被鎖表,

select b.object_name, t.*

from v$locked_object t, user_objects b

where t.object_id = b.object_id

oracle 鎖表的語(yǔ)句

鎖表:LOCK TABLE tablename IN 鎖模式 MODE;

解鎖:commit或rollback;

鎖模式有以下幾種:

ROW SHARE

ROW SHARE permits concurrent access to the locked table but prohibits users from locking the entire table for exclusive access. ROW SHARE is synonymous with SHARE UPDATE, which is included for compatibility with earlier versions of Oracle Database.

ROW EXCLUSIVE

ROW EXCLUSIVE is the same as ROW SHARE, but it also prohibits locking in SHARE mode. ROW EXCLUSIVE locks are automatically obtained when updating, inserting, or deleting.

SHARE UPDATE

See ROW SHARE.

SHARE

SHARE permits concurrent queries but prohibits updates to the locked table.

SHARE ROW EXCLUSIVE

SHARE ROW EXCLUSIVE is used to look at a whole table and to allow others to look at rows in the table but to prohibit others from locking the table in SHARE mode or from updating rows.

EXCLUSIVE

EXCLUSIVE permits queries on the locked table but prohibits any other activity on it.

oracle 鎖表、解鎖的語(yǔ)句

一些ORACLE中的進(jìn)程被殺掉后,狀態(tài)被置為"killed",但是鎖定的資源很長(zhǎng)時(shí)間不釋放,有時(shí)實(shí)在沒(méi)辦法,只好重啟數(shù)據(jù)庫(kù)?,F(xiàn)在提供一種方法解決這種問(wèn)題,那就是在ORACLE中殺不掉的,在OS一級(jí)再殺。

1.下面的語(yǔ)句用來(lái)查詢哪些對(duì)象被鎖:

select object_name,machine,s.sid,s.serial#

from v$locked_object l,dba_objects o ,v$session s

where l.object_id = o.object_id and l.session_id=s.sid;

2.下面的語(yǔ)句用來(lái)殺死一個(gè)進(jìn)程:

alter system kill session '24,111'; (其中24,111分別是上面查詢出的sid,serial#)

【注】以上兩步,可以通過(guò)Oracle的管理控制臺(tái)來(lái)執(zhí)行。

3.如果利用上面的命令殺死一個(gè)進(jìn)程后,進(jìn)程狀態(tài)被置為"killed",但是鎖定的資源很長(zhǎng)時(shí)間沒(méi)有被釋放,那么可以在os一級(jí)再殺死相應(yīng)的進(jìn)程(線程),首先執(zhí)行下面的語(yǔ)句獲得進(jìn)程(線程)號(hào):

select spid, osuser, s.program

from v$session s,v$process p

where s.paddr=p.addr and s.sid=24 (24是上面的sid)

4.在OS上殺死這個(gè)進(jìn)程(線程):

1)在unix上,用root身份執(zhí)行命令:

#kill -9 12345(即第3步查詢出的spid)

2)在windows(unix也適用)用orakill殺死線程,orakill是oracle提供的一個(gè)可執(zhí)行命令,語(yǔ)法為:

orakill sid thread

其中:

sid:表示要?dú)⑺赖倪M(jìn)程屬于的實(shí)例名

thread:是要?dú)⒌舻木€程號(hào),即第3步查詢出的spid。

例:c:orakill orcl 12345

查詢Oracle鎖表語(yǔ)句以及解鎖語(yǔ)句

查詢鎖表: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';

oracle鎖表問(wèn)題

半專業(yè)回答:

1, 這是個(gè)疑問(wèn)句嗎

2,如果只是 讀操作是不會(huì)加鎖的

3,事務(wù)2 什么操作都不行

4,事務(wù)2 可以加共享鎖,不能加排他鎖

問(wèn)題補(bǔ)充回答

讀操作就是select ,任何時(shí)刻都可以,因?yàn)槭欠亲枞x,由UNDO機(jī)制實(shí)現(xiàn)

共享鎖是保證表結(jié)構(gòu)不能被更改,但是可以更改沒(méi)有加排他鎖的數(shù)據(jù)

共享鎖是表級(jí)的,排他鎖是行級(jí)的

本文題目:oracle怎么樣鎖表 oracle鎖表和解鎖方法
網(wǎng)站路徑:http://muchs.cn/article14/hjsode.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、外貿(mào)建站、定制開(kāi)發(fā)、App開(kāi)發(fā)網(wǎng)站導(dǎo)航、關(guān)鍵詞優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司