中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

oracle怎么殺死鎖,oracle殺存儲過程鎖

oracle數(shù)據(jù)庫死鎖怎么解決

Oracle數(shù)據(jù)庫出現(xiàn)死鎖的時候可以按照以下處理步驟加以解決:

你所需要的網(wǎng)站建設(shè)服務(wù),我們均能行業(yè)靠前的水平為你提供.標(biāo)準(zhǔn)是產(chǎn)品質(zhì)量的保證,主要從事做網(wǎng)站、成都做網(wǎng)站、企業(yè)網(wǎng)站建設(shè)、移動網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計、品牌網(wǎng)站制作、網(wǎng)頁制作、做網(wǎng)站、建網(wǎng)站。成都創(chuàng)新互聯(lián)擁有實力堅強(qiáng)的技術(shù)研發(fā)團(tuán)隊及素養(yǎng)的視覺設(shè)計專才。

第一步:嘗試在sqlplus中通過sql命令進(jìn)行刪除,如果能夠刪除成功,則萬事大吉!但通常情況下,出現(xiàn)死鎖時,想通過命令行或者通過Oracle的管理工具刪除有死鎖的session,oracle只會將該session標(biāo)記為killed,但無法清除掉,往往需要通過第二步在操作系統(tǒng)層級進(jìn)行刪除!

Connected?to?Oracle9i?Enterprise?Edition?Release?9.2.0.1.0?

Connected?as?quik

SQL?select?xidusn,?object_id,?session_id,?locked_mode?from?v$locked_object;?--查死鎖的對象,獲取其SESSION_ID

XIDUSN?OBJECT_ID?SESSION_ID?LOCKED_MODE

----------?----------?----------?-----------

10?30724?29?3

10?30649?29?3

SQL?select?username,sid,serial#?from?v$session?where?sid=29;?--根據(jù)上步獲取到的sid查看其serial#號

USERNAME?SID?SERIAL#

------------------------------?----------?----------

QUIK?29?57107

SQL?alter?system?kill?session?'29,57107';?--刪除進(jìn)程,如已經(jīng)刪除過,則會報ora-00031的錯誤;否則oracle會將該session標(biāo)記為killed狀態(tài),等待一段時間看能否會自動消失,如長時間消失不掉,則需要做后續(xù)步驟

alter?system?kill?session?'29,57107'

ORA-00031:?session?marked?for?kill

SQL?select?pro.spid?from?v$session?ses,v$process?pro?where?ses.sid=29?and?ses.paddr=pro.addr;?--查看spid號,以便在操作系統(tǒng)中根據(jù)該進(jìn)程號刪除進(jìn)程

SPID

------------

2273286

第二步:進(jìn)入操作系統(tǒng)進(jìn)行刪除進(jìn)程,本示例的操作系統(tǒng)是IBM aix。

login:?root?--錄入用戶名

root's?Password:?--錄入密碼

*******************************************************************************

*?*

*?*

*?Welcome?to?AIX?Version?5.3!?*

*?*

*?*

*?Please?see?the?README?file?in?/usr/lpp/bos?for?information?pertinent?to?*

*?this?release?of?the?AIX?Operating?System.?*

*?*

*?*

*******************************************************************************

Last?unsuccessful?login:?Fri?Apr?23?14:42:57?BEIDT?2010?on?/dev/pts/1?from?10.73

.52.254

Last?login:?Fri?Apr?23?15:27:50?BEIDT?2010?on?/dev/pts/2?from?10.73.52.254

#?ps?-ef|grep?2273286?--查看進(jìn)程詳情

root?2289864?2494636?0?17:07:15?pts/1?0:00?grep?2273286

oracle?2273286?1?0?14:38:24?-?0:21?oracleQUIK?(LOCAL=NO)

#?kill?-9?2273286?--刪除進(jìn)程,小心操作,別寫錯進(jìn)程號,如果oracle的關(guān)鍵進(jìn)程被刪,數(shù)據(jù)庫會崩潰的!

#?ps?-ef|grep?2273286?--再次查看

root?2289864?2494636?0?17:07:15?pts/1?0:00?grep?2273286

For?Windows,?at?the?DOS?Prompt:?orakill?sid?spid

For?UNIX?at?the?command?line?kill?–9?spid

如何殺死oracle死鎖進(jìn)程?

