大蟒蛇肚子的"风暴"
遇到了数据库连接数不足的问题,一般情况下会预留一些会话增加的情况,但在一些特殊情况下如连接风暴(logon storm), 如果在监听中没有做rate限流,对数据库来说巨大的冲击可能会导致数据库Hang 或 ora-20 或ora-18 错误。 对于Hang并伴有进程数不足的情况,AWR、ASH 都可能无法升成,甚至数据库都无法登录或做SSD 都不成功, 这时候LISTENER.LOG 就成了关键的“破案”线索。"05-AUG-2016 12:02:12 * (CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=bomcdb)(CID=(PROGRAM=perl)(HOST=NMC-PREDEAL1)(USER=nmcuser))) * (ADDRESS=(PROTOCOL=tcp)(HOST=172.16.2.18)(PORT=57862)) * establish * bomcdb * 0"
数据条目:
05-AUG-2016 13:25:06 * ping * 0
在数据处理时,特意把包含以下字符service_update、ping、status的数据过滤掉,进行统计。
if str.__contains__("service_update") or str.__contains__("ping") or str.__contains__("status") == 1:
当获取到的数据都是有效后,我们要对数据进行拆分,继续获取我们想获取的数据,由于只做统计,那么只要日期即可:
x = str.split('*')[0]
发现数据结尾包含一个空间,将空格进行去除
temp = x.strip()
监听日志的数据拆分完毕,把这些数据存放至一个数组 lsn_data中(这里可能大家有点疑惑,为啥不建二维数组呢?python不存在多维数组)。
因为监听日志有一个很特别的地方,数据本来就是有序的,无需排序,只需去重,把数据放到数据lsn_time中,在处理过程中,可以统计时间的个数并放到数组lsn_count中
# 去重
for l_time in lsn_data:
if l_time not in lsn_time:
lsn_time.append(l_time)
lsn_count.append(lsn_data.count(l_time))
数据已经有了,我们只要把数据画图,即可出现上述的图表。
可以把这些数据用图展示,也可以用表展示。这里用图进行展示
s = Series(lsn_count,index=lsn_time)
s1 = Series(16,index=lsn_time)
plt.ylim(0,80)
s.plot()
s1.plot(color='red', linestyle='--')
plt.show()
用series()函数进行画图,lsn_count为纵坐标,index作为横坐标。在这里我加了1条红色的先s1,用虚线展示。在2013年,广东ngboss上线之初,某库经常出现tnsping缓慢问题。后来经美国实验室测试,每秒的连接数达到16个监听连接就会缓慢。若生成的图表长时间超过红色虚线,那就应该对应用进行拆分整理,避免监听风暴的产生。
大蟒蛇肚子的"风暴"的更多相关文章
- [转]大数据时代,python竟是最好的语言?
随着大数据疯狂的浪潮,新生代的工具Python得到了前所未有的爆发.简洁.开源是这款工具吸引了众多粉丝的原因.目前Python最热的领域,非数据分析和挖掘莫属了.从以Pandas为代表的数据分析领 ...
- 大数据时代,Python是最好的语言!
随着大数据疯狂的浪潮,新生代的工具Python得到了前所未有的爆发.简洁.开源是这款工具吸引了众多粉丝的原因.目前Python最热的领域,非数据分析和挖掘莫属了.从以Pandas为代表的数据分析领域开 ...
- 大数据萌新的Python学习之路(一)
笔记开始简介 从2018年9月份正式进入大学的时代,大数据和人工智能的崛起让我选择了计算机专业学习数据科学与大数据技术专业,接触的第一门语言就是C语言,后来因为同学推荐的原因进入了学校的人工智能研究协 ...
- A 最熟悉的陌生人 (纪念当年就读的梅州市江南高级中学)
最熟悉的陌生人 作者:张慧桥 “枪与玫瑰” 就象瘟98有时会死机天有时会下雨枪有时会走火美国战机有时会掉下来那样,我上网聊天也只是个偶然. 都是栀子那死丫头惹的祸.让每天都觉得是情人节的我那天我自己都 ...
- Python对象的空间边界:独善其身与开放包容
导读:Python猫是一只喵星来客,它爱地球的一切,特别爱优雅而无所不能的 Python.我是它的人类朋友豌豆花下猫,被授权润色与发表它的文章.如果你是第一次看到这个系列文章,那我强烈建议,请先看看它 ...
- bing的简单英文字典工具
今天看到园友心白水撰写的<简单翻译工具--必应字典第三方API使用方法>,感觉很不错,所以用Python也写了一个.源码如下: import urllib.request import j ...
- Python【第一章】:简介和入门
ython简介 Python的创始人为Guido van Rossum.1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为ABC 语言的一种继承.之 ...
- [Python] 学习资料汇总
Python是一种面向对象的解释性的计算机程序设计语言,也是一种功能强大且完善的通用型语言,已经有十多年的发展历史,成熟且稳定.Python 具有脚本语言中最丰富和强大的类库,足以支持绝大多数日常应用 ...
- 进击的Python【第一章】:Python背景初探与Python基础(一)
Python背景初探 一.Python起源 Python的创始人为Guido van Rossum.1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做 ...
随机推荐
- luogu P5142 区间方差 十分优美的线段树
又来了个维护方差的线段树.... 大致推导过程(字丑多包涵QAQ) 注意取模时要加一些100000007防止出现负数.. #include<cstdio> #include<iost ...
- Helvetic Coding Contest 2016 online mirror B1
Description The zombies are gathering in their secret lair! Heidi will strike hard to destroy them o ...
- Helvetic Coding Contest 2016 online mirror C2
Description Further research on zombie thought processes yielded interesting results. As we know fro ...
- @SessionAttribute使用详解
@SessionAttribute使用详解 @ModelAttribute注解作用在方法上或者方法的参数上,表示将被注解的方法的返回值或者是被注解的参数作为Model的属性加入到Model中,然后 ...
- 15-----jQuery补充
jquery除了咱们上面讲解的常用知识点之外,还有jquery 插件.jqueryUI知识点 jqueryUI 官网: https://jqueryui.com/ jqueryUI 中文网: http ...
- CodeForces - 589A
题目链接:http://codeforces.com/problemset/problem/589/A Polycarp has quite recently learned about email ...
- UnityError AnimationEvent 'NewEvent' has no receiver! Are you missing a component?
- Java多线程与并发——死锁与中断线程
过多的同步有可能出现死锁,死锁的操作一般是在程序运行的时候才有可能出现. 多线程中要进行资源的共享,就需要同步,但同步过多,就可能造成死锁. 死锁例子: package com.vince; /** ...
- Linux Shell命令系列(2)
6. history命令 “history”命令就是历史记录.它显示了在终端中所执行过的所有命令的历史. 7. sudo命令 “sudo”(super user do)命令允许授权用户执行超级用户或者 ...
- html标签补充
<body>内常用标签 1.<div>和<span> <div></div> : <div>只是一个块级元素,并无实际的意义.主 ...