Oracle Database Server Monitoring

Use this monitor to measure statistics related to Oracle databases during the performance test run.

Set up the Oracle monitoring environment

This task describes how to set up the monitor environment before monitoring an Oracle database server.

Note: If a problem occurs in setting up the Oracle environment, check the Oracle server to view the error messages.

  1. Prerequisites

    • Ensure that the Oracle client libraries are installed on the Controller machine.

    • Verify that %OracleHome%\bin is included in the path environment variable. If it is not, add it.

    • Ensure that the registries are updated for the version of Oracle that you are using and that they have the following key: HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE

    • Ensure that the Performance Center Server is installed in a directory whose path does not include any of the following characters: ( ) : ; * \ / " ~ & ? { } $ % | < > + = ^ [ ].

    • Verify that the Oracle server you want to monitor is up and running. Note that it is possible to monitor several Oracle database servers concurrently.

    • Note: Only the 32-bit Oracle client should be installed on the Controller machine running the Oracle monitor. If you have a 16-bit and a 32-bit Oracle client installation on the Controller machine, the 16-bit installation should be uninstalled.

  2. Configure the Oracle client/server connection

    Set the connection parameters so the Oracle client (Controller machine) can communicate with the Oracle server(s) you plan to monitor.

    On the Controller machine, set the following configuration parameters either by editing the tnsnames.ora file in a text editor, or using the Oracle service configuration tool.


    Start > Programs > Oracle for Windows NT > Oracle Net8 Easy Config

    • A new service name (TNS name) for the Oracle instance

    • TCP protocol

    • The host name (name of monitored server machine)

    • The port number (usually 1521)

    • The database SID (the default SID is ORCL)


  3. Connect to the monitored server machine and verify the connection

    1. Obtain a username and password for the service from your database administrator, and ensure that the Controller has database administrator privileges for the Oracle V$ tables (V$SESSTAT, V$SYSSTAT, V$STATNAME, V$INSTANCE, V$SESSION).

    2. Verify connection with the Oracle server by performing tns ping from the Controller machine.

    3. Note: There may be a problem connecting if the Oracle server is behind a DMZ/firewall that limits its communication to application servers accessing it.

    4. Run SQL*Plus from the Controller and attempt to log in to the Oracle server(s) with the desired username/password/server combination.

    5. Type SELECT * FROM V$SYSSTAT to verify that you can view the V$SYSSTAT table on the Oracle server. Use similar queries to verify that you can view the V$SESSTAT, V$SESSION, V$INSTANCE, V$STATNAME, and V$PROCESS tables on the server.

  4. Modify the monitoring sample rate (optional)

    To change the length of each monitoring sample (in seconds), edit the dat\monitors\vmon.cfg file in the Performance Center root folder. The default rate is 10 seconds.

    The minimum sampling rate for the Oracle Monitor is 10 seconds. If you set the sampling rate at less than 10 seconds, the Oracle Monitor will continue to monitor at 10 second intervals.

  5. Configure the monitor measurements from the monitor profile

    For task details, see Configure the Oracle monitor below.

Back to top

Configure the Oracle monitor

  1. Configure the Oracle monitor from the monitor profile.

    For task details, see Create and configure monitor profiles.

  1. Specify which resources you want to measure

    The following measurements are most commonly used when monitoring the Oracle server (from the V$SYSSTAT table):



    CPU used by this session

    The amount of CPU time (in 10s of milliseconds) used by a session between the time a user call started and ended. Some user calls can be completed within 10 milliseconds and, as a result, the start and end-user call time can be the same. In this case, 0 milliseconds are added to the statistic. A similar problem can exist in the operating system reporting, especially on systems that suffer from many context switches.

    Bytes received via SQL*Net from client

    The total number of bytes received from the client over Net8.

    Logons current

    The total number of current logons.

    Opens of replaced files

    The total number of files that needed to be reopened because they were no longer in the process file cache.

    User calls

    Oracle allocates resources (Call State Objects) to keep track of relevant user call data structures every time you log in, parse, or execute. When determining activity, the ratio of user calls to RPI calls gives you an indication of how much internal work is generated as a result of the type of requests the user is sending to Oracle.

    SQL*Net roundtrips to/from client

    The total number of Net8 messages sent to, and received from, the client.

    Bytes sent via SQL*Net to client

    The total number of bytes sent to the client from the foreground processes.

    Opened cursors current

    The total number of current open cursors.

    DB block changes

    Closely related to consistent changes, this statistic counts the total number of changes that were made to all blocks in the SGA that were part of an update or delete operation. These are changes that generate redo log entries and hence will cause permanent changes to the database if the transaction is committed. This statistic is a rough indication of total database work and indicates (possibly on a per-transaction level) the rate at which buffers are being dirtied.

    Total file opens

    The total number of file opens being performed by the instance. Each process needs a number of files (control file, log file, database file) to work against the database.

Back to top