zoukankan      html  css  js  c++  java
  • oracle连接数爆满,手动停止查询进程

    数据库服务器负载突然暴增,连接进程爆满,大量重复的大表查询或者死锁导致,重启数据库和应用无效,最好的方法是用命令停止查询进程,并防止新的查询进入启动。

    查询所有进程

    select sess.sid, 

       sess.serial#, 

       lo.oracle_username, 

       lo.os_user_name, 

       ao.object_name, 

       lo.locked_mode 

       from v$locked_object lo, 

       dba_objects ao, 

       v$session sess 

    where ao.object_id = lo.object_id and lo.session_id = sess.sid; 

    挑选需要删除的进程 sid  和serial#

    以下命令杀掉

    alter system kill session '35, 27113';

    35 sid

    27113 serial#

    批量处理的方式是,

    select 'alter system kill session''' || sid || ',' || serial# || ''' immediate;'

       from v$locked_object lo, 

       dba_objects ao, 

       v$session sess 

    where ao.object_id = lo.object_id and lo.session_id = sess.sid;

    批量处理死锁的命令

    select 'alter system kill session''' || sid || ',' || serial# || ''' immediate;' from v$session t1,v$locked_object t2 where t1.sid = t2.SESSION_ID;

  • 相关阅读:
    2019年8月22日 星期四(杂谈)
    文件读写
    log4j
    java 读写 xlsx
    mongodb的增删改查
    mongodb安装与简单配置
    mondb的特性
    mongodb 的简单应用
    linux 学习1
    linux 安装MySql
  • 原文地址:https://www.cnblogs.com/mathprice/p/11953677.html
Copyright © 2011-2022 走看看