如何在系统上查看当天Oracle log切换频率


Oracle log 每次切换会记录到告警日志中 设想写个方案来查看log切换频率来判断Oracle log是否应该更改大小..
   该文章可用于对数据库的监控检查脚本..  如果脚本中输出时间间隔在10分钟之内  或者更短的话说明您的logfile 过小或者事务数/量过大
 
具体思路和脚本如下:
思路:
1)读取Oracle告警文件名称 --&gt  为方便所有环境 将会用到Oracle 的环境变量中的$ORACLE_BASE/$ORACLE_SID  实现步骤如‘蓝色字样
2)文件找到 要读取当天log切换,由于每个操作系统的/etc/sysconfig/i18n显示时间格式不一,所以没有用date 读取  
   以下脚本 是利用Linux基本命令实现读取系统上当天Oracle log切换频率,实现步骤如‘绿色字样

实现步骤:..一个为例
1、查看oracle 参数文件 
[root@kfdb ~]# grep ORACLE_BASE= /home/oracle/.bash_profile
export ORACLE_BASE=/oradata2/app/oracle
2、查看该环境变量 为空
[root@kfdb ~]# echo $ORACLE_BASE

3、设定环境变量 ORACLE_BASE
[root@kfdb ~]# ORACLE_BASE=`grep ORACLE_BASE= /home/oracle/.bash_profile `
检查:
[root@kfdb ~]# echo $ORACLE_BASE
export ORACLE_BASE=/oradata2/app/oracle
4、执行export环境变量 
[root@kfdb ~]# $ORACLE_BASE
检查是否生效:
[root@kfdb ~]# echo $ORACLE_BASE
/oradata2/app/oracle
[root@kfdb ~]#

脚本如下:
#/bin/sh
ORACLE_BASE=`grep ORACLE_BASE= /home/oracle/.bash_profile `
ORACLE_SID=`grep ORACLE_SID= /home/oracle/.bash_profile `
$ORACLE_BASE
$ORACLE_SID
cd $ORACLE_BASE/diag/rdbms/$ORACLE_SID/$ORACLE_SID/trace/
d=`grep  -A 2 "LGWR switch" alert_$ORACLE_SID.log | tail -10| grep -v  Current|grep -v Thread | tail -1|awk -F ' ' '{print $1,$2,$3}'`
grep -A 2 "LGWR switch" alert_$ORACLE_SID.log | grep -A 3 "$d" > /root/"$d".log
cd /root
grep "$d" "$d".log
#可以选择不删除  rm -rf "$d".log

#wc=`grep "$d" "$d".log|wc -l`   wc 查看结果总条目
#bc=`echo $wc-1|bc                  bc计算器
#grep "$d" "$d".log| head -$wc    

注释:
$ORACLE_SID/ORACLE_BASE : 执行上面的结果
d: 查出系统时间
grep -v:过滤掉 ...  是因为可能存在alter system switch logfile;将原放在最后行的日期更换
grep .... 显示准确的log切换时间...grep -A 3 "$d" 过滤掉了命令切换没有写内容的log 将是log切换频率的结果



SQL:
    select b.SEQUENCE#,
           b.FIRST_TIME,
           a.SEQUENCE#,
           a.FIRST_TIME,
           round(((a.FIRST_TIME - b.FIRST_TIME) * 24) * 60, 2)
      from v$log_history a, v$log_history b
    where a.SEQUENCE# = b.SEQUENCE# + 1
       and b.THREAD# = 1
    order by a.SEQUENCE# desc;

 谢谢大家阅读~
希望对您有帮助~

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28602568/viewspace-1125506/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/28602568/viewspace-1125506/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值