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    oracle@rac1 (J003)    TANG    3    rac1    
2    BILL_EXTAND_CO    53    12    oracle@rac1 (J003)    TANG    3    rac1    
3    BILL_EXTAND_IND    53    12    oracle@rac1 (J003)    TANG    0    rac1    
4    BILL_EXTAND_AR    53    12    oracle@rac1 (J003)    TANG    2    rac1    
5    BILL_EXTAND_US    53    12    oracle@rac1 (J003)    TANG    3    rac1    
6    BILL_DATA    53    12    oracle@rac1 (J003)    TANG    2    rac1    
7    MIGRATE_LOG    53    12    oracle@rac1 (J003)    TANG    2    rac1    
8    STAT_DATA    180    217    oracle@rac1 (J001)    TANG    3    rac1    
9    STAT_DATA    180    217    oracle@rac1 (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






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值