zoukankan      html  css  js  c++  java
  • Oracle 脚本停止进阶

    一、DBMS_JOBS

    1、查看正在运行的job;


    SELECT * FROM USER_SCHEDULER_RUNNING_JOBS 


    2、根据sid查出对应的session;


    select SID,SERIAL# from V$Session where SID='SESSION_ID';


    3、kill对应的session;


    alter system kill session '&SID,&SERIAL';


    接着把JOB删掉就可以了

    有些JOBS在被kill对应session,虽然状态已经被设置Wiekilled,但是由于还无法马上释放资源,JOBS还会继续运行。这时候如果要马上结束脚本运行,可以再进一步杀死系统进程。

    1、通过上面的命令来杀死进程,进程的状态会被置为"killed",但是锁定的资源没有被释放,那么可以在os一级再杀死相应的进程(线程),首先执行下面的语句获得进程(线程)号:

    select spid,osuser,s.program

    from v$session s,v$process p

    where s.paddr = p.addr and s.sid = 'SID'

    注:这里的就是第一段语句查出来的SID,

    执行上述语句,得出来的SPID

    2、在OS 上通关cmd命令来杀死这个进程(线程)

    1)第一种,在UNIX OS 上,用ROOT 身份执行下面的命令:

    #kill -9 728 (728 1中的语句查询出来的SPID)

    2)第二种,在WINDOWS,用orakill杀死线程,

    语法为:orakill sid thread

    注:SID,这里的SID 为你杀死该进程的数据库的实例名

    THREAD,指的是你要杀掉该进程的线程号,为1中查询出来的SPID

    例子如下:

    C:Documents and SettingsAdministrator>orakill zghx 728

    Kill of thread id 728 in instance zghx successfully signalled.

  • 相关阅读:
    egrep及扩展正则
    grep命令及正则
    Linux管道及I/O重定向
    权限及权限管理
    Linux-用户管理
    Linux用户及权限
    文件名通配
    bash特性-命令历史命令行编辑
    USACO 2014 US Open Decorating The Pastures
    USACO 2014 US Open Odometer /// 枚举
  • 原文地址:https://www.cnblogs.com/Nouno/p/5731624.html
Copyright © 2011-2022 走看看