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\
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\
相关文章推荐
- 检查mysql主从同步结构中的从数据库服务器的状态-脚本shell
- 自动定期检查mysql 服务器所有数据库Myisam 表的状态
- linux脚本检查外部服务器端口状态
- Linux与云计算——第二阶段Linux服务器架设 第一十二章:数据库搭建—MariaDB
- 阿里云服务器实战(二): Linux MySql5.6数据库乱码问题
- navicat 链接linux 服务器上的数据库
- 无法连接数据库服务器,请检查配置
- 无法向会话状态服务器发出会话状态请求。请确保 ASP.NET State Service (ASP.NET 状态服务)已启动,并且客户端端口与服务器端口相同。如果服务器位于远程计算机上,请检查。。。
- Linux VPS/服务器 网站及数据库自动本地备份并FTP上传备份脚本
- Linux 服务器状态分析
- Shell脚本实现检查服务器安全状态(用户、登录IP、防火墙检查)
- window下备份数据库到LinuxFTP服务器上并自动删除7天前数据备份文件
- Linux-定时脚本将一台服务器上的mysql数据库自动备份到另一台服务器的数据库中
- MYSQL 数据库状态检查脚本(Python版)
- Linux 查看远程服务器文件状态
- 12c 检查pdb数据库状态
- Linux+Redis实战教程_day02_Redis特性(数据库、服务器命令、消息订阅与发布、事务)
- 全面了解linux 服务器基本信息[阮胜昌]
- Linux 服务器基本防护
- Linux中DNS服务器的基本配置