Database 维护脚本
来源:互联网 发布:ally mac tyana磁力 编辑:程序博客网 时间:2024/06/03 03:58
#!/bin/bashecho "#####################################################"echo "#########Check Database Instance Status##############"echo "#####################################################"ORATAB=/etc/oratabecho "`date`"echo "Oracle Database(s) Status: `hostname`"db=`egrep -i ":Y|:N" $ORATAB | cut -d ":" -f1 | grep -v "\#" | grep -v "\*"`pslist="`ps -ef | grep pmon`"for i in $db; doecho "$pslist" | grep "ora_pmon_$i" > /dev/nullif(($?));thenecho "Oracle Instance - $i : Down."elseecho "Oracle Instance - $i : Up."fidoneecho "#####################################################"echo "#########Check Database Listener Status##############"echo "#####################################################"cd /home/oracle/dba_shscriptrm -f lsnr.existps -ef | grep -i Listener | grep -v grep > /home/oracle/dba_shscript/lsnr.existif [ -s lsnr.exist ] thenecho "`lsnrctl status`"elseecho "`lsnrctl start`"fiecho "#####################################################"echo "#########Check Database Alert Log####################"echo "#####################################################"cd $ORACLE_BASE/diag/rdbms/$ORACLE_SID/$ORACLE_SID/traceecho "`pwd`"rm -f /home/oracle/dba_shscript/alert_$ORACLE_SID.logif [ `cat alert_$ORACLE_SID.log | wc -l` -gt 0 ]thengrep ORA- alert_$ORACLE_SID.log > /home/oracle/dba_shscript/alert_$ORACLE_SID.logfiecho "Please check /home/oracle/dba_shscript/alert_$ORACLE_SID.log"echo "#####################################################"echo "#########Analyze Table###############################"echo "#####################################################"source /home/oracle/.bash_profilerm -f /home/oracle/dba_shscript/analyze_table.sqlsqlplus -S "xinhailun/xinhailun" << EOFset heading offset feed offset pagesize 200set linesize 100spool /home/oracle/dba_shscript/analyze_table.sqlselect 'ANALYZE TABLE ' || owner || '.' || segment_name ||' ESTIMATE STATISTICS SAMPLE 10 PERCENT;' from dba_segments where segment_type = 'TABLE' and owner = 'XINHAILUN';spool offexit!EOFsqlplus -S "xinhailun/xinhailun" << EOF@/home/oracle/dba_shscript/analyze_table.sqlexit!EOFecho "#####################################################"echo "#########Monitor Tablespace##########################"echo "#####################################################"sqlplus -S "/ as sysdba" << EOFset feed offset linesize 100set pagesize 200spool /home/oracle/dba_shscript/tablespace.alertSELECT F.TABLESPACE_NAME, TO_CHAR((T.TOTAL_SPACE - F.FREE_SPACE), '999,999,999') "USED (MB)", TO_CHAR(F.FREE_SPACE, '999,999,999') "FREE (MB)", TO_CHAR(T.TOTAL_SPACE, '999,999,999') "TOTAL (MB)", TO_CHAR((ROUND((F.FREE_SPACE / T.TOTAL_SPACE) * 100)), '999') || ' %' PER_FREE FROM (SELECT TABLESPACE_NAME, ROUND(SUM(BLOCKS * (SELECT VALUE / 1024 FROM V\$PARAMETER WHERE NAME = 'db_block_size') / 1024)) FREE_SPACE FROM DBA_FREE_SPACE GROUP BY TABLESPACE_NAME) F, (SELECT TABLESPACE_NAME, ROUND(SUM(BYTES / 1048576)) TOTAL_SPACE FROM DBA_DATA_FILES GROUP BY TABLESPACE_NAME) T WHERE F.TABLESPACE_NAME = T.TABLESPACE_NAME AND (ROUND((F.FREE_SPACE / T.TOTAL_SPACE) * 100)) < 70;spool offexit!EOFif [ `cat /home/oracle/dba_shscript/tablespace.alert|wc -l` -gt 0 ]thenecho "Please check /home/oracle/dba_shscript/tablespace.alert"fiecho "#####################################################"echo "#########Check Invalid Objects#######################"echo "#####################################################"sqlplus -S "/ as sysdba" << EOFset feed off set heading off col object_name format a30 col owner format a15col object_type format a15spool /home/oracle/dba_shscript/invalid_object.alert SELECT OWNER, OBJECT_NAME, OBJECT_TYPE, STATUS FROM DBA_OBJECTS WHERE STATUS = 'INVALID' ORDER BY OWNER, OBJECT_TYPE, OBJECT_NAME;spool off exit ! EOFif [ `cat /home/oracle/dba_shscript/invalid_object.alert|wc -l` -gt 0 ] then echo "Please check /home/oracle/dba_shscript/invalid_object.alert"fi
0 0
- Database 维护脚本
- 几个DG维护脚本
- Oracle维护常用脚本
- CDH维护脚本
- 数据库脚本:Database.sql
- MySQL rename database脚本
- Standby database的建立、使用和维护
- 物理standby database的日常维护
- 物理standby database的日常维护
- 物理standby database的日常维护
- 物理standby database的日常维护
- 物理standby database的日常维护
- 物理standby database的日常维护
- Informix数据库日常维护脚本
- QTP脚本维护的难度
- sql数据库日常维护脚本
- python维护代理池脚本
- 日常维护SQL以及脚本
- QTP常用代码
- 分析 websphere中间件生成的javacore文件
- C# 委托使用示例
- JSP入门知识之page,include,taglib----在滚滚代码中进修
- win7 密码破解
- Database 维护脚本
- StringBuilder和String的区别
- 18周 oj 矩形类中运算符重载
- websphere如何产生javacore和heapdump
- nes 游戏引擎 原理分析
- Coursera2014 Machine Learning -Andrew Ng Week 1 程序实现(Matlab or Octave)
- 使用sprintf() sscanf()转换字符串
- Raw-OS源码分析之消息系统-Queue_Size
- autolayout