linux 快速定位alert 日志中出错信息

alert 日志记录了数据库的很多重要信息,要养成时常检查alert日志的习惯,但如果日志很大vi打开翻来覆去找着麻烦,怎么做的可以查错呢?

看我的测试

[oracle@ahjcyl-db bdump]$ tail -n 1000 alert_ahjcyl.log |grep ORA-
ORA-12012: error on auto execute of job 22
ORA-00054: resource busy and acquire with NOWAIT specified
ORA-06512: at "DOCTOR.SPL_SJPT_ARCHUSAGE", line 18
ORA-06512: at "DOCTOR.SPL_SJPT_DAYLY", line 34
ORA-06512: at line 1

---能看到一错误信息,tail -n xx是最后的多少行通过管道符传给grep查看,但是看的摸不到头脑,要是能显示错误信息行再分别附带出错后下面的几行应该更好,再往下看

[oracle@ahjcyl-db bdump]$ tail -n 10000 alert_ahjcyl.log |grep -A 6 ORA-

WARNING: inbound connection timed out (ORA-3136)
Fri Sep  9 18:01:34 2011
WARNING: inbound connection timed out (ORA-3136)
Fri Sep  9 18:05:29 2011
Thread 1 advanced to log sequence 2566 (LGWR switch)
  Current log# 6 seq# 2566 mem# 0: /oracle/oradata/ahjcyl/redo06_02.log
  Current log# 6 seq# 2566 mem# 1: /oradata/ahjcyl/redo06_01.log
Fri Sep  9 20:14:54 2011
Thread 1 advanced to log sequence 2567 (LGWR switch)
--
ORA-1652: unable to extend temp segment by 128 in tablespace                 TEMP 
Fri Sep  9 22:18:55 2011
ORA-1652: unable to extend temp segment by 128 in tablespace                 TEMP 
Fri Sep  9 22:42:39 2011
ORA-1652: unable to extend temp segment by 128 in tablespace                 TEMP 
Sat Sep 10 01:03:00 2011
Starting control autobackup
Control autobackup written to DISK device
        handle '/oracle/flash_recovery_area/AHJCYL/autobackup/2011_09_10/o1_mf_s_761446980_76nkp55y_.bkp'
Sat Sep 10 01:03:05 2011
ALTER SYSTEM ARCHIVE LOG
--
ORA-12012: error on auto execute of job 22
ORA-00054: resource busy and acquire with NOWAIT specified
ORA-06512: at "DOCTOR.SPL_SJPT_ARCHUSAGE", line 18
ORA-06512: at "DOCTOR.SPL_SJPT_DAYLY", line 34
ORA-06512: at line 1
Wed Sep 14 13:02:18 2011
Thread 1 advanced to log sequence 2711 (LGWR switch)
  Current log# 6 seq# 2711 mem# 0: /oracle/oradata/ahjcyl/redo06_02.log
  Current log# 6 seq# 2711 mem# 1: /oradata/ahjcyl/redo06_01.log
Wed Sep 14 13:13:49 2011
Thread 1 advanced to log sequence 2712 (LGWR switch)

--是不是看的有点明确了,如果想要出错信息前的几行呢?再往下看
[oracle@ahjcyl-db bdump]$ tail -n 10000 alert_ahjcyl.log |grep -B 6 ORA-

  Current log# 1 seq# 2564 mem# 1: /oradata/ahjcyl/redo01_01.log
Fri Sep  9 18:00:14 2011
Thread 1 advanced to log sequence 2565 (LGWR switch)
  Current log# 2 seq# 2565 mem# 0: /oracle/oradata/ahjcyl/redo02_02.log
  Current log# 2 seq# 2565 mem# 1: /oradata/ahjcyl/redo02_01.log
Fri Sep  9 18:01:34 2011
WARNING: inbound connection timed out (ORA-3136)
Fri Sep  9 18:01:34 2011
WARNING: inbound connection timed out (ORA-3136)
--
  Current log# 6 seq# 2566 mem# 1: /oradata/ahjcyl/redo06_01.log
