1. 程式人生 > >ORA-00054 資源正忙,但指定以NOWAIT 方式獲取資源,或者超時失效

ORA-00054 資源正忙,但指定以NOWAIT 方式獲取資源,或者超時失效


       

1.查詢到正在相關資源。

    select a.object_name objectname,  
           b.session_id,  
           c.serial#,  
           c.program     program,  
           c.username    username,  
           c.command,  
           c.machine  machine,  
           c.lockwait  
      from all_objects a, v$locked_object b, v$session c  
     where a.object_id = b.object_id  
       and c.sid = b.session_id; 

比如以下內容:

       OBJECTNAME    SESSION_ID    SERIAL#    PROGRAM    USERNAME    COMMAND    MACHINE    LOCKWAIT

------------------------------------------------------------------------------------------------------------------------------------------------------------
1    BILL_DATA    53    12    [email protected]

(J003)    TANG    3    rac1    
2    BILL_EXTAND_CO    53    12    [email protected] (J003)    TANG    3    rac1    
3    BILL_EXTAND_IND    53    12    [email protected] (J003)    TANG    0    rac1    
4    BILL_EXTAND_AR    53    12    [email protected] (J003)    TANG    2    rac1    
5    BILL_EXTAND_US    53    12    
[email protected]
(J003)    TANG    3    rac1    
6    BILL_DATA    53    12    [email protected] (J003)    TANG    2    rac1    
7    MIGRATE_LOG    53    12    [email protected] (J003)    TANG    2    rac1    
8    STAT_DATA    180    217    [email protected] (J001)    TANG    3    rac1    
9    STAT_DATA    180    217    [email protected] (J001)    TANG    3    rac1    
10    BILL_EXTAND_CO    213    627    plsqldev.exe    SYS    15    SHUJU\TECH-2013    00000006F0F64F08
11    BILL_EXTAND_CO    213    627    plsqldev.exe    SYS    15    SHUJU\TECH-2013    00000006F0F64F08
12    BILL_EXTAND_CO    213    627    plsqldev.exe    SYS    15    SHUJU\TECH-2013    00000006F0F64F08
13    BILL_EXTAND_CO    213    627    plsqldev.exe    SYS    15    SHUJU\TECH-2013    00000006F0F64F08

可以看到要處理的表是哪個使用者,SESSION_ID    SERIAL#   值是多少。

2.  ALTER SYSTEM KILL SESSION 'SESSION_ID,   SERIAL#

----------------------------------------------

SQL> ALTER SYSTEM KILL SESSION '164,197' IMMEDIATE;
 
ALTER SYSTEM KILL SESSION '164,197' IMMEDIATE
 
ORA-00031: 標記要終止的會話
 
SQL>

3.查詢出剛才標記要終止的會話。

   select a.spid,b.sid,b.serial#,b.username from v$process a,v$session b where a.addr=b.paddr and b.status='KILLED'  

4。如果不能殺掉程序,那到在系統下面(LINUX)

(22395 為上面查詢的SPID)

kill -9 22395


相關推薦

ORA-00054 資源指定NOWAIT 方式獲取資源或者超時失效

       1.查詢到正在相關資源。     select a.object_name objectname,              b.session_id,              c.serial#,              c.program    

ORA-00054錯誤,資源, 指定 NOWAIT 方式獲取資源或者超時失效

今天因為要改一條語句,如下圖: 解決方法: 開啟sqlplus 登入進去:sqlplus 使用者名稱/密碼@例項名 先上解決語句吧: select session_id from

ORA-00054: 資源, 指定 NOWAIT 方式獲取資源, 或者超時失效

問題如下: SQL> conn scott/[email protected]_database Connected to Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 Connected as scott 。。。。。。

Oracle 報 “ORA-00054 資源, 指定 NOWAIT 方式獲取資源, 或者超時失效” 問題的解決方法

1 原因 一般在使用者修改記錄之前,悲觀鎖就會發生作用,比如更新語句: select ..for update 執行這條命令之後,oracle 將會對返回集中的資料建立行級封鎖,以防止其他使用者修改這些記錄。 這時如果對這張表進行 ddl 操作將就會報

"ORA-00054: 資源, 指定 NOWAIT 方式獲取資源, 或者超時失效"的快速解決方法...

本文轉自:http://hi.baidu.com/fynaa/item/c2978952d8d542dfd48bacf6       今天在導一個臨時表的資料,匯出完成後準備清空資料,執行truncate命令時,遇到如下問題: ORA-00054: 資源正忙, 但指定以

