mqsicvp command

Use the mqsicvp command to perform verification tests on an integration node or independent integration server to verify ODBC connections, and to perform CPU benchmark processing.

Supported platforms

When you start an integration node by using the mqsistart command, this command is run automatically to verify the component.

You can run this command against an integration node or an independent integration server. The integration node or server must be stopped if it uses a vault.

Purpose

The mqsicvp command completes the following actions:

  • The command checks that the environment for the integration node or independent integration server is set up correctly; for example, that the installed level of Java™ is supported.
  • AIX platformLinux platformOn Linux and AIX systems, the command verifies that the ODBC environment (if specified) is configured correctly.
    If the ODBCINI environment variable is set, the mqsicvp command writes warning messages to the syslog in the following circumstances:
    • If the file to which the ODBCINI environment variable points does not exist, or the integration node does not have access to read it or write to it
    • If ODBCSYSINI is not set
    • If ODBCSYSINI is set but the directory to which this variable points does not contain a file that is named odbcinst.ini, or the integration node does not have access to read or write to this file
    • If the IE02_PATH environment variable is not set
  • AIX platformLinux platformOn Linux and AIX systems, if the ODBC environment check is successful, the command connects to all data sources that are listed in the odbc.ini files, and that were associated with the integration node by using the mqsisetdbparms command.
  • AIX platformLinux platformWindows platformOn Windows, Linux and AIX systems, the command can be run to perform benchmark processing on the system so that expected performance can be compared between two, or more, systems.

Use of the command to provide information about user data sources

The data sources that are described are those that you defined when you set up the ODBC database. See Enabling ODBC connections to the databases.

Extra invocations of the mqsicvp command provide ODBC test tool function. This function provides useful information about a user data source, or compares two user data sources for equivalence. These invocations of the command are discrete from the basic invocation of the mqsicvp command, and are not run at integration node startup.

When you use the mqsicvp command as an ODBC test tool, the command issues an informational message for a successful connection, providing the name of the data source, database type, and version. If a secondary data source is supplied, the mqsicvp command issues a second informational message for a successful connection to that data source, with the same information about the secondary data source, and stating that a comparison will be made.

When the tool is run against one data source, it completes several checks against the ODBC interface to determine which data types and functions are supported, together with information about the names and sizes of those data types. If any data types or functions are not supported, they are summarized in a final informational message.

When these tests are run against two data sources, they are run against both data sources, and both sets of results are shown. A final informational message states whether the two data sources are equivalent and eligible to be used in the same message processing node; for further information, see Accessing databases from ESQL.

Syntax: Invocation to verify the integration node

When you run the mqsicvp command with only the integration node name, and no other parameters, the command completes the following checks:
  • Checks that the integration node environment is set up correctly (for example, the installed level of Java is supported).
  • If a default queue manager is configured, the command verifies that the IBM MQ queue manager is accessible.
  • AIX platformLinux platformOn Linux and AIX systems only, the command verifies that the ODBC environment (if specified) is configured correctly. If the ODBCINI environment variable is not set, ODBC environment verification is skipped. If the ODBC environment check is completed successfully, the command then tries to connect to all data sources that are listed in the odbc.ini files where the mqsisetdbparms or mqsicredentials command was used to associate the data source with the integration node.
Read syntax diagramSkip visual syntax diagrammqsicvpintegrationNodeName

Syntax: Invocation where ODBC data source names have not been associated with an integration node or independent integration server

When you run the mqsicvp command with parameters that are shown in the following syntax diagram, the command provides ODBC test tool function. You can use the command to display useful information about a user data source, or compare two user data sources. On Linux and AIX systems only, invocations of the command that use these parameters also verify that the ODBC environment (if specified) is configured correctly. In these cases, the command checks that the ODBCINI, ODBCSYSINI, and IE02_PATH variables are set.

Each data source name (DSN) is fully specified with a user name and password.

This invocation does not rely on an association between the integration node and the data source, and returns information about the data source even when there is no association with an integration node.

