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

oracle鎖庫如何處理 oracle數(shù)據(jù)庫鎖了怎么辦

oracle數(shù)據(jù)庫表被鎖了不能操作怎么辦

首先你要知道表鎖住了是不是正常鎖?因?yàn)槿魏蜠ML語句都會(huì)對(duì)表加鎖。

創(chuàng)新互聯(lián)主營雜多網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,重慶APP開發(fā)公司,雜多h5重慶小程序開發(fā)公司搭建,雜多網(wǎng)站營銷推廣歡迎雜多等地區(qū)企業(yè)咨詢

你要先查一下是那個(gè)會(huì)話那個(gè)sql鎖住了表,有可能這是正常業(yè)務(wù)需求,不建議隨便KILL

session,如果這個(gè)鎖表是正常業(yè)務(wù)你把session

kill掉了會(huì)影響業(yè)務(wù)的。

建議先查原因再做決定。

(1)鎖表查詢的代碼有以下的形式:

select

count(*)

from

v$locked_object;

select

*

from

v$locked_object;

(2)查看哪個(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;

(3)查看是哪個(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;

(4)查看是哪個(gè)sql引起的

select

b.username,b.sid,b.serial#,c.*

from

v$locked_object

a,v$session

b,v$sql

c

where

a.session_id

=

b.sid

and

b.SQL_ID

=

c.sql_id

and

c.sql_id

=

''

order

by

b.logon_time;

(5)殺掉對(duì)應(yīng)進(jìn)程

執(zhí)行命令:alter

system

kill

session'1025,41';

其中1025為sid,41為serial#.

oracle數(shù)據(jù)庫實(shí)例被鎖如何解決?

在pl/sql Developer工具的的菜單“tools”里面的“sessions”可以查詢現(xiàn)在存在的會(huì)話,但是我們很難找到那個(gè)會(huì)話被鎖定了,想找到所以被鎖的會(huì)話就更難了,下面這叫查詢語句可以查詢出所以被鎖的會(huì)話。如下:

SELECT sn.username, m.SID,sn.SERIAL#, m.TYPE,

DECODE (m.lmode,

0, 'None',

1, 'Null',

2, 'Row Share',

3, 'Row Excl.',

4, 'Share',

5, 'S/Row Excl.',

6, 'Exclusive',

lmode, LTRIM (TO_CHAR (lmode, '990'))

) lmode,

DECODE (m.request,

0, 'None',

1, 'Null',

2, 'Row Share',

3, 'Row Excl.',

4, 'Share',

5, 'S/Row Excl.',

6, 'Exclusive',

request, LTRIM (TO_CHAR (m.request, '990'))

) request,

m.id1, m.id2

FROM v$session sn, v$lock m

WHERE (sn.SID = m.SID AND m.request != 0) --存在鎖請(qǐng)求,即被阻塞

OR ( sn.SID = m.SID --不存在鎖請(qǐng)求,但是鎖定的對(duì)象被其他會(huì)話請(qǐng)求鎖定

AND m.request = 0

AND lmode != 4

AND (id1, id2) IN (

SELECT s.id1, s.id2

FROM v$lock s

WHERE request != 0 AND s.id1 = m.id1

AND s.id2 = m.id2)

)

ORDER BY id1, id2, m.request;

通過以上查詢知道了sid和 SERIAL#就可以開殺了

alter system kill session 'sid,SERIAL#';

希望對(duì)你有所幫助。我也是不太懂,是在網(wǎng)上了解的。努力學(xué)習(xí)ing~~~

使用Oracle數(shù)據(jù)庫登錄時(shí)被告知用戶被鎖怎么解決

找DBA解鎖。

如果是自己管理的機(jī)器,用sys

或者

system登錄進(jìn)行解鎖。

如果這些用戶不能正常登錄oracle了,使用安裝oracle的操作系統(tǒng)用戶登錄。

sqlplus

/nolog

conn

as

sysdba;

相當(dāng)于

sys

用戶登錄了。

使用

alter

user

'USERNAME'

account

unlock

命令解鎖。

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

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

第一步:嘗試在sqlplus中通過sql命令進(jìn)行刪除,如果能夠刪除成功,則萬事大吉!但通常情況下,出現(xiàn)死鎖時(shí),想通過命令行或者通過Oracle的管理工具刪除有死鎖的session,oracle只會(huì)將該session標(biāo)記為killed,但無法清除掉,往往需要通過第二步在操作系統(tǒng)層級(jí)進(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;?--查死鎖的對(duì)象,獲取其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#號(hào)

USERNAME?SID?SERIAL#

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

QUIK?29?57107

SQL?alter?system?kill?session?'29,57107';?--刪除進(jìn)程,如已經(jīng)刪除過,則會(huì)報(bào)ora-00031的錯(cuò)誤;否則oracle會(huì)將該session標(biāo)記為killed狀態(tài),等待一段時(shí)間看能否會(huì)自動(dòng)消失,如長時(shí)間消失不掉,則需要做后續(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號(hào),以便在操作系統(tǒng)中根據(jù)該進(jìn)程號(hào)刪除進(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)程,小心操作,別寫錯(cuò)進(jìn)程號(hào),如果oracle的關(guān)鍵進(jìn)程被刪,數(shù)據(jù)庫會(huì)崩潰的!

#?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數(shù)據(jù)庫被鎖了怎么辦

用戶被鎖了?

FAILED_LOGIN_ATTEMPTS參數(shù)默認(rèn)是10,即:用戶連續(xù)輸入10次錯(cuò)誤密碼,用戶會(huì)被鎖??;

可以使用其他擁有DBA權(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#';

測試環(huán)境,可以直接重啟數(shù)據(jù)庫!

本文標(biāo)題:oracle鎖庫如何處理 oracle數(shù)據(jù)庫鎖了怎么辦
標(biāo)題URL:http://m.rwnh.cn/article42/hiigec.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、響應(yīng)式網(wǎng)站動(dòng)態(tài)網(wǎng)站網(wǎng)站導(dǎo)航、手機(jī)網(wǎng)站建設(shè)網(wǎng)站收錄

廣告

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

h5響應(yīng)式網(wǎng)站建設(shè)
凤山市| 太和县| 独山县| 海南省| 上思县| 通海县| 广平县| 额尔古纳市| 公主岭市| 丽江市| 南靖县| 油尖旺区| 固镇县| 湄潭县| 宜君县| 孝昌县| 叙永县| 武山县| 阳曲县| 靖宇县| 永春县| 承德市| 临颍县| 巴青县| 二连浩特市| 望奎县| 长沙市| 墨玉县| 恩施市| 青龙| 固阳县| 于都县| 玉溪市| 巫溪县| 余庆县| 潍坊市| 霍林郭勒市| 台北市| 五大连池市| 兴安盟| 托克托县|