RelationalDBDesign RelationalDBDesign

Network Config   «Prev  Next»
Lesson 2 Connection Manager’s Programs
ObjectiveExamine the function of the Connection Manager’s three Server Programs

Connection Manager’s Programs

At an internal level, CMAN consists of three server programs:
  1. Connection Manager Gate Way (CMGW),
  2. Connection Manager Administrator (CMADMIN), and
  3. Connection Manager Control Utility (CMCTL).
Let us examine the function of each.

Connection Manager Gateway (CMGW)

CMGW is a gateway process acting as a hub for the Connection Manager. This process is responsible for registering with the Connection Manager Administration process and listening for incoming SQL*Net or Net8 connection requests. CMGW also is responsible for initiating connection requests to listeners for clients, relaying data between the client and server, and answering requests initiated by CMCTL.

Connection Manager Administrator (CMADMIN)

CMADMIN is a multi-threaded process that is responsible for all administrative issues relating to the Connection Manager. Its primary function is to maintain address information in the Oracle Names Server. CMADMIN is also responsible for locating local Oracle Names servers, registering address information about the CMGW and listeners, monitoring changes in the network, and updating the Names Server.

Connection Manager Control Utility (CMCTL)

CMCTL is the executable name for the Connection Manager control utility. It provides administrative access to the CMADMIN and CMGW processes. You use the cmctl command to start and stop the CMAN services on each host.

CMADMIN Log File Example
(LOG_RECORD=(TIMESTAMP=08-MAY-2003 08:46:40)(EVENT=Parameter list)
(LOG_RECORD=(TIMESTAMP=08-MAY-2003 08:46:40)(EVENT=Shared Memory Size)

(LOG_RECORD=(TIMESTAMP=08-MAY-2003 08:46:40)(EVENT=GMON Attributes validated)
(LOG_RECORD=(TIMESTAMP=08-MAY-2003 08:46:40)(EVENT=NS Listen Successful)
(LOG_RECORD=(TIMESTAMP=08-MAY-2003 08:46:44)(EVENT=Received command)(CMD=verify
(LOG_RECORD=(TIMESTAMP=08-MAY-2003 08:46:44)(EVENT=Received command)
(LOG_RECORD=(TIMESTAMP=08-MAY-2003 08:46:44)(EVENT=Received command)
(CMD=show status))
(LOG_RECORD=(TIMESTAMP=08-MAY-2003 08:46:44)(EVENT=Failed to get procedure id))
(LOG_RECORD=(TIMESTAMP=08-MAY-2003 08:49:12)(EVENT=Received command)(CMD=verify
(LOG_RECORD=(TIMESTAMP=08-MAY-2003 08:49:15)(EVENT=Failed to get procedure id))
(LOG_RECORD=(TIMESTAMP=08-MAY-2003 08:49:29)(EVENT=Received command)(CMD=verify
(LOG_RECORD=(TIMESTAMP=08-MAY-2003 08:49:46)(EVENT=Failed to get procedure id))
(LOG_RECORD=(TIMESTAMP=08-MAY-2003 08:49:50)(EVENT=Received command)(CMD=verify
(LOG_RECORD=(TIMESTAMP=08-MAY-2003 08:49:50)(EVENT=Received command)
(CMD=probe monitor))
(LOG_RECORD=(TIMESTAMP=08-MAY-2003 08:49:50)(EVENT=Received command)
(CMD=shutdown normal))

In the next lesson, you will examine some features of CMAN that warrant detailed discussion.