There are a lot of monitoring options, the default being Oracle Enterprise Manager (OEM).
However, if OEM isn’t right for your organisation, then a simple but customisable solution is to use Powershell scripts, that either email alerts (and forward to SMS) or feed into another central monitoring tool like SCOM or Nagios.
There are only about 20 checks that I use for 11g or later databases, which are enough to cover a variety of configurations for the most common issues. DBAs should already have the SQL scripts to detect various issues, such as capacity running out, so it really isn’t that much effort to set up script based monitoring.
I discuss the best option for monitoring Oracle databases with SCOM in this post: Monitoring Oracle Databases wtih SCOM.