`
longgangbai
  • 浏览: 7251383 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

ORACLE在windows上使用orakill结束oracle会话的线程

 
阅读更多

在windows上使用orakill结束oracle会话的线程     
   由于oracle在windows平台采用了单进程多线程的实现方式,unix/linux上的server process在windows上
实际是一个thread。我们知道,在unix平台上,有时使用alter system kill的方式杀死一个用户会话后,
可能会标记为killed而不是立即释放该会话所占有的所有资源,或者由于某些原因,某些会话处于假死状态,
这时可能要在os级别强行kill对应的process。但在windows上,进程管理器中只能看到一个oracle进程,而
无法看到并且杀死具体的线程。

       这种情况下,我们当然可以借助第三方的线程管理工具来实现我们杀某个指定线程的目的,但实际上,oracle
本身也是提供了这种的工具的。这就是orakill工具。orakill的用法很简单,两个参数,第一个是oracle_sid,
第二个是线程号,也就是oracle的v$process中的spid:

C:\Documents and Settings\Administrator>orakill

Usage:  orakill sid thread

  where sid    = the Oracle instance to target
        thread = the thread id of the thread to kill

  The thread id should be retrieved from the spid column of a query such as:

        select spid, osuser, s.program from
        v$process p, v$session s where p.addr=s.paddr

C:\Documents and Settings\Administrator>


SQL> desc v$process;
 名称                                      是否为空? 类型
 ----------------------------------------- -------- ----------------------------
 ADDR                                               RAW(4)
 PID                                                NUMBER
 SPID                                               VARCHAR2(24)
 USERNAME                                           VARCHAR2(15)
 SERIAL#                                            NUMBER
 TERMINAL                                           VARCHAR2(16)
 PROGRAM                                            VARCHAR2(64)
 TRACEID                                            VARCHAR2(255)
 TRACEFILE                                          VARCHAR2(513)
 BACKGROUND                                         VARCHAR2(1)
 LATCHWAIT                                          VARCHAR2(8)
 LATCHSPIN                                          VARCHAR2(8)
 PGA_USED_MEM                                       NUMBER
 PGA_ALLOC_MEM                                      NUMBER
 PGA_FREEABLE_MEM                                   NUMBER
 PGA_MAX_MEM                                        NUMBER

SQL> col spid for a10;
SQL> col program  for a30;
SQL> select spid,program from v$process;

SPID       PROGRAM                                                             
---------- ------------------------------                                      
           PSEUDO                                                              
24880      ORACLE.EXE (PMON)                                                   
24884      ORACLE.EXE (VKTM)                                                   
24888      ORACLE.EXE (DIAG)                                                   
24892      ORACLE.EXE (DBRM)                                                   
24896      ORACLE.EXE (PSP0)                                                   
25028      ORACLE.EXE (MMAN)                                                   
23216      ORACLE.EXE (DIA0)                                                   
25036      ORACLE.EXE (DBW0)                                                   
25044      ORACLE.EXE (LGWR)                                                   
25040      ORACLE.EXE (CKPT)                                                   

SPID       PROGRAM                                                             
---------- ------------------------------                                      
25048      ORACLE.EXE (SMON)                                                   
25052      ORACLE.EXE (RECO)                                                   
25056      ORACLE.EXE (MMON)                                                   
25060      ORACLE.EXE (MMNL)                                                   
25064      ORACLE.EXE (D000)                                                   
25276      ORACLE.EXE (S000)                                                   
36532      ORACLE.EXE (SHAD)                                                   
25868      ORACLE.EXE (ARC0)                                                   
25864      ORACLE.EXE (ARC1)                                                   
25872      ORACLE.EXE (ARC2)                                                   
25984      ORACLE.EXE (ARC3)                                                   

SPID       PROGRAM                                                             
---------- ------------------------------                                      
24916      ORACLE.EXE (FBDA)                                                   
25068      ORACLE.EXE (SMCO)                                                   
25956      ORACLE.EXE (QMNC)                                                   
34960      ORACLE.EXE (W000)                                                   
26252      ORACLE.EXE (q001)                                                   
26496      ORACLE.EXE (CJQ0)                                                   
26456      ORACLE.EXE (q000)                                                   

已选择29行。

SQL> select  spid,osuser,s.program from v$process p,v$session  s
  2  where p.addr=s.paddr
  3  and p.program like '%ARC%';

SPID       OSUSER                         PROGRAM                              
---------- ------------------------------ ------------------------------       
25868      SYSTEM                         ORACLE.EXE (ARC0)                    
25864      SYSTEM                         ORACLE.EXE (ARC1)                    
25872      SYSTEM                         ORACLE.EXE (ARC2)                    
25984      SYSTEM                         ORACLE.EXE (ARC3)                    

SQL> host
Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.

C:\>orakill ticket 25868

Kill of thread id 25868 in instance ticket successfully signalled.

C:\>exit

SQL> spool off;

分享到:
评论

相关推荐

    Windows环境中Kill掉Oracle线程

    Windows环境中Kill掉Oracle线程

    Orakill的工具

    一个用户进程长期占用资源而不释放,导致Oracle进程占用了系统的大量资源,Oralce系统的效率变得很低。...有没有办法仅仅只Kill掉有问题的用户进程而不用关闭整个Oralce实例,使用Oralce提供的一个名叫Orakill的工具。

    oracle管理常用sql

    查看用户下所有主键外键引用, Windows环境中Kill掉Oracle线程(orakill),查看有哪些表被锁住,Oracle 官方文档下载,对表收集统计信息,刷新物化视图,Oracle 查看用户权限,Oracle 外连接和 (+)号的用法,多行合并一行

    32位 oracle_product_instantclient_11_2_BIN.rar

    32位oracle11.2.0.1 BIN文件夹,数据库管理员版,包含sqlplus,imp,exp,impdp,expdp等完整工具。exe列表:adrci、agtctl、amdu、asmtool、asmtoolg、CreatDep、csscan、dbv、dg4odbc、dg4pwd、dgmgrl、diskmon、...

    99乘法表java源码-OracleDBUtils:适用于Oracle数据库的有用PL/SQL实用程序

    如果作业一直在密集运行,则很难编译它们使用的源代码(编译会挂起)。 所以我们需要在这个过程之前停止工作。 但是内部数据库方法(例如“更改系统终止会话”或将作业标记为已损坏)在等待资源处理或等待作业完成时...

    orcale常用命令

    ORA-01035: ORACLE 只允许具有 RESTRICTED SESSION 权限的用户使用 6、startup force 强制启动方式 当不能关闭数据库时,可以用startup force来完成数据库的关闭 先关闭数据库,再执行正常启动数据库命令 7、...

Global site tag (gtag.js) - Google Analytics