婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > oracle ora-00054:resource busy and acquire with nowait specified解決方法

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

熱門標簽:開發外呼系統 地圖標注養老院 哈爾濱電話機器人銷售招聘 哪個400外呼系統好 百度地圖標注途經點 愛客外呼系統怎么樣 山東crm外呼系統軟件 慧營銷crm外呼系統丹丹 圖吧網站地圖標注

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

主要是因為有事務正在執行(或者事務已經被鎖),所有導致執行不成功。

1、用dba權限的用戶查看數據庫都有哪些鎖

select t2.username,t2.sid,t2.serial#,t2.logon_time
from v$locked_object t1,v$session t2
where 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、根據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該事務

alter system kill session '339,13545';

4、這樣就可以執行其他的事務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中的進程被殺掉后,狀態被置為"killed",但是鎖定的資源很長時間不釋放,有時實在沒辦法,只好重啟數據庫。現在提供一種方法解決這種問題,那就是在ORACLE中殺不掉的,在OS一級再殺。

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

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.下面的語句用來殺死一個進程:

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

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

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

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上殺死這個進程(線程):

1)在unix上,用root身份執行命令:
#kill -9 12345(即第3步查詢出的spid)
2)在windows(unix也適用)用orakill殺死線程,orakill是oracle提供的一個可執行命令,語法為:
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

標簽:青島 和田 承德 甘肅 武漢 開封 固原 周口

巨人網絡通訊聲明:本文標題《oracle ora-00054:resource busy and acquire with nowait specified解決方法》,本文關鍵詞  oracle,ora-00054,resource,busy,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《oracle ora-00054:resource busy and acquire with nowait specified解決方法》相關的同類信息!
  • 本頁收集關于oracle ora-00054:resource busy and acquire with nowait specified解決方法的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 鹤山市| 昭苏县| 奉化市| 张家界市| 松滋市| 九龙县| 西和县| 阿图什市| 大石桥市| 杂多县| 宣武区| 滦南县| 墨江| 泸水县| 大荔县| 轮台县| 湟源县| 营山县| 华蓥市| 大石桥市| 洛阳市| 陵川县| 手游| 灵川县| 抚顺市| 平陆县| 修文县| 永德县| 尚义县| 天门市| 浦县| 吉安市| 晋中市| 北安市| 田东县| 宁都县| 太和县| 东丽区| 内乡县| 武汉市| 大田县|