Oracle RAC Tablespaces Test

Tablespaces should be adequately sized. If not, then the tablespaces may frequently run very low on free space, causing all statements that attempt to acquire new space in the tablespace to fail. This in turn will result in serious performance issues ranging from slowdowns to shutdowns. Continuous monitoring of tablespace size and usage is hence important.

The RAC Tablespaces test auto-discovers the tablespaces managed by the Oracle RAC, and reports how well every tablespace has been utilized. In the process, the test also reveals the type of database objects (tables, indexes, partitions, LOB segments, etc.) that are occupying space in the tablespace. This way, you will be able to instantly identify the tablespace left with very little free space, and also zero-in on those objects that could be eroding space in that tablespace.

Target of the test : Oracle RAC

Agent deploying the test : An internal/remote agent

Outputs of the test : One set of results for each tablespace managed by the monitored Oracle RAC

Configurable parameters for the test
  1. TEST PERIOD - How often should the test be executed
  2. Host – The host for which the test is to be configured
  3. Port - The port on which the server is listening
  4. orasid - The variable name of the oracle instance
  5. service name - A ServiceName exists for the entire Oracle RAC system. When clients connect to an Oracle cluster using the ServiceName, then the cluster routes the request to any available database instance in the cluster. By default, the service name is set to none. In this case, the test connects to the cluster using the orasid and pulls out the metrics from that database instance which corresponds to that orasid. If a valid service name is specified instead, then, the test will connect to the cluster using that service name, and will be able to pull out metrics from any available database instance in the cluster.

    To know the ServiceName of a cluster, execute the following query on any node in the target cluster:

    select name, value from v$parameter where name =’service_names’

  6. User – In order to monitor an Oracle RAC, a special database user account has to be User – In order to monitor an Oracle database server, a special database user account has to be created in every Oracle database instance that requires monitoring. A Click here hyperlink is available in the test configuration page, using which a new oracle database user can be created. Alternatively, you can manually create the special database user. When doing so, ensure that this user is vested with the select_catalog_role and create session privileges.

    The sample script we recommend for user creation (in Oracle database server versions before 12c) for eG monitoring is:

    create user oraeg identified by oraeg create role oratest;

    grant create session to oratest;

    grant select_catalog_role to oratest;

    grant oratest to oraeg;

    The sample script we recommend for user creation (in Oracle database server 12c) for eG monitoring is:

    alter session set container=<Oracle_service_name>;

    create user <user_name>identified by <user_password> container=current default tablespace <name_of_default_tablespace> temporary tablespace <name_of_temporary_tablespace>;

    Grant create session to <user_name>;                                 

    Grant select_catalog_role to <user_name>;

    The name of this user has to be specified here.

  7. Password – Password of the specified database user
  8. Confirm password – Confirm the password by retyping it here.
  9. ISPASSIVE – If the value chosen is yes, then the Oracle server under consideration is a passive server in an Oracle cluster. No alerts will be generated if the server is not running. Measures will be reported as "Not applicable" by the agent if the server is not up.
Measurements made by the test
Measurement Description Measurement Unit Interpretation

Table size:

Indicates the size of the tables present in this tablespace.

GB

A high value for these measures indicates that a tables and indexes consume a large chunk of space in the tablespace. 

Index size

Indicates the space consumed by the indexes on the tables present in this tablespace.

GB

Table partition size:

Indicates the size of all partitions of tables present in this tablespace.

GB

Partitioning addresses key issues in supporting very large tables and indexes by letting you decompose them into smaller and more manageable pieces called partitions. Each partition of a table or index must have the same logical attributes, such as column names, datatypes, and constraints, but each partition can have separate physical attributes such as pctfree, pctused, and tablespaces.

A high value for these measures indicates that table and index partitions consume a large chunk of space in the tablespace. 

Index partiton size:

Indicates the size of all partitions of indexes present in this tablespace.

GB

Lob segment size:

Indicates the size of LOB segments in this tablespace.

GB

LOBs (Large Object) are Oracle’s data structures designed to store and retrieve large amounts of unstructured data such as video, audio, photo images, etc within the database. Whenever a table containing a LOB column is created, two segments are created to hold the specified LOB column. These segments are of type LOBSEGMENT and LOBINDEX. The LOBINDEX segment is used to access LOB chunks/pages stored in the LOBSEGMENT segment. The values of these measures report the size of the LOBSEGMENT sements and the LOBINDEX segments (respectively). A high value for these measures, quiet naturally, indicates that too many large objects are stored in the tablespace.

Lob index size:

 

Indicates the size of LOB indexes in this tablespace.

GB

Lob partition size:

Indicates the size of table partitions with LOBs in this tablespace.

 

GB

You can partition tables with LOBs. As a result, LOBs can take advantage of all of the benefits of partitioning. For example, LOB segments can be spread between several tablespaces to balance I/O load and to make backup and recovery more manageable. LOBs in a partitioned table also become easier to maintain.

A high value for this measure indicates that table partitions containing LOB columns are consuming a large amount of space in this tablespace.

Maximum size:

Indicates the maximum extent upto which a tablespace can grow.

GB

 

Used size:

Indicates the size upto which this tablespace has been utilized.

GB

If this value is very high, it indicates that the tablespace memory is almost full.

Free size:

Indicates the amount of unused space available in this tablespace.

GB

If this value is very low, then it indicates over-utilization of the tablespace.

Free space usage:

Indicates the space available for overall growth expressed as a ratio of Free size with respect to the Maximum size of the tablespace.

Percent

If this value is very low, then it indicates over-utilization of the tablespace. Also, if the value of this measure is below 80 %, then sufficient space must be allocated to the tablespace.