1.查哪個過程被鎖\x0d\x0a查V$DB_OBJECT_CACHE視圖:SELECT*FROMV$DB_OBJECT_CACHEWHEREOWNER='過程的所屬用戶'ANDLOCKS!='0';\x0d\x0a2. 查是哪一個SID,通過SID可知道是哪個SESSION.\x0d\x0a查V$ACCESS視圖:SELECT*FROMV$ACCESSWHEREOWNER='過程的所屬用戶'ANDNAME='剛才查到的過程名';\x0d\x0a3. 查出SID和SERIAL#\x0d\x0a查V$SESSION視圖:SELECTSID,SERIAL#,PADDRFROMV$SESSIONWHERESID='剛才查到的SID'查V$PROCESS視圖:SELECTSPIDFROMV$PROCESSWHEREADDR='剛才查到的PADDR';\x0d\x0a4. 殺進(jìn)程(1).先殺ORACLE進(jìn)程:ALTERSYSTEMKILLSESSION'查出的SID,查出的SERIAL#';(2).再殺操作系統(tǒng)進(jìn)程:KILL-9剛才查出的SPID或ORAKILL剛才查出的SID剛才查出的SPID方法二:經(jīng)常在oracle的使用過程中碰到這個問題,所以也總結(jié)了一點解決方法:)1)查找死鎖的進(jìn)程:sqlplus"/assysdba"SELECT\x0d\x0as.username,l.\x0d\x0aOBJECT_ID\x0d\x0a,l.SESSION_ID,s.SERIAL#,l.ORACLE_USERNAME,l.OS_USER_NAME,l.PROCESSFROMV$LOCKED_OBJECTl,V$SESSIONSWHERE\x0d\x0al.SESSION_ID=\x0d\x0aS.SID;2)kill掉這個死鎖的進(jìn)程:altersystemkillsession‘sid,serial#’;(其中sid=\x0d\x0al.session_id)3)如果還不能解決,\x0d\x0aselectpro.spidfromv$sessionses,v$processprowhereses.sid=XXandses.paddr=pro.addr;其中sid用死鎖的sid替換。

oracle怎么徹底解決鎖的問題

1、生成Kill Session語句

select?'alter?system?kill?session?'''?||?SID?||','?||?SERIAL#?||?''';'?from

(

select?distinct?a.sid,?a.Serial#,?status,?machine,?LOCKWAIT,?logon_time

from?v$session?a,?v$locked_object?b

where?(a.status?=?'ACTIVE'?or?a.status?=?'INACTIVE')

and?a.sid?=?b.session_id

and?b.ORACLE_USERNAME='XYHISTEST'--加上用戶名是避免把其他系統(tǒng)的會話也關(guān)閉,以免傷及無辜

)

2、批量執(zhí)行第一步生成的語句

alter?system?kill?session?'sid,serial#';

--alter?system?kill?session?'6976,33967';

3、查詢oracle用戶名,機(jī)器名,鎖表對象

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#?;

/*或者

select?s.SID,?s.OSUSER,?p.spid?as?OSPID,?s.MACHINE,?s.TERMINAL,?s.PROGRAM

from?v$session?s,?v$process?p

where?s.sid?=?6??--session_id

and?s.paddr?=?p.addr;

*/

4、查詢是執(zhí)行何sql語句導(dǎo)致鎖表的

select?b.sql_text

from?v$session?a,?v$sql?b

where?a.sid?=?6?--session_id

and?a.SQL_ADDRESS?=?b.ADDRESS(+);

/*--或者

SELECT?l.session_id?sid,?s.serial#,?l.locked_mode,?l.oracle_username,?s.user#,

l.os_user_name,s.machine,?s.terminal,a.sql_text,?a.action

FROM?v$sqlarea?a,v$session?s,?v$locked_object?l

WHERE?l.session_id?=?s.sid

AND?s.prev_sql_addr?=?a.address

ORDER?BY?sid,?s.serial#;

*/

如何殺掉ORACLE里面長期沒有釋放的鎖?

如果一個數(shù)據(jù)庫insert update delete操作很長時間沒有反應(yīng),就可能出現(xiàn)了沒有正常釋放的鎖。

可以用以下SQL語句殺掉沒有正常釋放的鎖:

如何殺死oracle死鎖進(jìn)程

oracle死鎖時殺進(jìn)程的方法:

第一步:嘗試在sqlplus中通過sql命令進(jìn)行刪除,如果能夠刪除成功,則萬事大吉。但通常情況下,出現(xiàn)死鎖時,想通過命令行或者通過oracle的管理工具刪除有死鎖的session,oracle只會將該session標(biāo)記為killed,但無法清除掉,往往需要通過第二步在操作系統(tǒng)層級進(jìn)行刪除。

第二步:

1、select xidusn, object_id, session_id, locked_mode from v$locked_object; --查死鎖的對象,獲取其SESSION_ID。

2、select username,sid,serial# from v$session where sid=29; --根據(jù)上步獲取到的sid查看其serial#號。

3、alter system kill session '29,57107'; --刪除進(jìn)程,如已經(jīng)刪除過,則會報ora-00031的錯誤;否則oracle會將該session標(biāo)記為killed狀態(tài),等待一段時間看能否會自動消失,如長時間消失不掉,則需要做后續(xù)步驟。

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

文章名稱:oracle怎么殺死鎖,oracle殺存儲過程鎖
網(wǎng)站網(wǎng)址:http://www.rwnh.cn/article18/dscojgp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供、標(biāo)簽優(yōu)化、網(wǎng)站營銷外貿(mào)網(wǎng)站建設(shè)、企業(yè)網(wǎng)站制作、企業(yè)建站

廣告

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

營銷型網(wǎng)站建設(shè)
栾城县| 桑植县| 南开区| 临洮县| 南木林县| 游戏| 克拉玛依市| 喜德县| 台中市| 徐闻县| 霸州市| 米易县| 兰溪市| 鲁甸县| 永泰县| 布拖县| 印江| 绥德县| 墨江| 德钦县| 中宁县| 高雄县| 莱芜市| 商洛市| 富民县| 沧源| 海淀区| 德庆县| 克什克腾旗| 镇平县| 霸州市| 临安市| 邵阳市| 乐昌市| 巴马| 潞西市| 抚顺市| 新乐市| 南部县| 阿拉善右旗| 额尔古纳市|