ORA-21520故障 限制某个ip的连接数
2013-09-24 17:19
155 查看
如图,出现ORA-21520错误,上边统计ADUN实例的进程已经达到1499个了,平时这个链接数不应个这么高的,然后通过netstat查看对1521的连接数达到1472个,我的实例设置最大的连接数才是1500个
无疑,这个12520错误是这么来的,链接达到实例的上限了!
然后通知研发人员,让他们看了下现场,最后他们自己吧程序down掉,连接数降下来了,sqlplus也就可以直接登录了。
最后为了避免这样的悲剧再次发生,迷途小运维(也就是笔者)在网上找到了一个触发器sql,运行后效果不错,也给大家分享下!
内容如下:
create or replace trigger logon_audit
after logon on database
declare
i_sessions number;
i_sessions_limited number := 2; //被限制的IP的最大链接数
str_userip varchar2(15) := '188.188.3.240'; //被限制的IP
except_ip_limited exception;
begin
dbms_application_info.set_client_info(sys_context('userenv', 'ip_address'));
select count(*)
into i_sessions
from v$session
where client_info = str_userip;
if (i_sessions > i_sessions_limited) then
raise except_ip_limited;
end if;
exception
when except_ip_limited then
raise_application_error(-20003, 'ip:' || str_userip || ' 连接数受限!');
end logon_audit;
这个触发器成功编译之后效果如下
如果是普通用户超过这个最大连接数则登录失败
alert log记录如下:
Errors in file /oracle/diag/rdbms/sem/SEMtrace/SEM_j000_21992.trc:
ORA-12012: 自动执行作业 "APEX_040200"."ORACLE_APEX_MAIL_QUEUE" 出错
ORA-20003: ip:188.188.3.240 连接数受限!
ORA-06512: 在 line 17
如果是有dba角色的用户登录,则只会在alert log中做如上记录,能正常登录!
###########################
本文由笔者原创,sql来自网络
作者:john
转载请注明出处
相关文章推荐
- iptables限制同一IP连接数
- linux中Iptables限制同一IP连接数防CC/DDOS***方法
- Vista系统TCP/IP半开连接数限制的去除方法
- (转)Linux下apache限速和限制同一IP连接数的实现
- 配置sqlnet.ora限制IP访问Oracle
- linux中Iptables限制同一IP连接数防CC/DDOS攻击方法
- 小包优先+web优先+P2P惩罚+单IP限速+连接数限制 QOS脚本V3.0
- apache限制同一个IP的连接数
- [CODE] 通过tcpserver实现对同一IP的最大连接数和连接频率的限制
- ORA-19809: 超出了恢复文件数的限制故障处理实例
- iptables利用connlimit模块限制同一IP连接数
- oracle限制某IP的连接数
- 小包优先+web优先+游戏爆发+单IP限速+连接数限制 QOS脚本V2.0
- oracle 连接数限制:ORA-12518: TNS: 监听程序无法分发客户机连接
- iptables 限制指定ip的连接数
- Apache限制IP连接数与并发数设置
- IPTABLES可以限制每个ip的最大连接数
- ORA-19809: 超出了恢复文件数的限制故障处理实例
- iptables限制同一IP连接数
- iptables利用connlimit模块限制同一IP连接数