Oracle Enterprise Manager

2022 Update: This contents of this page is about 15 years out of date. Older versions of Oracle Enterprise Manager made heavy use of Tcl. However, in more recent versions, the use of Tcl has been removed. (I think the change happened around the 10gR2 release in 2005, but not completely sure.) One can find a few public references to this fact in Oracle's documentation. For example, one of the manuals for Oracle Database 10gR2 on OpenVMS says "Enterprise Manager Agent is implemented in C, Java, and Perl. Unlike earlier versions, TCL scripts are no longer used. These are replaced by Perl scripts. Perl version 5.8 is included in the kit along with the Enterprise Manager Agent." (Although that's a statement from the OpenVMS documentation, my understanding is the same is true on other platforms such as Linux, Solaris, AIX or Windows, but the version of this document for those platforms does not include this statement, for whatever reason.) -- SJK


This was the architecture of the Oracle Enterprise Manager (OEM): an OEM "console" has the ability to send "scripts" for execution on a "remote agent", that is, an individual monitored server. A restricted form of Tcl (version 8.0, as of 2001?) is the language of these scripts. See [L1 ] for Oracle's documentation, which claims it is using Tcl 7.5 ...

(the link above is broken - see Oracle Documentation)

OEM was built with Oratcl.

Among the technical reasons Oracle might rationally have chosen Tcl for OEM over, for example, Perl:

  • Oratcl's distinguished history;
  • Tcl's record of achievement with SNMP applications;
  • Tcl's event-orientation;
  • Tcl's tradition of "agent" work.

See also "Oracle".