Read syntax diagramSkip visual syntax diagrammqsicvp-nprimaryDatasource-uprimaryDatasourceUserId-pprimaryDatasourcePassword-csecondaryDatasource-isecondaryDatasourceUserId-asecondaryDatasourcePassword-v

Syntax: Invocation where ODBC data source names were associated with the integration node

This invocation requires an association between the integration node and the data source name (DSN). To successfully use this invocation, you must first run the mqsisetdbparms or mqsicredentials command to identify a specific user ID and password for the integration node to use when connecting to the data source. The output from this invocation is the same as the output from the invocation where data source names have not been associated with the integration node.

When using the mqsisetdbparms or mqsicredentials command, you can either specify the data source name directly, or add the prefix odbc::.

This prefix identifies the type of identity being created in mqsisetdbparms or mqsicredentials, and must be omitted when using this identity as the data source in mqsicvp. For example:
mqsisetdbparms INODE -n odbc::myDsn -u username -p password
mqsicvp INODE -n myDsn
If you use mqsisetdbparms to set an integration server level identity for a data source, the identity cannot be used in mqsicvp.

AIX platformLinux platformOn Linux and AIX systems only, invocations of the command that use the parameters in the following syntax diagram also verify that the ODBC environment (if specified) is configured correctly. In these cases, the command checks that the ODBCINI, ODBCSYSINI, and IE02_PATH variables are set.

Read syntax diagramSkip visual syntax diagrammqsicvpintegrationNodeName-nprimaryDatasource-csecondaryDatasource-v

Syntax: Invocation where ODBC data source names were associated with the independent integration server

This invocation requires an association between the independent integration server and the data source name (DSN). To successfully use this invocation, you must first run the mqsisetdbparms or mqsicredentials command to identify a specific user ID and password for the integration server to use when connecting to the data source. The output from this invocation is the same as the output from the invocation where data source names have not been associated with the independent integration server.

When using the mqsisetdbparms command, you can either specify the data source name directly, or add the prefix odbc::.

This prefix identifies the type of identity being created in mqsisetdbparms, and must be omitted when using this identity as the data source in mqsicvp. For example:
mqsisetdbparms --work-dir workDirectory -n odbc::myDsn -u username -p password
mqsicvp --work-dir workDirectory -n myDsn
Read syntax diagramSkip visual syntax diagrammqsicvp--work-dirworkDirectory-nprimaryDatasource

Parameters

integrationNodeName
(Required if you are using an invocation that contains integrationNodeName.) Specify an integration node name to verify, or the integration node name with which the primaryDatasource is associated.

AIX platformLinux platformAll names are case-sensitive on Linux and AIX systems.

-n primaryDatasource
(Required if you are using an invocation that contains primaryDatasource.) The name of the ODBC connection to verify.
-u primaryDatasourceUserId
(Required if you did not previously associate the data source name with the integration node.) The user name with which to connect to the primaryDatasource.
-p primaryDatasourcePassword
(Required if you did not previously associate the data source name with the integration node.) The password that is used with the primaryDatasourceUserId.
-c secondaryDatasource
(Optional) If two data sources are being compared for equivalence, this data source is the second ODBC connection name.
-i secondaryDatasourceUserId
(Optional) The user name with which to connect to the secondaryDatasource.
-a secondaryDatasourcePassword
(Optional) The password that is used with the secondaryDatasourceUserId.
-v
(Optional) This parameter causes extra, untranslated, diagnostic information that is related to supported CASTS to be shown by the command.
-w | --work-dir workDirectory
(Required if you are using an invocation for an independent integration server) This parameter specifies the path to the work directory that is used by an independent integration server (not an integration server that is managed by an integration node).

