真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

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

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

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

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

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

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

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

建議先查原因再做決定。

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

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ù)庫(kù)實(shí)例被鎖如何解決?

在pl/sql Developer工具的的菜單“tools”里面的“sessions”可以查詢(xún)現(xiàn)在存在的會(huì)話(huà),但是我們很難找到那個(gè)會(huì)話(huà)被鎖定了,想找到所以被鎖的會(huì)話(huà)就更難了,下面這叫查詢(xún)語(yǔ)句可以查詢(xún)出所以被鎖的會(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ì)話(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;

通過(guò)以上查詢(xún)知道了sid和 SERIAL#就可以開(kāi)殺了

alter system kill session 'sid,SERIAL#';

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

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

找DBA解鎖。

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

或者

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

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

sqlplus

/nolog

conn

as

sysdba;

相當(dāng)于

sys

用戶(hù)登錄了。

使用

alter

user

'USERNAME'

account

unlock

命令解鎖。

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

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

第一步:嘗試在sqlplus中通過(guò)sql命令進(jìn)行刪除,如果能夠刪除成功,則萬(wàn)事大吉!但通常情況下,出現(xiàn)死鎖時(shí),想通過(guò)命令行或者通過(guò)Oracle的管理工具刪除有死鎖的session,oracle只會(huì)將該session標(biāo)記為killed,但無(wú)法清除掉,往往需要通過(guò)第二步在操作系統(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)刪除過(guò),則會(huì)報(bào)ora-00031的錯(cuò)誤;否則oracle會(huì)將該session標(biāo)記為killed狀態(tài),等待一段時(shí)間看能否會(huì)自動(dòng)消失,如長(zhǎ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?--錄入用戶(hù)名

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)程,小心操作,別寫(xiě)錯(cuò)進(jìn)程號(hào),如果oracle的關(guān)鍵進(jìn)程被刪,數(shù)據(jù)庫(kù)會(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ù)庫(kù)被鎖了怎么辦

用戶(hù)被鎖了?

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

可以使用其他擁有DBA權(quán)限的用戶(hù)進(jìn)行解鎖;

alter user username account unlock;

如果是數(shù)據(jù)庫(kù)內(nèi)部出現(xiàn)死鎖或阻塞會(huì)話(huà),可以先查出阻塞的會(huì)話(huà),

select * from dba_waiters;

在殺掉阻塞的會(huì)話(huà)

alter system kill session 'sid,serial#';

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


新聞名稱(chēng):oracle鎖庫(kù)如何處理 oracle數(shù)據(jù)庫(kù)鎖了怎么辦
分享網(wǎng)址:http://weahome.cn/article/hiigec.html

其他資訊

在線(xiàn)咨詢(xún)

微信咨詢(xún)

電話(huà)咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部