分析oracle侦听日志-凯发app官方网站

凯发app官方网站-凯发k8官网下载客户端中心 | | 凯发app官方网站-凯发k8官网下载客户端中心
  • 博客访问: 3503211
  • 博文数量: 718
  • 博客积分: 1860
  • 博客等级: 上尉
  • 技术积分: 7790
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-07 08:51
个人简介

偶尔有空上来看看

文章分类

全部博文(718)

文章存档

2024年(4)

2023年(74)

2022年(134)

2021年(238)

2020年(115)

2019年(11)

2018年(9)

2017年(9)

2016年(17)

2015年(7)

2014年(4)

2013年(1)

2012年(11)

2011年(27)

2010年(35)

2009年(11)

2008年(11)

最近访客
相关博文
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·

分类: oracle

2010-03-25 16:00:23

要分析一个数据库的故障,想了解侦听日志中的连接情况。
 
思路:
  把侦听日志文件加载到表中,用sql语句提取日志中信息。加载的方法可以使用sql*loader 或外部表
 
先把日志截取一部分
tail -100000 alert*.log > /tmp/lis.log
 
在一个临时库中创建表
-- drop table listener_log;
 
create table listener_log
(
  rq        varchar2(30),
  conn      varchar2(400),
  address   varchar2(400),
  action    varchar2(20),
  service   varchar2(20),
  retu_code varchar2(10),
  host      varchar2(50)
);
 
用 sql loader 加载侦听日志到表中
控制文件c.txt 内容:
load data
infile 'd:\lis.log'
truncate
 into table listener_log
when (conn <> ' service_update ') 
fields terminated by "*"
trailing nullcols
(rq,conn,address,action,service,retu_code,host)
 
加载命令:
sqlldr scott/tiger control=d:\c.txt direct=true
 

--查询某天每小时连接数:
select substr(rq,-9,2) hh,count(0) cnt
from listener_log
where rq like '22-mar-2011%'
group by substr(rq,-9,2)
order by hh;
 
用pl/sql developer可以生成柱状图,比较直观:
 
--查询每天的连接情况:
select substr(rq,1,6) dd,count(0) cnt
from listener_log
group by substr(rq,1,6)
order by dd;
 
--查看各 program 连接数:
select program, count(0)
  from (select substr(conn,
        instr(conn, 'program') 8,
        instr(substr(conn, instr(conn, 'program') 8), ')') - 1) program
          from listener_log
         where conn like '%program%')
 group by program;
 
--查看各 host 的连接情况:
select host, count(0)
  from (select substr(address,
        instr(address, 'host') 5,
        instr(substr(address, instr(address, 'host') 5), ')') - 1) host
          from listener_log
         where conn like '%host%')
 group by host;
 
 
结束。
 
 
 
 
 
以下内容无用:

--加载完后,可以将不要的数据进行剔除
select * from listener_log;
delete from listener_log
  where conn=' ping '
   or address=' status '
   or address =' services ';
 
commit;
 

--整理数据,将 host 列出来:
update listener_log set host=
 substr(address, instr(address, 'host=') length('host='),
 instr(address, '(port=') - instr(address, 'host=')-length('(port=')) ;
 
commit;
 
--查看各 ip 连接情况:
select host, count(0) cnt
  from listener_log
 where rq like '24-mar-2011%'
 group by host;
阅读(2276) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
")); function link(t){ var href= $(t).attr('href'); href ="?url=" encodeuricomponent(location.href); $(t).attr('href',href); //setcookie("returnouturl", location.href, 60, "/"); }
网站地图