Oracle 服务器 ORA-12516 错误的处理过程

Oracle 服务器 ORA-12516 错误的处理过程

某用户的双节点Oracle服务器集群,用户在连接Oracle服务器时报如下错误:

查询资料发现,该错误出现的原因通常是到达了PROCESSES/SESSIONS参数指定的最大值限制,即数据库中当前的连接数已经超过它能够处理的最大值。

1、查询数据库中PROCESSES/SESSIONS参数的值,命令如下:

sql 复制代码
SELECT name, value FROM v$parameter WHERE name IN ('processes', 'sessions');

2、查询当前会话数与进程数,命令如下:

sql 复制代码
-- 查看当前会话数
SELECT COUNT(*) FROM v$session;

-- 查看当前进程数
SELECT COUNT(*) FROM v$process;

3、查看活跃会话详情,命令如下:

sql 复制代码
SELECT username, program, machine, COUNT(*) 
FROM v$session 
GROUP BY username, program, machine 
ORDER BY COUNT(*) DESC;

查询结果如下图所示:

发现有一个用户INTERFACE_HLYY创建了大量的连接。

4、使用如下命令终止会话:

sql 复制代码
ALTER SYSTEM KILL SESSION 'sid,serial#';

使用如下命令查询用户INTERFACE_HLYY的会话信息,并生成相应的终止会话的ALTER SYSTEM ...代码:

sql 复制代码
SELECT 'ALTER SYSTEM KILL SESSION ''' || sid || ',' || serial# || ''' IMMEDIATE;' 
FROM v$session 
WHERE username = 'INTERFACE_HLYY' 
AND status = 'INACTIVE'
AND last_call_et > 3600; -- 超过1小时不活动的会话

执行结果如下图所示:

执行上述命令生成的终止会话的代码。

重新查询当前会话数与进程数,发现已经降低到不到500,用户重新登录系统,不再报错,故障排除。

相关推荐
2201_756847338 分钟前
如何设置备库只接日志不应用_暂停MRP且维持网络传输的方法
jvm·数据库·python
Edward1111111110 分钟前
TS安装
linux·运维·服务器
dualven_in_csdn15 分钟前
EMQX 开启 **MySQL + password_based** 认证
android·数据库·mysql
LSG_Dawn16 分钟前
linux 开机黑屏,/dev/nvme1n1p4:clean, xxxxx/xxxxxxx files, xxxx/xxxx blocks
linux·运维·服务器
2401_8734794017 分钟前
金融风控中IP地址查询如何识别异常登录?IP离线库提升欺诈拦截准确率的完整指南
服务器·网络·php
喜欢吃燃面17 分钟前
Linux 进程间通信:命名管道与 System V 共享内存深度解析
linux·运维·服务器·学习
Jul1en_21 分钟前
【Redis】单线程模型
数据库·redis·缓存
Arva .23 分钟前
Spring 事务传播机制 速记
java·数据库·spring
hef28827 分钟前
如何查找SQL字符串中字符数_掌握CHAR_LENGTH应用
jvm·数据库·python
senijusene29 分钟前
i.MX6ULL 平台 Linux 字符设备驱动:LED 驱动解析
linux·运维·服务器