• 【ORACLE 】 ORA-00031 标记要删去的会话(解决)


    在使用Oracle的过程中,会有使用了锁(for update)但又忘记释放锁的情况。这是就需要用到KILL语句了。(如果不知道KILL语句怎么用,可参考:

    http://www.cnblogs.com/memory4young/p/oracle-kill-locked-session.html

    当KILL语句执行后,报这样的信息:ORA-00031  标记要删去的会话 。

    该怎么办呢  ?

    1、查找进程ID

    执行如下语句,查出被锁的进程的ID:

    -- 执行以下SQL,需要DBA的权限
    
    ---- 查询条件 KILLED ,必须大写
    
    SELECT P.SPID, S.SID, S.SERIAL#, S.USERNAME, S.PROGRAM
    FROM V$PROCESS P, V$SESSION S
    WHERE P.ADDR=S.PADDR AND S.STATUS='KILLED';

    2、KILL 进程

    2.1 Oracle 运行在 Unix 机器上

    在终端执行以下脚本:

    ## $SPID 为 第1步的sql查出的SPID
    
    kill9 $SPID

    2.1 Oracle 运行在 Windows 机器上

    在CMD命令窗口下,输入:

    ## $SPID 为 第1步的sql查出的SPID
    
    orakill 数据库实例名 $SPID

    注:orakill 是Oracle自带的一个服务

  • 相关阅读:
    货币系统
    纸牌
    活动
    KKT-黑白球
    POJ2676-Sudoku
    POJ1717-Dominoes
    POJ1088-滑雪
    POJ1862-Stripies
    POJ2531-Network Saboteur
    2019.12.13 数的划分
  • 原文地址:https://www.cnblogs.com/memory4young/p/oracle-error-ora-00031.html
Copyright © 2020-2023  润新知