监听连接数统计
从oracle工程师这里copy个命令过来,统计监听文件某个时间段里,每分钟的连接数:
fgrep "29-AUG-2013 09:" listener.log |fgrep "establish" |awk '{print $1 " " $2}' |awk -F: '{print $1 ":" $2}' |sort |uniq -c
2 29-AUG-2013 09:00
3 29-AUG-2013 09:02
2 29-AUG-2013 09:03
4 29-AUG-2013 09:04
5 29-AUG-2013 09:05
2 29-AUG-2013 09:06
5 29-AUG-2013 09:07
14 29-AUG-2013 09:08
5 29-AUG-2013 09:09
1 29-AUG-2013 09:10
还比较简单,我改了改,换成统计某个时间段,每台机器过来的连接数:
$ fgrep "28-NOV-2013 09:" listener.log |fgrep "establish" |awk '{print $4}' | \
> awk -F HOST= '{print "HOST=" $2}' | awk -F \) '{print ")" $1}' | sed 's/^.//' |sort | uniq -c | sort
2 HOST=FJ-XP
2 HOST=LVXUN
2 HOST=SGMPC-20130527U
2 HOST=ZHANGHAO
3 HOST=JHF-THINK
3 HOST=PC-20130402BUQH
3 HOST=RKDQBYQA91V06IH
3 HOST=TY0ZCA3WKKM6J5K
3 HOST=ZCJ-THINKPAD
6 HOST=VIRTUALXP-62006
7 HOST=FRTGA1GWHKZ9LXB
9 HOST=PC-201211021501
9 HOST=qmon01
12 HOST=erdb-p01
16 HOST=migut02
57 HOST=__jdbc__
58 HOST=CDOC-P02
75 HOST=
396 HOST=eaitt61
awk -F 是定义分隔符,默认是空格。sed ‘s/^.//’ 是把每行第一个字符去掉。如果HOST=也要去掉,多加几个点就可以了。
— The End —
oracle listener_statistics