One other possible option :
Set an SQLI variable that runs the command "select OH_Name from OH where oH_OType = 'SERV'"
This will return the list of all server components of your instance (also called "system" in the documentation)
Use the script commands PREP_PROCESS_VAR to check status of the different server components returned by the variable like the following :
:SET &varlist# = PREP_PROCESS_VAR(<SQLI variable name>)
:PROCESS &varlist#
: SET &srv_name# = GET_PROCESS_LINE(&varlist#,1)
: SET &status# = SYS_SERVER_ALIVE(&srv_name#)
:ENDPROCESS
Status returned by SYS_SERVER_ALIVE is "Y" when component active so if you find an "N" status your component is down.
Now this is not going to detect a component in some very unusual status or if the DB is freezed .... but this will not show also in the server log files.