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-