国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > Oracle > 正文

案例學習Oracle錯誤:ORA-00054

2024-08-29 13:38:25
字體:
來源:轉載
供稿:網友

  原文: ORA-00054 resource busy and acquire with NOWAIT specifie .
  
  Cause:The NOWAIT keyWord forced a return to the command PRompt because a resource was unavailable for a LOCK TABLE or SELECT FOR UPDATE command.
  
  Action:Try the command after a few minutes or enter the command without the NOWAIT keyword .
  
  原因:對表進行相關操作時,該表被鎖定,或表正在被其他程序占用,導致系統忙。
  
  解決:對表解鎖或等待完成。
  
  案例1:取消事務之后重新構建索引的時候出現錯誤
  
  問題描述:有一個事務花費的時間比正常的要長一些,所以用戶結束了這個會話(ctrl+alt+del)。現在,這個表有一個ROW-X 鎖。以下是有關鎖的具體信息:
  
  OS User : rosemarie
  
  OS PID : 396:482
  
  Oracle User : ROSEM
  
  Oracle ID : 27
  
  Lock Type : DML
  
  Lock Held : Row-X (SX)
  
  Lock Requested : None
  
  Status : Not Blocking
  
  Object Owner : TOTALPLANT
  
  Object Name : CUS_PRODUCTS
  
  在重新構建這個表的索引的時候,得到如下錯誤信息:
  
  alter index CUS_PRODUCT_IDX1 rebuild tablespace
  
  TBSIDX_001
  
  *
  
  ERROR at line 1:
  
  ORA-00054: resource busy and acquire with NOWAIT
  
  specified
  
  解決方案:當事務被取消的時候,事務所作的已經結束的工作需要回滾到上一個點。在取消之前,你的事務運行得時間較長,那么完全回滾的過程很可能也會較長。除非事務已經回滾完畢,否則,數據定義語言,例如ALTER INDEX REBUILD這樣的命令就不能獲得它要執行完畢所需要的鎖。這種類型的命令不會等待鎖被釋放。這就是為什么出現ORA-54錯誤信息的原因。在你獲得這個反饋的時間里,你的長的運行事務應該是已經回滾完畢。所以你再次運行ALTER INDEX REBUILD語句,應該是可以工作良好的。
  
  案例2:停止回滾的方式
  
  問題描述:有一個表,它有10個分區。每個分區都有1百萬行。我想要使用rid=1來刪除第1分區里面的行。它用了好長好長時間。所以我殺死了這個會話。現在,我的數據庫正在回滾,所有的行都刪除了。有沒有一種方法可以停止回滾?假如我馬上關閉,我估計它會用很長時間來關閉。假如我異常中止,當我重新啟動數據庫的時候,它會用很長很長的時間進行恢復嗎?我不關心數據是否被刪除了。我想要一種方法來"alter table xyz nologging",而不會出現"ORA-00054 resource busy ..."這個錯誤。
  
  解決方案:你不能阻止系統回滾一個異常中止的事務。因為你殺死了會話,那么被取消的會話和系統除了回滾你所作的任何修改之外,別無選擇。系統不能由你來決定保持哪個取消的事務,以及除掉哪個。所以,它會回滾所有內容。即使是你關閉了數據庫并且進行了備份,它也仍然會在數據庫啟動之后執行回滾。你不必等待它的結束。一旦它回滾結束,你就不會收到ORA-00054錯誤信息了。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 大渡口区| 龙里县| 海原县| 徐州市| 理塘县| 苏尼特左旗| 扬中市| 英山县| 瑞安市| 娄烦县| 林甸县| 恩施市| 南康市| 绥化市| 宁蒗| 石屏县| 津南区| 北海市| 靖安县| 读书| 泰顺县| 东安县| 福海县| 蒙阴县| 大荔县| 荃湾区| 荣昌县| 瑞丽市| 辽源市| 绩溪县| 安徽省| 丽水市| 菏泽市| 徐州市| 噶尔县| 怀柔区| 磴口县| 鹿邑县| 封开县| 曲周县| 镇康县|