您的位置:首页 > 运维架构 > Linux

Linux 检查数据库服务器基本状态

2017-12-28 14:56 453 查看
#!/bin/bash

PLATFORM=`uname`

strhost=`hostname`

time=`date +%Y-%m-%d" "%H:%M:%S`

index=0

function checkDB()

{

  echo ""

  echo "***************************************************************" 

  echo "*****check server $1 begin...******************************" 

  echo "***************************************************************" 

  db1procnum=`

    sqlplus -s /nolog <<EOF

    conn sys/welcome!2012@$2/servdb as sysdba

    set timing off; 

    set echo off;

    set feedback off;

    set heading off;

    set underline off; 

    select count(*) from v\\$session;

    exit;

EOF`

  db1maxprocnum=`

    sqlplus -s /nolog <<EOF

    conn sys/welcome!2012@$2/servdb as sysdba

    set timing off; 

    set echo off;

    set feedback off;

    set heading off;

    set underline off; 

    show parameters processes;

    exit;

EOF`

  ConnError=`echo $db1maxprocnum|grep 'ORA-'|wc -l`

  echo ""

  echo "*****Oracle Connect(Through Listener) Error***********************"

  if [ $ConnError -ne 0 ]

  then

    echo "Oracle Connect Error:"

    echo $db1maxprocnum

    return

  else

    echo "Oracle Connect is ok!"

  fi

  echo ""

  echo "*****Oracle Processes Num*****************************************"

  db1maxprocnum=`echo $db1maxprocnum|awk '{print $NF}'`

  echo  "Max Process Num: $db1maxprocnum"

  db1procnum=`echo $db1procnum|grep [0-9]`

  echo  "Current Process Num: $db1procnum" 

  echo ""

  echo "*****Oracle Alert Error*******************************************"

  AlertErr=`tail -n 200 $ORACLE_BASE/admin/servdb/bdump/alert*.log|grep "ORA-"|wc -l`

  if [ $AlertErr -ne 0 ]

  then

    echo "Oracle Alert Log has Errors(Please go to see Alert log to see more):"

    tail -n 200 $ORACLE_BASE/admin/servdb/bdump/alert*.log|grep "ORA-"

  else

    echo "Oracle Alert Log has no Errors!"

  fi

  if [ $index -eq 0 ]

  then 

    echo ""

    echo "*****Oracle Tablespace Usage**************************************"

    sqlplus -s /nolog <<EOF

      conn sys/welcome!2012@$2/servdb as sysdba

      set timing off; 

      set e
4000
cho off;

      set feedback off;

      set heading off;

      set underline off; 

      @chktbs.sql;

      exit;

EOF

    echo ""

    echo "*****Oracle ASM Disk Usage**************************************"

    sqlplus -s /nolog <<EOF

      conn sys/welcome!2012@$2/servdb as sysdba

      set timing off; 

      set echo off;

      set feedback off;

      set underline off; 

      select group_number,name,total_mb,free_mb from v\$asm_diskgroup;

      exit;

EOF

  fi

  index=1

  echo $DBUsage

  

  echo ""

  echo "*****OS Disk Space ***********************************************"

  ssh $1 df -h

  echo ""

  echo "*****OS Mem Space ***********************************************"

  ssh $1 free -m

echo ""

echo "***************************************************************" 

echo "*****check server $1 end...********************************"

echo "***************************************************************"  

}

checkDB testdb1 xxx.xxx.xxx.xxx

checkDB testdb2 xxx.xxx.xxx.xxx\
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: