oracle 数据链接过多,导致后续链接链接不上

背景

  • 数据库链接的时候,提示链接不上,主要原因是:链接数爆了,链接不上了

排查问题

找到现在所有的链接

sql 复制代码
SELECT
    sysdate AS "当前时间",
    machine AS "客户端主机名",
    program AS "客户端程序",
    username AS "用户名",
    osuser AS "客户端操作系统用户名",
    sid AS "会话ID",
    serial# AS "序列号",
    status AS "会话状态",
    server AS "服务器模式",
    logon_time AS "登录时间"
FROM
    v$session

也可以根据 查询所有用户的对应的链接数

sql 复制代码
SELECT 客户端操作系统用户名,
COUNT(客户端操作系统用户名)
FROM
(SELECT
    sysdate AS "当前时间",
    machine AS "客户端主机名",
    program AS "客户端程序",
    username AS "用户名",
    osuser AS "客户端操作系统用户名",
    sid AS "会话ID",
    serial# AS "序列号",
    status AS "会话状态",
    server AS "服务器模式",
    logon_time AS "登录时间"
FROM
    v$session) T
		GROUP BY 客户端操作系统用户名

找到用户最多的人的所有的进程,然后杀死

找进程

sql 复制代码
SELECT
    sysdate AS "当前时间",
    machine AS "客户端主机名",
    program AS "客户端程序",
    username AS "用户名",
    osuser AS "客户端操作系统用户名",
    sid AS "会话ID",
    serial# AS "序列号",
    status AS "会话状态",
    server AS "服务器模式",
    logon_time AS "登录时间"
FROM
    v$session
WHERE machine like '%RCD1224%'

杀进程

sql 复制代码
ALTER SYSTEM KILL SESSION '16,31364' IMMEDIATE;

批量杀进程

sql 复制代码
SELECT 'ALTER SYSTEM KILL SESSION ''' || sid || ',' || serial# || ''' IMMEDIATE;' AS "KILL SESSION COMMAND"
FROM v$session
WHERE machine like '%RCD1224%';
相关推荐
阿蒙Amon39 分钟前
C#读写文件:多种方式详解
开发语言·数据库·c#
东窗西篱梦1 小时前
Redis集群部署指南:高可用与分布式实践
数据库·redis·分布式
就是有点傻2 小时前
C#如何实现中英文快速切换
数据库·c#
jnrjian2 小时前
Oracle RAC环境 加错数据文件 的修复 归档非归档都没问题
sql·oracle
1024小神2 小时前
hono框架绑定cloudflare的d1数据库操作步骤
数据库
KellenKellenHao4 小时前
MySQL数据库主从复制
数据库·mysql
@ chen4 小时前
Redis事务机制
数据库·redis
KaiwuDB5 小时前
使用Docker实现KWDB数据库的快速部署与配置
数据库·docker
一只fish5 小时前
MySQL 8.0 OCP 1Z0-908 题目解析(16)
数据库·mysql
泊浮目5 小时前
未来数据库硬件-网络篇
数据库·架构·云计算