The implications of the different flavors of
shutdown
are explained pretty clearly in the Oracle docs. ("shutdown
transactional" would also be a good alternative for the shutdown
script, but "shutdown immediate" is still probably more appropriate.)
I recomend both insuring that all normally running programs
which connect to Oracle shut down cleanly before Oracle tries
to shut down, and using shutdown immediate for the Oracle
shutdown script.
I don't happen to use daemontools so I'm not clear on the details, but
Jade's example above looks like a good method for insuring that the
normally running AOLservers are killed cleanly. This is good, but not
sufficient, as (definitely) if someone starts up an AOLserver manually
and forgets to shut it down, or (presumably, I didn't test this)
leaves himself logged into sqlplus, Oracle will not shut down, and in
fact, will prevent your unix box from shutting down as well.