麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 數(shù)據(jù)庫 > Oracle > 正文

oracle ora-00054:resource busy and acquire with nowait specified解決方法

2024-08-29 13:58:44
字體:
供稿:網(wǎng)友
這篇文章主要介紹了oracle ora-00054:resource busy and acquire with nowait specified解決方法,需要的朋友可以參考下
 

當(dāng)某個數(shù)據(jù)庫用戶在數(shù)據(jù)庫中插入、更新、刪除一個表的數(shù)據(jù),或者增加一個表的主鍵時或者表的索引時,常常會出現(xiàn)ora-00054:resource busy and acquire with nowait specified這樣的錯誤。

主要是因為有事務(wù)正在執(zhí)行(或者事務(wù)已經(jīng)被鎖),所有導(dǎo)致執(zhí)行不成功。

1、用dba權(quán)限的用戶查看數(shù)據(jù)庫都有哪些鎖

select t2.username,t2.sid,t2.serial#,t2.logon_timefrom v$locked_object t1,v$session t2where t1.session_id=t2.sid order by t2.logon_time;

如:testuser 339 13545 2009-3-5 17:40:05
知道被鎖的用戶testuser,sid為339,serial#為13545

2、根據(jù)sid查看具體的sql語句,如果sql不重要,可以kill

select sql_text from v$session a,v$sqltext_with_newlines b where DECODE(a.sql_hash_value, 0, prev_hash_value, sql_hash_value)=b.hash_value and a.sid=&sid order by piece;

查出來的sql,如: begin :id := sys.dbms_transaction.local_transaction_id; end;

3、kill該事務(wù)

alter system kill session '339,13545';

4、這樣就可以執(zhí)行其他的事務(wù)sql語句了

如增加表的主鍵:

alter table test
  add constraint PK_test primary key (test_NO);

若提示:ORA-00030: User session ID does not exist
alter session set events 'immediate trace name flush_cache level 1';

后果不詳

ORA-00031: session marked for kill

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

1.下面的語句用來查詢哪些對象被鎖:

select object_name,machine,s.sid,s.serial# from v$locked_object l,dba_objects o ,v$session swhere l.object_id = o.object_id and l.session_id=s.sid;

2.下面的語句用來殺死一個進程:

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

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

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

select spid, osuser, s.program from v$session s,v$process pwhere s.paddr=p.addr and s.sid=24 (24是上面的sid)

4.在OS上殺死這個進程(線程):

1)在unix上,用root身份執(zhí)行命令: 
#kill -9 12345(即第3步查詢出的spid)
2)在windows(unix也適用)用orakill殺死線程,orakill是oracle提供的一個可執(zhí)行命令,語法為:
orakill sid thread
其中:
sid:表示要殺死的進程屬于的實例名
thread:是要殺掉的線程號,即第3步查詢出的spid。
例:c:>orakill orcl 12345

ORA-00031: session marked for kill

Cause: The session specified in an ALTER SYSTEM KILL SESSION command cannot be killed immediately (because it is rolling back or blocked on a network operation), but it has been marked for kill. This means it will be killed as soon as possible after its current uninterruptible operation is done.
Action: No action is required for the session to be killed, but further executions of the ALTER SYSTEM KILL SESSION command on this session may cause the session to be killed sooner.

kill -9 12345



注:相關(guān)教程知識閱讀請移步到oracle教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 2023av在线视频| 国产精品视频久久久 | 久久视频精品 | 日韩大片在线永久观看视频网站免费 | 毛片大全 | 欧美一区成人 | www.com超碰| 国产午夜精品久久久久 | 狠狠操天天射 | 久久久久久久91 | 免费看黄色三级毛片 | 亚洲国产高清视频 | 亚洲人成电影在线 | 日本一区二区免费在线观看 | 久久精品亚洲一区二区 | 九九热九九爱 | av手机在线免费播放 | 一级观看免费完整版视频 | 在线观看一区二区三区四区 | 亚洲特黄 | 久久免费视频精品 | 亚洲国产精品一区二区精品 | 亚洲码无人客一区二区三区 | 欧美一级高潮片免费的 | 性看小视频 | 色999久久久精品人人澡69 | 亚洲一区二区 | 精品一区二区三区免费看 | 免费观看一区二区三区视频 | 一区二区视频在线看 | 韩国精品一区二区三区四区五区 | 56av国产精品久久久久久久 | 三级国产三级在线 | 亚洲视频在线观看免费 | 成人免费一区二区三区视频网站 | 久久精品久| 国产九色91| 亚洲视频在线网 | 中文在线日韩 | 久久精品一区二区三区不卡牛牛 | 国产青草视频在线观看视频 |