Just the other day I had to do this.
I wrote a little stored Java procedure that attempts a logon through the listener, and raises an alert if it fails. Schedule this to run as frequently as you want. I can't give away the code on a public forum, but I'm sure you can develop your own. Or contact my boss.
Oracle Certified Master DBA
If your database is on Linux OS(or write something similar for Windows OS)...
You could set up cron job to check periodically if listener process exists.
ps -fu oracle | grep lsnr | grep /home/oracle/
if [[ $result = 0 ]] ; then
echo "running" # do nothing
echo "not running" # send mail for example
Instead of /home/oracle/ type part of your oracle home for example.
Listener is running from $ORACLE_HOME/bin.
Is it possible to set alert on listener, if it gets down?
I mean..If Listener status gets down how would DBA know (except lsnrctl status)?
Why would a Listener fail?
And the reason for that, also very likely means the inability of any other software on that server using the network interface on that platform to notify you of the error.
If you want listener redundancy and failover - look at how SCAN and local listeners and virtual IP addresses work.