首页 > 代码库 > Oracle数据库连接检测(Shell)

Oracle数据库连接检测(Shell)

1 版本信息

Oracle数据库版本:Oracle Release 10.2.0.1.0

系统版本:Red Hat EnterpriseLinux 5.4

 

2 检测步骤

2.1 编写Shell脚本

在有SQLPLUS执行权限的用户下,编辑check_oracle_connection.sh脚本。

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数据库连接正常,实例正常运行。

Oracle数据库连接检测(Shell)