在客户这每天必做的是巡检,库多、网段隔离、关注点不同、登录时间受限,反正每天巡检时比较痛苦的,其实内容很简单,关于快捷巡检脚本,早就想弄,最近抽空针对不同系统的情况和要求写了不同的shell脚本放在主机tmp目录下,这样每天以root运行一下所有结果一目了然,减轻不少痛苦。
下面是其中一个suse linux rac节点1的巡检脚本,里面的模块可根据需要进行增减。
由于网段隔离得厉害,客户也不喜欢主机放太多东西,暂时没考虑用一台主机统一搜集巡检数据,后面再看情况吧。
下面是其中一个suse linux rac节点1的巡检脚本,里面的模块可根据需要进行增减。
由于网段隔离得厉害,客户也不喜欢主机放太多东西,暂时没考虑用一台主机统一搜集巡检数据,后面再看情况吧。
点击(此处)折叠或打开
-
#!/usr/bin/sh
-
source /oracle/db/.profile
-
echo ***************************************************************************************file_system//////////////
-
df -h|awk '{print $5,$6}'
-
echo ***************************************************************************************cpu_idle//////////////
-
vmstat 1 3|awk '{print $15}'
-
echo ***************************************************************************************alert_log//////////////
-
echo "<<`tail -3000 /oracle/base/diag/rdbms/orcl/orcl*/trace/alert_orcl*.log|grep ORA-|wc -l`>> ORA- arise in the alertlog"
- tail -3000 /oracle/base/diag/rdbms/orcl/orcl*/trace/alert_orcl*.log|grep ORA-
-
echo ***************************************************************************************tablespace used//////////////
-
su - oracle <<!
-
cd /tmp
-
sqlplus -s '/as sysdba' >tablespace_use.log <<EOF
-
set feedback off echo off verify off heading off pages 1000
-
select * from dba_tablespace_usage_metrics order by USED_PERCENT;
-
exit
-
EOF
-
tail -5 tablespace_use.log
-
rm tablespace_use.log
-
exit
- !
-
echo ***************************************************************************************User IO(ms)//////////////
-
su - oracle <<!
-
cd /tmp
-
sqlplus -s '/as sysdba' >dailycheck_awr.txt <<EOF
-
set feedback off echo off verify off heading off pages 1000 lines 150 serveroutput on
-
declare
-
vminsnap number;
-
vmaxsnap number;
-
vbegindate date;
-
vendate date;
-
vdbid number;
-
vinst number;
-
begin
-
vbegindate:=trunc(sysdate)+8.5/24;
-
vendate:=trunc(sysdate)+11.5/24;
-
vinst:=1;
- select dbid,min(SNAP_ID),max(SNAP_ID) into vdbid,vminsnap,vmaxsnap from DBA_HIST_SNAPSHOT where END_INTERVAL_TIME between vbegindate and vendate group by dbid;
-
dbms_output.enable(500000);
-
for i in (select output from table(dbms_workload_repository.awr_report_text(l_dbid=>vdbid,l_inst_num=>vinst,l_bid=>vminsnap,l_eid=>vmaxsnap)))
-
loop
-
dbms_output.put_line(i.output);
-
end loop;
-
end;
-
/
-
exit
-
EOF
-
exit
- !
-
cd /tmp
-
str=`grep -n 'Wait Classes by Total Wait Time' $ORACLE_HOME/rdbms/admin/dailycheck_awr.txt`
-
str1=${str%:*}
-
str2=$(($str1+15))
-
sed -n "/User I\/O/{$str1,$str2 p}" $ORACLE_HOME/rdbms/admin/dailycheck_awr.txt|awk '{print $5}'
-
rm dailycheck_awr.txt
-
echo ***************************************************************************************ASM free(MB)//////////////
-
source /oracle/grid/.profile
-
su - grid <<!
-
cd /tmp
-
asmcmd >asmfree.log <<EOF
-
lsdg
-
exit
-
EOF
-
exit
-
!
-
cd /tmp
-
sed -n '2p' asmfree.log|awk '{print $8}'
-
rm asmfree.log
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26614613/viewspace-2059979/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/26614613/viewspace-2059979/
本文介绍了一个用于SUSE Linux RAC环境的巡检脚本,该脚本可以自动化检查文件系统使用率、CPU空闲状态、警报日志、表空间使用情况、用户I/O等待时间及ASM剩余空间等关键指标。

被折叠的 条评论
为什么被折叠?



