ここにある
http://www.oracle.com/technetwork/jp/articles/chapter5-1-101584-ja.html

#!/bin/sh
(
echo 'conn system/<password>' #コネクション生成
echo 'set time on timing on' #時間情報を付ける
while [ 1 ] #永久ループ(for文にすれば有限ループ)
do
echo 'select count(*) from v$session;' #SQLの本体
sleep 5 #5秒間スリープ
done
) | sqlplus /nolog #SQL*Plusにパイプで渡す

select文がエラーだったらループせず処理を抜けるようにしたいのですが
どうやったらいいでしょうか