Oracle SQL Network Test
Using the JDBC API, this test reports the availability and responsiveness of the server, and collects statistics pertaining to the traffic into and out of the database server.
Target of the test : An Oracle server
Agent deploying the test : An external agent; if you are running this test using the external agent on the eG manager box, then make sure that this external agent is able to communicate with the port on which the target Oracle server is listening. Alternatively, you can deploy the external agent that will be running this test on a host that can access the port on which the target Oracle server is listening.
Outputs of the test : One set of results for every SID (instance) monitored.
|
Measurement | Description | Measurement Unit | Interpretation |
---|---|---|---|
Oracle server availability: |
Whether the database instance is responding to requests. |
Percent |
The availability is 100% when the instance is responding to a request and 0% when it is not. Availability problems may be caused by a misconfiguration/malfunctioning of the database instance, or because the instance is using an invalid user account. Besides the above, this measure will report that the server is unavailable even if a connection to the database instance is unavailable, or if a query to the database fails. In this case, you can check the values of the DB connection availability and Query processor availability measures to know what is exactly causing the database instance to not respond to requests - is it owing to a connection unavailability? or is it due to a query failure? Although included as part of the Oracle SQL Network test, this measure maps to the Oracle Service layer. |
Total response time: |
The time taken by the database to respond to a user query. This is the sum total of the connection time and query execution time. |
Secs |
A sudden increase in response time is indicative of a bottleneck at the database server. This could even be owing to a connection delay and/or long running queries to the database. Whenever the value of this measure is high, it would be good practice to compare the values of the Connection time and Query execution time measures to zero-in on the root-cause of the poor responsiveness of the server - is it because of connectivity issues? or is it because of inefficient queries? Although included as part of the Oracle SQL Network test, this measure maps to the Oracle Service layer. |
Data transmit rate: |
The rate of data being transmitted by the server in response to client requests. |
KB/Sec |
The data transmission rate reflects the workload on the server. |
Data receive rate: |
The rate of data received by the server from clients over SQL*Net. |
KB/Sec |
This measure also characterizes the workload on the server. As the data rate to a database server increases, consider tuning the Service Layer Data Buffer (SDU) and the Transport Layer Data Buffer (BDU) in the TNSNames.ora and Listener.ora files to optimize packet transfers across the network. |
DB connection availability: |
Indicates whether the database connection is available or not. |
Percent |
If this measure reports the value 100 , it indicates that the database connection is available. The value 0 on the other hand indicates that the database connection is unavailable. A connection to the database may be unavailable if the database is down or if the database is listening on a port other than the one configured for it in the eG manager or owing to a poor network link. If the Oracle server availability measure reports the value 0, then, you can check the value of this measure to determine whether/not it is due to the unavailability of a connection to the server. |
Query processor availability: |
Indicates whether the database query is executed successfully or not. |
Percent |
If this measure reports the value 100, it indicates that the query executed successfully. The value 0 on the other hand indicates that the query failed. In the event that the Oracle server availability measure reports the value 0, check the value of this measure to figure out whether the failed query is the reason why that measure reported a server unavailability. |
Connection time to database server: |
Indicates the time taken by the database connection. |
Secs |
A high value could indicate a connection bottleneck. Whenever the Total response time of the measure soars, you may want to check the value of this measure to determine whether a connection latency is causing the poor responsiveness of the server. |
Query execution time: |
Indicates the time taken for query execution. |
Secs |
A high value could indicate that one/more queries to the database are taking too long to execute. Inefficient/badly designed queries to the database often take too long to execute. If the value of this measure is higher than that of the Connection time measure, you can be rest assured that long running queries are causing the respond slowly to requests. |
Records fetched: |
Indicates the number of records fetched from the database. |
Number |
The value 0 indicates that no records are fetched from the database. |
The detailed diagnosis of the Total response time measure, if enabled, reveals the top ten resource consuming queries to the database. Resource consumption is reported in terms of disk reads, buffer gets, number of loads, execution cycles, rows processed, etc. Using this information, you can identify the non-optimal queries that could impact the database performance adversely (see Figure 1).
Figure 1 : Detailed diagnosis of the Response time measure displaying the top 10 resource consuming queries