What database aspects should be monitored?

Body: 

One should implement a monitoring system to constantly monitor the following
aspects of a database. This can be achieved by writing custom scripts,
implementing Oracle's Enterprise Manager, or buying a third-party monitoring
product. If an alarm is triggered, the system should automatically notify the
DBA (e-mail, page, etc.) to take appropriate action.

Infrastructure availability:

  • Is the database up and responding to requests
  • Are the listeners up and responding to requests
  • Are the Oracle Names and LDAP Servers up and responding to requests
  • Are the Web Listeners up and responding to requests
  • Etc.

Things that can cause service outages:

  • Is the archive log destination filling up?
  • Objects getting close to their max extents
  • Tablespaces running low on free space/ Objects what would not be able to extend
  • User and process limits reached
  • Etc.

Things that can cause bad performance: