Softpanorama
(slightly skeptical) Open Source Software Educational Society

May the source be with you, but remember the KISS principle ;-)

Softpanorama Search

TEC RIM Layer

News Tivoli Enterprise Console Recommended Links Selected Docs   State correlation engine
Obtaining information about RIM objects Listing properties of RIM object Modifying RIM objects Deleting a RIM object Creating a RIM object Testing RIM connectivity
           
           
           

RIM is an abbreviation of "database Interface module" and like many IBM acronyms actually it neither necessary or have much of the value for structuring the TEC internals space; this is just a database connector but still for some reason it is obscured by strange terminology in TEC documentation.  

When TEC component connects to a database, the RIM starts the RIM agent process which uses the database client libraries to communicate with the database and issue SQL statements.

A RIM object contains information about a specific database used with TEC, such as the database name, database user ID.  A term "RIM host" is a meaningless term that is equivalent to the event server for all practical purposes; more specifically this is a place were  the database client libraries are installed.

TEC installation wizard creates a RIM object named tec, which contains database information for connecting to the event database.  The following table list the database information needed for configuring the TEC event database. This information is also stored in the RIM object. When installing the event server component from the Install Options dialog, enter the following database values:

Database Home Equates to the value in the $ORACLE_HOME environment variable.
Database Name Type a unique alias name of the event database used by TEC. Usually tecdb
Database User ID The database user that owns the application database. The default is tec.
Database Password The password for the database user (for example tec)
Database Server ID The name of the Oracle listener service in the tnsnames.ora file. Equates to the value in the $TWO_TASK environment variable for a client or $ORACLE_SID on the database server or client.

The following items should be considered for Oracle before beginning your event database configuration:

Working with the RIM object

During installation, the installation wizard creates a RIM object named tec. However, in certain case, for example moving from Oracle 9 to Oracle 11  you need to change that RIM object.

You can perform set of actions on RIM object using builtin commands. For example

 

Obtaining information about RIM objects

To list all RIM objects in your Tivoli environment, enter the following command on the command line:

wlookup -ar RIM

wlookup -ar RIM
ccm 1034227612.1.1215#RIM::RDBMS_Interface#
inv_query 1034227612.1.1213#RIM::RDBMS_Interface#
invdh_1 1034227612.1.1212#RIM::RDBMS_Interface#
mdist2 1034227612.1.1216#RIM::RDBMS_Interface#
planner 1034227612.1.1214#RIM::RDBMS_Interface#
pristine 1034227612.1.1217#RIM::RDBMS_Interface#
tec 1034227612.1.2670#RIM::RDBMS_Interface#

or

# wlookup -ar RIM
tec 2027672270.1.578#RIM::RDBMS_Interface#

To display configuration information for a specific RIM object, enter the following command on the command line:

wgetrim RIM_object_name

Listing properties of RIM object

The following is the general syntax for using the wgetrim command to list properties a RIM object:

wgetrim rim_name

# wgetrim tec
RIM Host: nti2171
RDBMS User: tec
RDBMS Vendor: Oracle
Database ID: tec
Database Home: /oracle/app/oracle/product/9.2.0
Server ID: TIVOLI_PROD
Instance Home:
Instance Name:

or

root@nti5001:/opt/Scripts # wgetrim tec
RIM Host: nti5001
RDBMS User: tec
RDBMS Vendor: Oracle
Database ID: MIS11D
Database Home: /oracle/app/oracle/product/9.2.0/
Server ID: TIVOLI_DEVL
Instance Home:
Instance Name:

Note:
The wgetrim command does not retrieve the application type (-a option) or the maximum number of connections (-m option) for a RIM object. To retrieve these attributes, use the idlcall command as documented within the wgetrim documentation.

Modifying RIM objects

You can use the wsetrim command to modify attributes for a RIM object. With this command, you cannot change the following:

To change the database vendor or the computer hosting the RIM object, you must delete and re-create the RIM object using the wdel command and the wcrtrim command, respectively. See

To change the RIM password, you must use the wsetrimpw  command.

Use the wgetrim and wsetrim commands to retrieve and set the attributes for a RIM object. The wgetrim command retrieves the current values set for the attributes of a RIM object, and the wsetrim command sets one or more attributes of a RIM object.

 

wsetrim

Edits the properties of an RDBMS interface module (RIM) object.

Syntax

wsetrim [-n name] [-d database] [-u user] [-H db_home] [-s server_id] [-I instance_home] [-t instance_name] [-a application_label] [-m max_connections] rim_name

Description

