You can use TOracleSession.CheckConnection to verify if a session is still alive.
If you attempt to logon while a database is shutting down, you will get a "ORA-01014: Oracle shutdown in progress" exception. If it is already shutdown, you will get a different message, depending on the configuration.
I'm not sure how to detect a "very busy" server though.
------------------
Marco Kalter
Allround Automations