Responses

  • BIP8040W: No database access (unable to connect).
  • BIP8267W: Warning, there might be issues when using this data source. For more information, see the preceding messages.
  • BIP8268I: The two data sources that are supplied are compatible, and can be used in the same Compute node.
  • BIP8269W: The two data sources that are supplied are not compatible, and must not be used in the same Compute node.
  • BIP8270I: Connected to data source <multiple inserts>
  • BIP8271I: Connected to second data source <multiple inserts> for comparison.
  • BIP8272W: Data source that is specified is not associated with the integration node.
  • BIP8273I: The following data types and functions are not natively supported by data source '&1': <multiple inserts>
  • BIP8274W: The following data types and functions might cause problems when you use data source '&1' with IBM App Connect Enterprise: <multiple inserts>
  • BIP8288W: Unable to read ODBCINI file 'file_name'. Check that this file exists, and that the integration node user ID has permission to read and write the file.
  • BIP8289W: Unable to read ODBCSYSINI file in specified directory 'directory_name'. Check that this file exists, and that the integration node user ID has permission to read and write the file.
  • BIP8290I: Verification passed for the ODBC environment.
  • BIP8291W: The IE02_PATH environment variable is not set.
  • BIP8292I: 'insert1' user data sources were not verified because they do not have mqsisetdbparms credentials.
  • BIP8294I: ODBC environment verification was skipped because the ODBCINI environment variable is not set.
  • BIP8295E: ODBCINI environment variables have not been set, or are invalid.
  • BIP8296W: The ODBCSYSINI environment variable is not set.
  • BIP8297W: 'environment_variable_name' file 'file_name' is empty.
  • BIP8873I: Starting the component verification for integration node 'integrationNodeName'.
  • BIP8874I: The component verification for 'integrationNodeName' finished successfully.
  • BIP8875W: The component verification for 'integrationNodeName' finished, but one or more checks failed.
  • BIP8876I: Starting the environment verification for integration node 'integrationNodeName'.
  • BIP8877W: The environment verification for integration node 'integrationNodeName' finished, but one or more checks failed.
  • BIP8878I: The environment verification for integration node 'integrationNodeName' finished successfully.
  • BIP8882I: Starting the IBM MQ verification for integration node 'integrationNodeName'.
  • BIP8883W: The IBM MQ verification for integration node 'integrationNodeName' finished, but one or more checks failed.
  • BIP8884I: The IBM MQ verification for integration node 'integrationNodeName' finished successfully.
  • BIP8885E: Verification failed. Failed to connect to queue manager 'queue_manager_name'. MQRC: return_code MQCC: completion_code
  • BIP8886I: Verification has passed for queue 'queue_name' on queue manager 'queue_manager_name'.
  • BIP8887E: Verification has failed for queue 'queue_name' on queue manager 'queue_manager_name' while issuing 'operation'. MQRC: return_code MQCC: completion_code
  • BIP8888E: Verification failed. Failed to disconnect from queue manager 'queue_manager_name'. MQRC: return_code MQCC: completion_code
  • BIP8892E: Verification failed. The installed Java level 'level_installed' does not meet the required Java level 'level_supported'.
  • BIP8893E: Verification has failed for environment variable 'variable_name'. Unable to access file 'file_name' with user ID 'user_ID'. Extra information for IBM support: data1 data2.
  • BIP8894I: Verification has passed for 'integrationNodeName'.
  • BIP8895E: Verification failed. Environment variable 'variable_name' is incorrect or missing.
  • BIP8896E: Verification failed. Unable to access the registry with user ID 'user_ID'. Extra information for IBM support: data1 data2
  • BIP8897E: Verification failed. Environment variable 'variable_name' does not match the integration node name 'integrationNodeName'.
  • BIP8900I: APF Authorization check successful for file 'file_name'.
  • BIP8903E: Verification failed. The APF Authorization check failed for file 'file_name'.
  • BIP8904E: Verification failed. Failed to stat file 'file_name 1' with return code 'return_code' and error number 'error_number'.

Examples

Run verification checks on the integration node named: INODE
mqsicvp INODE
Data source name (DSN) MyDB is associated with the integration node INODE by using the mqsisetdbparms command:
mqsicvp INODE -n MyDB
DSNMyDB is compared against a secondary DSN MyDB2 associated with the integration node INODE by using the mqsisetdbparms command:
mqsicvp INODE -n MyDB -c MyDB2
The fully qualified DSN MyDB is compared against a secondary fully qualified DSN MyDB2 by using the primary and secondary user IDs and passwords:
mqsicvp -n MyDB -u username -p password -c MyDB2 -i username2 -a password2