The wsetrim command changes the database information for a given RIM object. You can change the database ID, database user, database home, database server ID, and instance home. To change the vendor for a RIM object, you must delete the object using the wdel command and re-create it using the wcrtrim command. To change the managed node for a RIM object, you can either move the RIM object using the wmvrim command or delete and re-create the RIM object. To change the label for a RIM object, you can either use the wsetrim -n command or delete and re-create the RIM object.
Note
When you specify a path that contains a space, you must enclose the path name in quotation marks (" "). On Windows systems, you can also specify the MS-DOS path. For example, you can specify the path c:\Program Files\sqllib in one of the following ways:

Options

-a application_label
Changes the application label for the RIM object.
-d database
Changes the name of the database or data source to which the RIM object connects.
DB2
The DB2 database alias or the local DB2 database name.
Oracle
The name of the Oracle instance. This name is the SID option in the configuration connection file. Corresponds to the value in the ORACLE_SID variable.
Sybase
The name of the database that the application will use.
Microsoft SQL
The name of the ODBC data source that RIM uses to connect to the Microsoft SQL Server database.
Informix
The name of the data source defined in the .odbc.ini file.
-H db_home
Changes the path to the database home directory. This option changes the value of the variables ORACLE_HOME, SYBASE, and DB2DIR for Oracle, Sybase, and DB2, respectively.
Note
On Windows operating systems, use one of the following formats when specifying value for a path that contains spaces:
  • "c:\Program Files\sqlib"
  • c:\progra~1\sqllib
