深入讲解“alert log”过大时的处理方法


        1、备份alert_sid.ora方法
cd /.../budmp
mkdir -p bak
LG=alert$ORACLE_SID.ora
cat $LG| gzip -9c > bak/$LG.bak.`date +%Y%m%d`.gz && cat /dev/null > $LG
cd $ORACLE_HOME/network/log
LG=listener.log
cat $LG| gzip -9c > bak/$LG.bak.`date +%Y%m%d`.gz && cat /dev/null > $LG

解释如下:

LG=alert$ORACLE_SID.ora 定义变量

bak/$LG.bak.`date +%Y%m%d`.gz 备份的文件名,包含了日期信息

cat $LG| gzip -9c > bak/$LG.bak.`date +%Y%m%d`.gz 把$LG的内容压缩,保存为备份文件

cat /dev/null > $LG 清空老log 文件的内容。

这样做不会改变文件的handle,直接move可能导致某些已经打开该文件的进程往该文件写时丢失数据。

2.VI中定位ORA的位置

思路:用grep -n '日期' alert.log |head -1和grep -n '日期' alert.log |tail -1 分别得到两个行数,然后用sed -n 第一行、最后一行,p alert.log|grep ORA-

本文作者:
« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3