Use of the command to perform CPU benchmark processing

The mqsicvp command can be used to perform a benchmark on the system for CPU and Disk I/O. The CPU benchmark tests the CPU performance by calculating a recursive, arithmetic sequence on one or more threads. For the duration of the benchmarking process, each thread that is used typically consumes an entire logical CPU on the system. Consequently, the optimal time to run the command is during a period of scheduled downtime so that the CPU usage does not impact running production workloads.

The Disk i/o benchmark tests the write performance by writing the specified number of files to the disk of 199 bytes each. The files are cleaned up automatically at the end of the test. The Network benchmark tests the connectivity to the target host that you specify on the command line parameter 'ipaddress'. You can specify the hostname as FQDN or IP address.

Syntax: Use of the command to perform CPU benchmark processing

Read syntax diagramSkip visual syntax diagram mqsicvp integrationNodeName  -b  checkType options
options
Read syntax diagramSkip visual syntax diagram -o cpu-perfthreads=nniterations=nnsequence=nn -o disk-io-perfnumberoffiles=nn -o network-perfipaddress=ss

Parameters

integrationNodeName
(Optional) Specify the name of an integration node that is defined on the system.

AIX platformLinux platformAll names are case-sensitive on Linux and AIX systems.

-w | --work-dir workDirectory
(Optional) Specify the path to the work directory that is used by an independent integration server (not an integration server that is managed by an integration node).
-b checkType
(Required) Specify a value of benchmark to perform benchmark processing.
-o options
(Required) Specify the options to run with the command.
cpu-perf
(Required) Specify this option to run a CPU benchmark stress test.
, threads=nn
(Optional) Specify the number of threads to run. The default value is 5.
, iterations=nn
(Optional) Specify the number of times that the benchmark process is to be repeated. The default value is 5.
, sequence=nn
(Optional) Specify the number of steps in the sequence to calculate. The default value is 10.
disk-io-perf
(Required) Specify this option to run a disk-io performance test.
, numberoffiles=nn
(Optional) Specify the number of files to be written. The default value is 10.
network-perf
(Required) Specify this option to test the connectivity to the target host.
,ipaddress=ss
(Optional) Specify the target hostname or IP address. The default value is 'localhost'.

Examples

Run the command to test network connectivity:
mqsicvp -b benchmark -o network-perf,ipaddress=myhostname
The output from the command is similar in format to the following example:

Running the command to test network connectivity:

Sending Ping Request to : myhostname
Host 'myhostname' is reachable
Run the command to test network connectivity:
mqsicvp -b benchmark -o network-perf,ipaddress=otherhost
The output from the command is similar in format to the following example:

Running the command to test network connectivity:

Sending Ping Request to : otherhost
Host 'otherhost' is not reachable

Run the command to measure disk/io performance:

mqsicvp -b benchmark -o disk-io-perf,numberoffiles=100
The output from the command is similar in format to the following example:

Running the command to measure disk/io performance:

Total disk writing time: 6ms to write 100 files of size 199 bytes to disk

Running the command to measure CPU performance:

mqsicvp mqsicvp -b benchmark -o cpu-perf,threads=10,iterations=10,sequence=10
The output from the command is similar in format to the following example:

Running 10.0 threads
ThreadId:20 - Calculating sequence to number 10.0 10.0 times
ThreadId:24 - Calculating sequence to number 10.0 10.0 times
ThreadId:25 - Calculating sequence to number 10.0 10.0 times
ThreadId:21 - Calculating sequence to number 10.0 10.0 times
ThreadId:29 - Calculating sequence to number 10.0 10.0 times
ThreadId:28 - Calculating sequence to number 10.0 10.0 times
ThreadId:27 - Calculating sequence to number 10.0 10.0 times
ThreadId:26 - Calculating sequence to number 10.0 10.0 times
ThreadId:23 - Calculating sequence to number 10.0 10.0 times
ThreadId:22 - Calculating sequence to number 10.0 10.0 times


Total CPU time: 5.0ms for  100.0 calculations

Rating Value:2.0E10
Average Core Value:2.0E9