We use a lot of different db's (oracle, redbrick, mssql,
sybase) and wrote a custom tag that checks the availability of a
datasource. We send it a datasource name and get back a true/false
variable called dbok.
The actual tag tries to run short queries, such as "select 1
from dual", in the case of an oracle db. It then looks at error
codes in the cfcatch part. I forget the rest of the details, but I
used it today.