vi check_oracle_connection.sh
编辑内容如下:
#!/bin/bash
#functions: connect oracle server test
#author:AresKris John
#modify_date: 2014-11-18.
mkdir -p /home/gapsv4/log/oracle #创建日志存放路径
LOG_DIR=/home/gapsv4/log/oracle #日志存放路径
rm -rf $LOG_DIR/* #删除旧日志
USERNAME=bodcmp #数据库用户名
PASSWORD=bodcmp #数据库密码
SIDNAME=ora10g #数据库实例名
icount=0
while [ "$icount" -lt 100 ]
do
{
count=0
while [ "$count" -lt 100 ]
do
LOG_FILE=$LOG_DIR/check_oracle_$icount.$count.log
echo `sqlplus $USERNAME/$PASSWORD@$SIDNAME << EOF
set echo off
set feedback off
spool $LOG_FILE
alter session set nls_date_format='YYYY-MM-DD:HH24:MI:SS';
select sysdate from dual;
spool off
set echo on
set feedback on
exit
EOF` >> $LOG_FILE
let count=$count+1
done
} &
let icount=$icount+1
done
2.2 执行Shell脚本
直接调用bash执行check_oracle_connection.sh脚本。
bash check_oracle_connection.sh
2.3 脚本执行结果分析
执行完脚本之后,根据脚本执行结果分析Oracle数据库连接情况。情况如下:
1、如果在执行过程中有个别日志报连接或者查询失败的错误,那么证明Oracle数据库连接不稳定,存在问题。
2、如果在执行过程中全部日志报连接或者查询失败的错误,那么证明Oracle实例或监听进程未启动。
3、如果在执行过程中无日志报错,那么证明Oracle数据库连接正常,实例正常运行。