Fri Sep  9 20:14:54 2011
Thread 1 advanced to log sequence 2567 (LGWR switch)
  Current log# 4 seq# 2567 mem# 0: /oracle/oradata/ahjcyl/redo04_02.log
  Current log# 4 seq# 2567 mem# 1: /oradata/ahjcyl/redo04_01.log
Fri Sep  9 22:18:55 2011
ORA-1652: unable to extend temp segment by 128 in tablespace                 TEMP 
Fri Sep  9 22:18:55 2011
ORA-1652: unable to extend temp segment by 128 in tablespace                 TEMP 
Fri Sep  9 22:42:39 2011
ORA-1652: unable to extend temp segment by 128 in tablespace                 TEMP 

--但如果要是看数据的前\后几行呢 a+b ,再往下看
[oracle@ahjcyl-db bdump]$ tail -n 10000 alert_ahjcyl.log |grep -C 6 ORA-

Control autobackup written to DISK device
        handle '/oracle/flash_recovery_area/AHJCYL/autobackup/2011_09_08/o1_mf_s_761322189_76jqtf7g_.bkp'
Completed: alter database add logfile group 2 ('/oracle/oradata/ahjcyl/redo02_02.log','/oradata/ahjcyl/redo02_01.log') size 200m
Thu Sep  8 14:24:03 2011
alter database drop logfile group 3
Thu Sep  8 14:24:03 2011
ORA-1624 signalled during: alter database drop logfile group 3...
Thu Sep  8 14:24:50 2011
alter database drop logfile group 3
Thu Sep  8 14:24:50 2011
Starting control autobackup
Control autobackup written to DISK device
        handle '/oracle/flash_recovery_area/AHJCYL/autobackup/2011_09_08/o1_mf_s_761322290_76jqxljw_.bkp'
--
  Current log# 1 seq# 2564 mem# 1: /oradata/ahjcyl/redo01_01.log
Fri Sep  9 18:00:14 2011
Thread 1 advanced to log sequence 2565 (LGWR switch)
  Current log# 2 seq# 2565 mem# 0: /oracle/oradata/ahjcyl/redo02_02.log
  Current log# 2 seq# 2565 mem# 1: /oradata/ahjcyl/redo02_01.log
Fri Sep  9 18:01:34 2011
WARNING: inbound connection timed out (ORA-3136)
Fri Sep  9 18:01:34 2011
WARNING: inbound connection timed out (ORA-3136)
Fri Sep  9 18:05:29 2011
Thread 1 advanced to log sequence 2566 (LGWR switch)
  Current log# 6 seq# 2566 mem# 0: /oracle/oradata/ahjcyl/redo06_02.log
  Current log# 6 seq# 2566 mem# 1: /oradata/ahjcyl/redo06_01.log
Fri Sep  9 20:14:54 2011
Thread 1 advanced to log sequence 2567 (LGWR switch)
  Current log# 4 seq# 2567 mem# 0: /oracle/oradata/ahjcyl/redo04_02.log
  Current log# 4 seq# 2567 mem# 1: /oradata/ahjcyl/redo04_01.log
Fri Sep  9 22:18:55 2011
ORA-1652: unable to extend temp segment by 128 in tablespace                 TEMP 
Fri Sep  9 22:18:55 2011
ORA-1652: unable to extend temp segment by 128 in tablespace                 TEMP 
Fri Sep  9 22:42:39 2011
ORA-1652: unable to extend temp segment by 128 in tablespace                 TEMP 
Sat Sep 10 01:03:00 2011
Starting control autobackup
Control autobackup written to DISK device
        handle '/oracle/flash_recovery_area/AHJCYL/autobackup/2011_09_10/o1_mf_s_761446980_76nkp55y_.bkp'
Sat Sep 10 01:03:05 2011
ALTER SYSTEM ARCHIVE LOG

--没错就是grep -C 具体解释问男人吧,man grep

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

转载于:http://blog.itpub.net/20635683/viewspace-1267456/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值