shell程序怎么判断oracle数据库和侦听都已经正常启动

shell程序怎么判断oracle数据库和侦听都已经正常启动

shell程序如何判断oracle数据库和侦听都已经正常启动
我的系统需要Solaris系统启动时自动启动oracle数据库系统,oracle数据库系统启动后再自动启动我的程序。因为我的程序启动需要从oracle下载数据。想请问在shell脚本中如何判断oracle数据库是否启动?怎么实现?谢谢
------解决思路----------------------
使用nmap localhost 
Starting Nmap 6.00 ( http://nmap.org ) at 2013-03-11 19:55 CST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00047s latency).
Not shown: 986 closed ports
PORT     STATE SERVICE
13/tcp   open  daytime
22/tcp   open  ssh
23/tcp   open  telnet
25/tcp   open  smtp
53/tcp   open  domain
80/tcp   open  http
111/tcp  open  rpcbind
631/tcp  open  ipp
902/tcp  open  iss-realsecure
2049/tcp open  nfs
3306/tcp open  mysql
8086/tcp open  d-s-n
8087/tcp open  simplifymedia
9418/tcp open  git

oracle我不知道,但是mysql用了这个命令就是这样那就简单了
if nmap 
------解决思路----------------------
 grep 'mysql'  2>&1 >/dev/null
then 
     echo "ok"
     return 0
fi
echo "error"
return 1
------解决思路----------------------
su - oracle -c "sqlplus sys/oracle as sysdba <<EOF
select sysdate from dual;
EOF"