If you do not enclose the value within double quotation marks (") or include the tilde (~) in the path name, the parsing of the command fails.
-I instance_home
For DB2 only, changes the path to the DB2 instance for the specified RIM object.
-m max_connections
Changes the maximum number of connections between the RIM object and the RDBMS.
-n name
Changes the name of the RIM object to name.
-s server_id
Changes the server ID for the database. This option changes the values of the variables TWO_TASK, DSQUERY, and DB2COMM for Oracle, Sybase, and DB2, respectively. For Microsoft SQL Server, this is the name of the RDBMS server machine.
-t instance_name
For DB2 only, changes the name of the DB2 instance for the specified RIM object.
-u user
Changes the name of the database user that the RIM object uses. If you are using DB2, specify a valid UNIX user.
rim_name
Specifies the label of the RIM object to be modified.

Authorization

senior or super in the Tivoli region

Examples

The following example changes the database ID to inventory, the database user to tivoli2, the database home directory to /ORACLE, and the database server ID to invdb2.world for the inventory RIM object.
wsetrim -d inventory -u tivoli2 -H /ORACLE \
  -s invdb2.world inventory

To verify the changes, use the wgetrim command:

wgetrim inventory

RIM Host:       amon-sul
RDBMS User:     tivoli2
RDBMS Vendor:   Oracle
Database ID:    inventory
Database Home:  /ORACLE
Server ID:      invdb2.world
Instance Home:      

Note that the output for the Instance Home field is blank; this field applies only to DB2.

Deleting a RIM object

Deleting RIM object is required is you want to change database vendor, database host or database user (tec)password. When you need to delete a RIM object, use the wdel command. The basic syntax for this command is as follows:

wdel @RIM:RIM_object_name
Object name is the first column in wlookup listing:
wlookup -ar RIM listing
For example 
wdel @RIM:tec

For details about using the wdel command, refer to the Tivoli Management Framework Reference Manual.

Creating a RIM object

When you need to create a RIM object, use the wcrtrim command.

Generally, RIM objects are created during product installation. However, there might be times where you need to create a RIM object. The only way to create a RIM object is by using the wcrtrim command. The following is the general syntax for using the wcrtrim command to create a RIM object:

wcrtrim [-i] -v vendor { -o host_oid | -h host_name } -d database -u user -H db_home -s server_id [-I instance_home] [-a application_label] [-m max_connections] rim_name

For a complete list of options for the wcrtrim command, refer to the Tivoli Management Framework Reference Manual.

wcrtrim

Creates an RDBMS Interface Module (RIM) object.

Syntax

wcrtrim [-i] -v vendor { -o host_oid | -h host_name } -d database -u user -H db_home -s server_id [-I instance_home] [-t instance_name] [-a application_label] [-m max_connections] rim_name

Description

The wcrtrim command creates a new RIM object on a specific managed node. When you use the -h or -o option, specify a managed node that is local to the Tivoli region where you enter the wcrtrim command and where the RIM object will reside. If you do not specify either the name or the object ID of a managed node, the RIM object is created on the Tivoli server.

You cannot change the vendor for a RIM object after it has been created. If you need to change the vendor, you must delete the RIM object and create a new one.

Notes:
  1. The -I instance_home and -t instance_name options are used only by DB2 databases.
  2. When you specify a path that contains a space, you must enclose the path name in quotation marks (" "). On Windows systems, you can also specify the MS-DOS path. For example, you can specify the path c:\Program Files\sqllib in one of the following ways:
    • "c:\Program Files\sqllib"
    • c:\progra~2\sqllib

Options

-a application_label
Specifies the application label for the RIM object.
Note
This argument is not enforced by RIM. It is provided for application use.
-d database
Oracle
The name of the Oracle database as specified in connection string. This name is the SID option in the configuration connection file. Corresponds to the value in the ORACLE_SID variable.
Sybase
The name of the database that the application will use.
Microsoft SQL
The name of the ODBC data source that RIM uses to connect to the Microsoft SQL Server database.
Informix
The name of the data source defined in the .odbc.ini file.
-h host_name
Specifies the host name of the managed node where the RIM object will reside. The managed node must be in the local Tivoli region. If you do not use this option or the -o option, the RIM object will not be created. FRWTT0003E An instance named "NULL" of resource "ManagedNode" was not found" error occurs when saving properties for a Software Package.This error occurs if the user "nobody" does not have write permission into the "/tmp" directory where it needs to put temporary files.
Make sure that the "/tmp" directory has fully permissions (777) in order to allow the user "nobody" to write into it.
-H db_home
Specifies the full path to the directory where the RDBMS server or client software is installed on the RIM host.
Note
On Windows systems, use one of the following formats when specifying value for a path that contains spaces:
  • "c:\Program Files\sqlib"
  • c:\progra~1\sqllib
If you do not enclose the value within double quotation marks (") or include the tilde (~) in the path name, the parsing of the command fails.
DB2
The directory where the DB2 software is installed. Equates to the value in the DB2DIR variable.
Oracle
The home directory. Equates to the ORACLE_HOME variable.
Sybase
The directory that contains the interfaces file. Equates to the SYBASE variable.
Microsoft SQL
The directory where Microsoft SQL Server is installed.
Informix
The directory where the Informix CLI client is installed. Equates to the value in the INFORMIXDIR variable.
-i
Reads the database password from standard input. If you specify this option, the password can be any length. If you do not specify this option, you are prompted for a password, which must be eight characters or less.
-I instance_home (DB2 only)
Specifies the value of the INSTHOME variable. This value is the home directory where the database instance was created.
-m max_connections
Specifies the maximum number of connections allowed between the RIM object and the RDBMS. It is recommended that the maximum number of connections be the same of the number of threads used by the application.

The range is 1 to 200 connections. The default is 16 connection.

Note
This argument is not enforced by RIM. It is provided for application use.

 

-o host_oid
Specifies the object ID of the managed node where the RIM object will reside. The managed node must be in the local Tivoli region. If you do not use this option or the -h option, the RIM object will not be created.
-s server_id
Specifies the server ID for the database. This value enables the RIM host to connect to the RDBMS.
DB2
RIM expects the value to be tcpip. Set the value of the DB2COMM variable to tcpip.
Oracle
The name of the Oracle listener service in the tnsnames.ora file. Equates to the value in the TWO_TASK variable.
Sybase
The name of the Sybase server. Equates to the value in the DSQUERY variable.
Microsoft SQL
The name of the host running Microsoft SQL Server.
Informix
The name of the Informix server. Equates to the value in the INFORMIXSERVER variable.
-t instance_name (DB2 only)
Specifies the value of the DB2INSTANCE variable. If the RIM host is the same machine as the database server, this value must be the name of the DB2 server instance. If the RIM host is on a different machine than the database server, this this value must be the name of the DB2 client instance.
-u user
Specifies the name of the database user that the RIM object will use to access the database.
DB2
An RDBMS user that has permission to use the server instance and database. The DB2 user ID for the RIM object must match the client instance name, or the instance_name attribute for the RIM object must be set to the client instance name.
Oracle
The RDBMS user that owns the application data space.
Sybase
The RDBMS user that owns the application data space.
Microsoft SQL
The RDBMS user that owns the application data space.
Informix
Must be informix.
-v vendor
Specifies the vendor of the RDBMS you are using. Valid entries are as follows:
  • DB2
  • Oracle
  • Sybase
  • MS_SQL
  • Informix
rim_name
Specifies the label of the RIM object.

Authorization

senior or super in the Tivoli region

Examples

  1. The following example interactively creates a RIM object:
    wcrtrim -v Oracle -h NTI5001 -d MIS11D -u tec \
    -H /oracle/app/oracle/product/9.2.0/ -s TIVOLI_DEVL tec
  2. The following example creates the same RIM object, but reads the password from a file:
    wcrtrim -i -v Oracle -h amon-sul -d amar -u tec \
    -H  -s invdb.world inventory \
    < ./passwd
  3. The following example creates the invdh2 RIM object, sets the application label to invdh, and sets the maximum number of RDBMS connections to 10:
    wcrtrim -v Oracle -h amon-sul -d amar -u tivoli \
    -H /tivoli/drm/2/amishra/ORACLE -s invdb.world \
    -a invdh -m 10 invdh2

See Also

wdel, wgetrim, wsetrim, wsetrimpw

 

Testing RIM connectivity

The RIM object relies on the underlying database client to connect to the database server. The database client must be able to connect to the database server for the RIM object to communicate properly.

After the event repository is created for your database, perform the following procedure to verify RIM connectivity:

  1. Test connectivity with the database server using the native database client. When you test client connectivity, you should use the same name and password that the RIM object uses. For information about obtaining the RIM configuration information, refer to Obtaining information about RIM objects.

    The following table summarizes the native database clients for each supported database.

    Table 44. Supported native database clients
    Database Database Interactive SQL Access
    DB2 db2
    Informix dbaccess
    Microsoft SQL Server isql
    Oracle sqlplus
    Sybase isql
  2. Test connectivity through the RIM object using the following wrimtest  command:
    wrimtest -l RIM_object_name
  3. If you see a Session opened Enter option message, you have successfully connected to the database server. Enter x to select the exit option and exit.

For additional information about the wrimtest command, refer to the IBM Tivoli Enterprise Console Command and Task Reference. (RIM tracing is not helpful for connection problems because a connection to the database server must exist for RIM to show tracing.)

 

Problems with the RIM database

The following commands are useful tools for troubleshooting problems with the RIM database.

For additional information about the RIM commands, refer to the Tivoli Management Framework Reference Manual.

wrimtest
Verifies the connectivity and functionality of a RIM object as follows:
wrimtest -l tec
# wrimtest -l tec
Resource Type : RIM
Resource Label : tec
Host Name : server
User Name : tec
Vendor : Oracle
Database : tec
Database Home : /oracle/app/oracle/product/9.2.0
Server ID : TIVOLI_DEVL
Instance Home :
Instance Name :
Opening Regular Session...Session Opened
RIM : Enter Option >x
Releasing session

Here is example of failure

root@nti5001:/opt/Scripts # wrimtest -l tec
Resource Type : RIM
Resource Label : tec
Host Name : nti5001
User Name : tec
Vendor : Oracle
Database : tec
Database Home : /oracle/app/oracle/product/9.2.0
Server ID : TIVOLI_DEVL
Instance Home :
Instance Name :
Opening Regular Session...FRWRA0024E Could not connect to RDBMS server to access database tec
The RDBMS server call's return code was: 1017
The RDBMS server call's error was: ORA-01017: invalid username/password; logon denied

Use the wrimtest command to connect to a specified database and run RIM methods.
 

wlookup RIM
Displays a list of available RIM objects as follows:
wlookup -ar RIM
wrimtrace
Enables or disables tracing for RIM objects.

The contents of the Inter-Object Message (IOM) packets are passed between the RIM object and client program. RDBMS errors are then printed to the RIM log file.

Note:
The RIM tracing function is intended for debugging purposes. If enabled for extended periods of time, tracing can decrease performance and considerably slow the processing of RIM calls.

For additional information about RIM Troubleshooting, refer to the Tivoli Management Framework User's Guide and the Tivoli Management Framework Maintenance and Troubleshooting Guide.

Additional information about troubleshooting RIM problems and RIM tuning can be found in the Using Databases with Tivoli Applications and RIM redbook.



Copyright © 1996-2009 by Dr. Nikolai Bezroukov. www.softpanorama.org was created as a service to the UN Sustainable Development Networking Programme (SDNP) in the author free time. Submit comments This document is an industrial compilation designed and created exclusively for educational use and is placed under the copyright of the Open Content License(OPL). Site uses AdSense so you need to be aware of Google privacy policy. Original materials copyright belong to respective owners. Quotes are made for educational purposes only in compliance with the fair use doctrine.

Disclaimer:

Last modified: October 29, 2009