5Malert日志,每天都要贴出来,请教大家一下,非常感谢。
求助一下各位,想获取alert日志文件中这个2022-07-07T00:00:28.689537+08:00这个时间段以下所有的内容,怎么做
sed -n '/开始时间日期/,/结束时间日期/p' alert.log
评论
有用 1这是我写的监控alert日志中每天日志内容中的ORA-信息shell片段,供你参考:
export DATE_DAY_TODAY=`date -d today +"%Y-%m-%d"`
export DATE_DAT_TOMORROW=`date -d tomorrow +"%Y-%m-%d"`
# get alert log file_name
sqlplus -s '/as sysdba' <<"EOF" >> $LOG_FILE
set line 300
col name for a30
col value for a70
select * from gv$diag_info where name = 'Diag Trace';
exit
EOF
echo "diagtrace found" >> $LOG_FILE
if [[ $IS_RAC == 'RAC' ]]
then
ALERT_LOG_1=`sed -n /ALERT/,/diagtrace/p $LOG_FILE | grep [[:space:]]1 | awk -F ' ' '{print $4}'`
export ALERT_LOG_1=${ALERT_LOG_1}/alert_${ORACLE_SID}.log
ALERT_LOG_2=`sed -n /ALERT/,/diagtrace/p $LOG_FILE | grep [[:space:]]2 | awk -F ' ' '{print $4}'`
export ALERT_LOG_2=${ALERT_LOG_2}/alert_${ORACLE_SID%?}2.log
# check inst 1's alert log
echo "Inst 1 alert log check: " >> $LOG_FILE
sed -n "/$DATE_DAY_TODAY"T"/,/$DATE_DAT_TOMORROW"T"/p" $ALERT_LOG_1 | grep ORA- >> $LOG_FILE
echo "" >> $LOG_FILE
# check inst 2's alert log
echo "Inst 2 alert log check: " >> $LOG_FILE
ssh $SECOND_NODE "sed -n '/$DATE_DAY_TODAY"T"/,/$DATE_DAT_TOMORROW"T"/p' $ALERT_LOG_2 | grep ORA-" >> $LOG_FILE
elif [[ $IS_RAC == 'NORAC' ]]
then
ALERT_LOG=`sed -n /ALERT/,/diagtrace/p $LOG_FILE | grep 1 | awk -F ' ' '{print $4}'`
export ALERT_LOG=${ALERT_LOG}/alert_${ORACLE_SID}.log
sed -n "/$DATE_DAY_TODAY"T"/,/$DATE_DAT_TOMORROW"T"/p" $ALERT_LOG | grep ORA- >> $LOG_FILE
fi
if [[ `grep ORA- $LOG_FILE| wc -l` > 0 ]]
then
echo "" >> $LOG_FILE
echo "WARNING: ORA- error code found in database alert log" >> $LOG_FILE
fi
评论
有用 3
墨值悬赏

