机器上的oracle    instance是不是在运行呢?只要确认下oracle的核心进程 是不是运行就知道了,ps -aux就可以查看到,我想在shell下实现,也是个小脚本,不要笑,开始学shell实现了。
以下是脚本:
[oracle@xn-test ~]$ cat ck-instance.sh
#!/bin/bash
oratab=/u01/app/oracle/product/10.2.0/db_1/install/oratab
echo "`date`"
echo "Oracle Database Status `hostname`:\n"
db=`egrep -i ":Y|:N" $oratab | cut -d":" -f1 | grep -v "\#" | grep -v "\*"`
pslist="`ps -ef | grep pmon`"
for i in $db ; do
        echo "$pslist" | grep "ora_pmon_$i" > /dev/null 2>1
        if (( $? )); then
                echo "Oracle Instance - $i: Down"
        else
                echo "Oracle Instance - $i: Up"
        fi
done
[oracle@xn-test ~]$ ./ck-instance.sh
Thu Dec  3 16:11:39 CST 2009
Oracle Database Status xn-test:\n
Oracle Instance - orcl: Up
 
简单吧,我是查的pmon这个进程,也可以用其他的,只要是oracle的五个核心进程就可以,为什么,因为这要是这五个中一个down了,那instance也就down了。