ORA-00054: 資源, 指定 NOWAIT 方式獲取資源

問題描述 有時候ORACLE資料的某些表由於頻繁操作,而且比較大,會導致鎖表。問題分析 (1)鎖的分析 ORACLE裡鎖有以下幾種模式: 0:none 1:null 空 2:Row-S 行共享(RS):共享表鎖,sub share 3:Row-X 行獨佔(RX):用於行

"ORA-00054: 資源, 指定 NOWAIT 方式獲取資源, 或者超時失效"的快速解決方法

今天在導一個臨時表的資料,匯出完成後準備清空資料,執行truncate命令時,遇到如下問題: ORA-00054: 資源正忙, 但指定以 NOWAIT 方式獲取資源, 或者超時失效 解決方法如下: =================================================

ORA-00054: 資源, 指定 NOWAIT 方式獲取資源, 或者超時失效"的快速解決方法...

解決方法如下: ========================================================= SQL> select session_id from v$locked_object; SESSION_ID----------    

資源指定nowait方式獲取資源

解決方法如下: ========================================================= SQL> select session_id from v$locked_object; SESSION_ID ----------

ora-00054資源,指定nowait方式

ner font owa from user session where dba ont select l.session_id,o.owner,o.object_name from v$locked_object l,dba_objects o where l.o

如何解決ORA-00054資源要求指定NOWAIT

1.通過上句查找出已被鎖定的資料庫表及相關的sid、serial#及spid     select object_name as 物件名稱,s.sid,s.serial#,p.spid as 系統程序號     from v$locked_object l , dba_objects o , v$sessio

oracle11g報錯ORA00054資源要求指定NOWAIT

oracle11g某張表只能查詢,增刪改都不可以,不能drop,而且truncate都失敗會報錯ORA-00054:資源正忙,要求指定NOWAIT處理步驟如下:檢視被鎖的表和引起鎖表的session:select b.owner,b.object_name,a.session

提示ORA-00054:資源,要求指定NOWAIT

資料庫報:ORA-00054:資源正忙,要求指定NOWAIT解決步驟:1:等待其他會話釋放資源2:找出佔用資源的會話,並刪除 3:重啟資料庫原理分析:    1:建立索引時會產生的鎖2:dml 語句會產生的鎖3:索引建立時加上關鍵字 online時產生的鎖select t2.

ORA-00054: 資源 --鎖表的解決方法

問題描述 ORA-00054: 資源正忙, 但指定以 NOWAIT 方式獲取資源, 或者超時失效 發生異常 原因:其他Session已經對目標表做了操作,且未提交操作,導致鎖表,新的Session無法再對錶進行DDL操作。 解決方法 Plan-A:等待原session執行

Oracle修改表提示“資源,要求指定NOWAIT

今天往一個表裡面多增加了兩個欄位,修改完畢,儲存的時候,提示如下內容:“資源正忙,要求指定nowait”。重試好幾遍,都沒有解決,於是搜尋了一下,找到了解決方法,如下: 首先執行下面一段程式碼,得到鎖定的程序: select     t1.sid, t1.serial#

ora-00054 資源的解決辦法

    無論插值還是做其他操作,提示ora-00054 資源正忙的錯誤。    就我碰到的例子,分為兩種,一種是因為殺掉了程序,但還沒徹底釋放掉,處理辦法如下:  ----查出SPID    select spid, osuser, s.program from v$s

Oracle報 ORA-00054資源的解決辦法

1.查詢資料庫中的鎖 select * from v$lock; select * from v$lock where block=1; 2.查詢被鎖的物件 select * from v$locked_object; 3.查詢阻塞 查被阻塞的會話 select * from v$lock where lm

解決ORA-00054資源的問題

lock out sqlt ssi 官方 use ssa || lec 有時候在drop表或者其他對象的時候,會遇到ORA-00054:資源正忙,要求指定NOWAIT(中文字符集)或者ORA-00054: resource busy and acquire with NOW

oracle(使用TRUACTE刪除數據時提示資源)【轉】

ESS 正常 HERE sign order by where terminal spi ora 查詢記錄的鎖定對象,select * from v$locked_object(身份必須是DBA權限),然後找到對應的sid和serial#殺掉了會話;

Oracle刪除表時報資源,要求指定NOWAIT 解決

  昨天在操作oracle的時候,要刪除表的內容,總是死掉,pl/sql developer也關不掉,敲任何sql語句,總是提示cannot execute command now  最後想把這個表drop掉的時候,提示資源正忙,指定nowait  在sql語句後面加了nowait還是不行,於是就到網上搜