ASN4000-4999

ASN Message ID Message Explanation User Response

ASN4003E

program_name : program_identifier : The data type or the length of the source column source_col and of the target column target_col are not compatible.

See message text.

Rerun the command ensuring that you compare columns of equal type, precision, and length.

ASN4004E

program_name : program_identifier : The program encountered an SQL error at line line_number. The function name is function_name. The SQLCODE is sqlcode. The SQLSTATE is sqlstate.

A negative SQLCODE was returned when the program executed an EXEC SQL statement or CLI call. This message sometimes is followed by a second message that provides more information about the action being executed by the program when the SQLCODE was encountered.

See the messages and codes documentation of the database manager on your operating system for an explanation of this SQLCODE and for information about corrective actions that might need to be taken. If the program issued another message following this one, see the explanation and user response for that message. The line and function information are for IBM Software Support only.

ASN4005E

program_name : program_identifier : The program encountered an SQL warning at line line_number. The function name is function_name. The SQLCODE is sqlcode. The SQLSTATE is sqlstate.

A warning SQLCODE was returned when the program executed an EXEC SQL statement or CLI call. This message sometimes is followed by a second message that provides more information about the action being executed by the program when the SQLCODE was encountered.

See the messages and codes documentation of the database manager on your operating system for an explanation of this SQLCODE and for information about corrective actions that might need to be taken. If the program issued another message following this one, see the explanation and user response for that message. The line and function information are for IBM Software Support only.

ASN4006I

program_name : program_identifier : Between the source table and the target table, there are common_rows common rows, source_rows rows that are unique to the source table, and target_rows rows that are unique to the target table.

See message text.

Review details in the difference table. If necessary, run the asntrep command to synchronize the tables.

ASN4007E

program_name : program_identifier : The program found an incorrect subscription definition. Reason code: reason_code.
Possible reason codes are:
  1. The target table did not have key columns specified in the IS_KEY column of the IBMSNAP_SUBS_COLS table or the IBMQREP_TRG_COLS table.
  2. No columns for the table were found for the target table in the IBMSNAP_SUBS_COLS table or the IBMQREP_TRG_COLS table.

Run the Analyzer for details to help you fix the subscription definition. Use the replication administration tools to fix the subscription definition. Rerun the asntdiff or asntrep command.

ASN4008E

program_name : program_identifier : The program stopped because the WHERE parameter where_clause caused a DB2 PREPARE statement to fail.

The program stopped because the specified WHERE parameter caused an SQL PREPARE statement to fail. This statement is necessary to obtain the name of the target table by selecting rows from the IBMSNAP_SUBS_MEMBR table for SQL Replication or from the IBMQREP_TARGETS table for Q Replication.

Use an interactive command line processor to debug the WHERE clause for the appropriate control table: IBMSNAP_SUBS_MEMBR or IBMQREP_TARGETS. Rerun the command using the valid WHERE clause in the WHERE parameter.

ASN4009E

program_name : program_identifier : The rows that were fetched from the source table were not in the order of the dynamic collation. The program stopped.

The cursor that was used to fetch rows from the source table fetched the rows out of order. This problem occurs because the actual collation of the key columns in the source table did not match the estimated collating sequence that was determined by using the difference table. The difference table may have been created in a table space that has different attributes than the table space that contains the source table. Alternatively, the date or timestamp format may be different between the source and target.

For information about creating the difference table in the correct table space, see the Technote, "Code page and table space considerations for running asntdiff."

If your table contains date or timestamp formats, see the Technote, "Why I am getting asn4009e or value of 'U 2' in DIFF column for every row from asntdiff when source and target tables are identical?"

ASN4010I

program_name : program_identifier : Number of differences found between the source and target table: number. The details can be found in database source_DB, difference table difference_table.

See message text.

Review the difference table and, if necessary, run the asntrep command to fix the differences.

ASN4011I

program_name : program_identifier : No differences were found between the source and target tables.

See message text.

This message is for your information only. No action is required

ASN4012I

program_name : program_identifier : The program is comparing tables using the list of parameters following this message.

See message text.

This message is for your information only. No action is required.

ASN4013E

program_name : program_identifier : The program stopped because the WHERE clause was not valid. It returned number_of_rows subscription members or Q subscriptions.

The clause provided in the WHERE parameter returned no row or more than one row from either the IBMSNAP_SUBS_MEMBR or the IBMQREP_TARGETS table.

Use an interactive command line processor to debug the WHERE clause for the appropriate control table: IBMSNAP_SUBS_MEMBR or IBMQREP_TARGETS. Rerun the command using the valid WHERE clause in the WHERE parameter.

ASN4014E

program_name : program_identifier : The source table structure source_structure is not supported.

The following source table structures are supported for SQL Replication: user, replica, user copy, and point-in-time. Only user tables are supported for Q Replication.

Modify the WHERE clause to select a supported source structure and rerun the asntdiff or asntrep command.

ASN4015E

program_name : program_identifier : The target table structure target_structure is not supported.

The following target table structures are supported for SQL Replication:

  • User tables
  • Replica tables
  • User copy tables
  • Point-in-time tables
  • Consistent-change-data (CCD) tables that are condensed and complete

The following target table structures are supported for Q Replication:

  • User tables
  • Consistent-change-data (CCD) tables that are condensed and complete

Modify the WHERE clause to select a supported target structure and rerun the asntdiff or asntrep command.

ASN4018E

program_name : program_identifier : The difference table table_owner_table_name already exists in database database_name and its columns are not compatible with the key columns for the source table.

The difference table already existed and the asntdiff program is trying to reuse the table to write the differences. The key column information in the table does not match the key columns of the current source table for which the asntdiff program is run.

Delete the difference table or invoke the asntdiff program with parameter DIFF_DROP=Y.

ASN4019I

program_name : program_identifier : The program applied the rows from the difference table to the target table as follows: number rows were inserted, number rows were updated, and number rows were deleted.

The message summarizes the differences that were applied to the target table to synchronize it with the source table.

This message is for your information. No action is required.

ASN4020I

program_name : program_identifier : The value in the SUPPRESS_DELETES column is set to Y for this subscription, so number deletes were ignored.

When the SUPPRESS_DELETES value for a subscription is Y, the asntdiff program ignores the rows that are unique to the target and reports no differences. SUPPRESS_DELETES=Y prompts Q Capture and SQL Capture to not process deletes for a subscription. This may result in rows that exist in the target table but not in the source table.

This message is for your information. No action is required.

ASN4021E

program_name : program_identifier : The difference table table_owner.table_name does not exist at the Classic replication server server_name. The program stopped.

The difference table that is required to run the asntdiff utility does not exist at the Classic replication server. The utility does not automatically create the difference table. The table must be created manually.

Create the difference table at the Classic replication server and issue the asntdiff command.

ASN4022E

program_name : program_identifier : The file system that contains spill key file spill_filename ran out of space after number keys were spilled to the file. The program stopped. The asntdiff utility temporarily spills keys that it reads from the source table to disk when a memory limit is reached. The file system that contains this spill file ran out of space while the utility was writing keys to it. Unless all keys can be written to the spill file, the asntdiff utility cannot continue. By default, the utility will create the spill file in the temporary directory. Either free space on the file system temporary directory that is being used to spill keys, or invoke the asntdiff utility with the diff_path parameter to specify a directory with more space. To view the path of the temporary file, run the asntdiff command with the DEBUG=Y option.

ASN4023E

program_name : program_identifier : The program encountered an SQL error at line line_number. The function name is function_name. The SQLCODE issqlcode. The SQLSTATE is sqlstate.

An SQLCODE was returned when the program executed an ODBC/CLI statement against a Classic server. This message sometimes is followed by a second message that provides more information about the action that the program was executing when the error occurred.

The line number and function name are for IBM Software Support only.

Refer to the details for the given SQLCODE.

ASN4024E

program_name : program_identifier : The repair table table_owner.table_name already exists in database database_name and its columns are not compatible with the columns of the difference table table_owner.table_name in database database_name. A repair table at the target database is a copy of the difference table at the source database that contains only the keys to be deleted. In this instance, the repair table already exists from a previous asntrep command invocation, but the table contains incompatible columns. Delete the repair table and then reissue the asntrep command, or issue the command with the parameter DIFF_DROP=Y.

ASN4026E

program_name : program_identifier : An error occurred while parsing the RANGECOL option. The asntdiff program stopped.

The RANGECOL option was specified but the syntax was incorrect.

Specify the correct RANGECOL syntax.

ASN4027E

program_name : program_identifier : The SQL data type of the source column that was specified for the RANGECOL option is invalid. Valid data types are DATE, TIME, or TIMESTAMP.

Either the wrong column was specified for the RANGECOL option, or the specified column has an incorrect data type.

Specify a source column of DATE, TIME, or TIMESTAMP data type and rerun the program.

ASN4028E

program_name : program_identifier : An error was detected while accessing the IBMTDIFF_REFRESH table. The sqlcode is sql_code

DB2 returned an error while the ASNTDIFF program was trying to access the IBMTDIFF_REFRESH table to process the RANGECOL option.

ASN4029E

program_name : program_identifier : The UPTO_VALUE column in the IBMTDIFF_REFRESH table was not set.

To use the REFRESHONLY option, the UPTO_VALUE column in the IBMTDIFF_REFRESH table must have been set initialy.

The UPTO_VALUE can be initialized when the ASNTDIFF program is run using the FROM:, TO:, or FROM: and TO: RANGECOL option, or you can insert a value for the UPTO_VALUE column in the IBMTDIFF_REFRESH table and rerun asntdiff with the REFRESHONLY option.

ASN4030I

program_name : program_identifier : The asntdiff program that was invoked with the RANGECOL option processed rows from timestamp to timestamp. The schema is schema. The subscription name is subscription_name, and the number of rows that were processed is number.

This message reports the result of running the asntdiff program with the RANGECOL option. The number of rows that were processed is set to -1 if the run was not successful.

If the number of rows processed is -1, check the asntdiff.log file for error messages that explain why the run did not succeed.

ASN4031E

program_name : program_identifier : The associated target column name for the source column column_name that was specified for the RANGECOL parameter was not found in the target table.

The asntdiff program could not find the target column in the IBMQREP_TRG_COLS table (Q Replication) or in the IBMSNAP_SUBS_COLS table (SQL Replication).

Use the replication administration tools to redefine the Q subscription or subscription set member so that the correct target column is mapped to the source column.

ASN4032E

program_name : program_identifier : The column column_name with data type data_type is not supported as a key column for asntdiff comparisons.

The asntdiff program does not support XML and DECFLOAT columns as key columns for asntdiff comparisions.

Use a valid column as a key column.

ASN4033E

program_name : program_identifier : SQLCODE sqlcode was returned when the asntdiff program selected a column from the SYSIBM.SYSCOLUMNS catalog table on the target system. Column name: column_name. Table owner: table_owner. Table name: table_name.

The asntdiff program encountered an error when selecting from the system catalog to verify if the column was of type XML.

Verify that the table with the specified column name exists and that your subscription definitions reflect the correct names.

ASN4034W

program_name : program_identifier : The asntdiff program compared TIMESTAMP columns of different precision. In its comparison, the program treats column column_name in database database_name as if it had a truncated value of data_length so the precision values match.

When comparing TIMESTAMP columns that have different precision, asntdiff treats the column with the larger precision as if it has a matching precision and then compares the resulting values. For example, when comparing columns that are defined as TIMESTAMP(12) and TIMESTAMP(6), asntdiff would treat both as TIMESTAMP(6) and then report any differences in the column values.

Take the data truncation into account when you interpret the results of the asntdiff command. You can use the asntdiff -f option to explicitly cast a TIMESTAMP column to a given precision for the comparison.

ASN4035W

program_name : program_identifier : Database database_name has VARCHAR2 support enabled. The asntdiff program cannot differentiate between NULL values and empty strings at this database.

With VARCHAR2 support enabled, a database treats NULL values and empty character strings as equivalent. When comparing character data with another database that does not have VARCHAR2 support enabled, the asntdiff program treats NULL values and empty strings as different values and flags a difference. For example, empty strings at two databases would be treated as different values because the database with VARCHAR2 support enabled converts the empty string to a NULL value.

When you interpret the results of the asntdiff command, take these differences into account.

ASN4036W

program_name : program_identifier : The asntdiff program encountered the MAXDIFF threshold of maximum_differences and stopped comparing.

The MAXDIFF parameter limits the number of differences that asntdiff returns. The source and target tables might have more differences than were shown.

To see more or all differences, increase the MAXDIFF parameter value.

ASN4037E

program_name : program_identifier : The asntdiff program encountered an error when parsing the parameter SOURCE_SELECT. No ORDER BY clause was specified, or the ORDER BY clause was specified incorrectly.

When you use the asntdiff -f (input file) option, an ORDER BY clause that includes a unique key column or columns is required in the source SELECT statement. For the ORDER BY clause, you need to specify column position (for example, ORDER BY 1,2) rather than column names.

Specify a unique key column combination in the ORDER BY clause of the statements that are used for the SOURCE_SELECT parameter, and use column position in the ORDER BY clause.

ASN4038W

program_name : program_identifier : A change condition was detected for Q subscription name. Differences that are reported may be a result of this predicate.

Change conditions allow you to use log record variables such as $OPERATION and $AUTHID to filter information about how a row was created when the Q Capture program is replicating or publishing changes. Unlike search conditions, change conditions do not reference information from the source table, and therefore asntdiff might show some rows as different between source and target.

Do not use the asntrep utility to repair the table if you suspect that a large number of the operations that it would make are due to the effect of the change condition that is being used by Q Capture. Repairing the target table in this manner would undo the effect of filtering at the source.

ASN4039W

program_name : program_identifier : The asntdiff utility was unable to verify the existence of the difference table table_name. A select query against the catalog table table_name at the source server server was rejected. A select query against the difference table also was not allowed. The SQLCODE is sqlcode. The SQLSTATE is sqlstate. The SQLERRMC is sqlerrmc.

The difference table is created in the source database or subsystem to store differences that the asntdiff utility finds. If you specify DIFF_DROP=N, you can create the difference table yourself; otherwise the utility creates the table. The utility was unable to verify the existence of a difference table at the specified server. The SQLCODE and SQLSTATE explain the reasons that the queries that were used for verification were rejected.

Check the SQLCODE and SQLSTATE information. Look for additional error messages such as ASN4040W or ASN4041E that contain information about how to fix the problem.

ASN4040E

program_name : program_identifier : The asntdiff utility was unable to create a difference table named table_name at the server server. The SQLCODE is sqlcode. The SQLSTATE is sqlstate. The SQLERRMC is sqlerrmc.

The asntdiff command creates a difference table in the source database or subsystem to store differences that it finds. The utility was unable to create a difference table at the specified server. The SQLCODE and SQLSTATE explain the reason.

Check the SQLCODE and SQLSTATE and fix any problems that are preventing asntdiff from creating a difference table. Then reissue the asntdiff command.

ASN4041E

program_name : program_identifier : The difference table table_name was not created even though the value of N for the DIFF_DROP parameter specifies that the table will be created manually rather than automatically by asntdiff. The program will stop.

With DIFF_DROP=N, the asntdiff utility expects to find a user-created difference table at the source database or subsystem. The utility looks for a table with the default schema and name of ASN.ASNTDIFF unless you use the DIFF and DIFF_SCHEMA parameters to specify a different schema and name. The utility was unable to find the specified table.

Set the DIFF_DROP parameter to Y if you want the asntdiff utility to create the difference table automatically. Otherwise, create the difference table manually before you run asntdiff again.

ASN4044W

program_name : program_identifier : The asntdiff utility tried to change the SQL authorization ID to id, but the attempt to issue a SET CURRENT SQLID query against the server server failed. The SQLCODE is sqlcode. The SQLSTATE is sqlstate. The SQLERRMC is sqlerrmc. The utility will continue the work using the current SQL authorization ID.

You can specify the SOURCE_SQLID or TARGET_SQLID parameters to change the SQL authorization ID that is used by the asntdiff utility to perform database operations. The utility uses SET CURRENT SQLID to perform this change, but the operation failed. The SQLCODE and SQLSTATE explain the reason.

Check the SQLCODE and SQLSTATE for explanations of why the SET CURRENT SQLID operation failed. Fix any problems and then reissue the asntdiff command.

ASN4045E

program_name : program_identifier : The asntdiff utility was unable to create a global temporary table named table_name at the server server. The SQLCODE is sqlcode. The SQLSTATE is sqlstate. The SQLERRMC is sqlerrmc. The program will stop.

The asntdiff utility was unable to create a global temporary table at the specified server. The SQLCODE and SQLSTATE explain the reason.

Check the SQLCODE and SQLSTATE for explanations of why asntdiff could not create a global temporary table at the server. Fix any problems and then reissue the asntdiff command.

ASN4046E

program_name : program_identifier : The asntdiff utility was unable to insert data into the table table_name at the server server. The SQLCODE is sqlcode. The SQLSTATE is sqlstate. The SQLERRMC is sqlerrmc. The program will stop.

As part of its processing, the asntdiff utility creates a global temporary table at the specified server and performs inserts. The utility was unable to insert the records into the specified table. The SQLCODE and SQLSTATE explain the reason.

Check the SQLCODE and SQLSTATE for explanations of why asntdiff could not insert records into the global temporary table. Fix any problems and then reissue the asntdiff command.

ASN4047E

program_name : program_identifier : The asntdiff utility was unable to select data from the table table_name at the server server. The SQLCODE is sqlcode. The SQLSTATE is sqlstate. The SQLERRMC is sqlerrmc. The program will stop.

The asntdiff utility was unable to issue a SELECT statement against the specified table. The SQLCODE and SQLSTATE explain the reason.

Check the SQLCODE and SQLSTATE for explanations of why asntdiff could not issue a SELECT statement against the table. Fix any problems and then reissue the asntdiff command.

ASN4050W

program_name : program_identifier : The asntdiff utility was unable to determine if the SELECT statement statement uses expression_or_alias for key columns.

To automatically determine the value of the NUMBLOCKS parameter, the asntdiff utility must determine if the statements that were specified for the SOURCE_SELECT and TARGET_SELECT parameters use expressions or aliases for key columns. The utility could not determine whether expressions or aliases are used.

If the expressions or alias are not used for the key columns, this warning message can be ignored. Otherwise, to achieve a better performance, remove the key columns from the SELECT statements or change the ORDER BY clauses in SOURCE_SELECT or TARGET_SELECT parameters. If neither of these changes is possible, set the value of the NUMBLOCKS parameter to 1 before the next run.

ASN4051W

program_name : program_identifier : The asntdiff utility was unable to determine if at least one index can be used to fetch the data from the table table_name by using key columns. The key columns are specified in the ORDER BY clauses clauses that were specified for the SOURCE_SELECT and TARGET_SELECT parameters.

The asntdiff utility was unable to access the catalog tables SYSIBM.SYSKEYS and SYSIBM.SYSINDEXES. By accessing the catalog tables, the asntdiff utility can determine if one index exists that can be used for fetching the result sets from the SOURCE_SELECT and TARGET_SELECT queries. The utility requires this information to automatically determine the value for the NUMBLOCKS parameter.

If an eligible index exists for key columns in the ORDER BY clauses, you can ignore this message. Otherwise, for better performance set the value of the NUMBLOCKS parameter to 1 before the next run.

ASN4052E

program_name : program_identifier : The asntdiff utility was unable to create more parallel threads because of a system resource limit. The program will stop.

An operating system thread limit was reached for the user ID that runs the asntdiff utility. The asntdiff utility creates at least six threads for parallel table comparison when the PARALLEL parameter is specified. The number of threads can be higher when you use the NUMTHREADS parameter.

Take one of these actions:

  • Increase the resource limit for the BPXPRMxx member of the PARMLIB: MAXTHREADS and MAXTHREADTASKS. For running the asntdiff utility in the parallel option, the minimum number of threads is six. To achieve the best performance, you should set the system thread limit to 21 or larger.
  • Lower the value of the NUMTHREADS parameter.

ASN4053E

program_name : program_identifier : The asntdiff utility ran out of memory space. The program will stop.

The asntdiff utility is unable to compare the tables because of insufficient memory allocation.

Take one of these actions:

  • On z/OS, increase the region size.
  • When using the parallel option, reduce the value of the NUMTHREADS parameter.

ASN4055E

program_name : program_identifier : An error occurred while the asntdiff utility was terminating an existing thread. The program will stop.

Some threads of the asntdiff utility are waiting for returns from the stored procedure calls from DB2.

Kill the threads manually and set the value of parameter NUMBLOCKS to zero before the next run. You can use the -DISPLAY THREAD command to get status information about the threads.

ASN4056I

program_name : program_identifier : The asntdiff utility received a user signal to stop the compare operation. The program will stop.

The utility received an operating system signal to cease operations that was initiated by user input.

This message is for your information only. No action is required.

ASN4058E

program_name : program_identifier : The asntdiff utility, running in parallel mode, is unable to compare the two specified tables because their code pages (CCSID) are different. The program will stop.

The result sets of the queries that were used for the SOURCE_SELECT and TARGET_SELECT parameters have different CCSID values. This situation can occur when the DB2 subsystems that contain the two tables that are being compared use different code pages. The parallel option requires that both result sets have the same CCSID value.

Change the value of the PARALLEL parameter from Y to N and rerun the utility.

ASN4059E

program_name : program_identifier : The asntdiff utility in parallel mode cannot be run in this environment. The program will stop.

With this release, the asntdiff utility in parallel mode cannot be run in this environment.

Change the value of the PARALLEL parameter from Y to N and rerun the utility.

ASN4060I

program_name : program_identifier : The asntdiff utility changed the value of the NUMBLOCKS parameter to value. The reason code is reason_code.

The value for NUMBLOCKS was reduced. The following values are valid for the reason code:

1

Each block contains too few rows.

2

The source table contains too few rows.

3

An alias was used for key columns.

4

An expression was used as a key column for the SQL statement that was used with the SOURCE_SELECT or TARGET_SELECT parameter.

5

An eligible index cannot be found based on the provided ORDER BY clauses.

6

At least one instance of the unsupported keyword DESC is used with the SOURCE_SELECT or TARGET_SELECT parameters.

7

An eligible index cannot be found based on the provided table clauses at the source side.

8

An eligible index cannot be found based on the provided table clauses at the target side.

9

An eligible index cannot be found based on the provided table clauses at both the source and target sides.

To improve performance, review the reason codes in the explanation and take the appropriate action:

1

Reduce the value of the NUMBLOCKS parameter.

2

Change the value of the PARALLEL parameter from Y to N.

3

Remove the alias from the SELECT statements in the SOURCE_SELECT or TARGET_SELECT parameters.

4

Remove the expression from the SELECT statements or change the ORDER BY clauses in the SOURCE_SELECT or TARGET_SELECT parameters.

5

Respond to reason code code 5 in one of the following ways:

  • Create an eligible index for the key columns.
  • Change the ORDER BY clauses in the SOURCE_SELECT or TARGET_SELECT parameters.
6

Remove the DESC keyword from any SQL query that is used for the SOURCE_SELECT parameter or the TARGET_SELECT parameter

7

Create an eligible index for the key columns at the source side.

8

Create an eligible index for the key columns at the target side.

9

Create an eligible index for the key columns at both the source and target sides.

ASN4061E

program_name : program_identifier : The number of columns (number) in the SQL statement that was used with the SOURCE_SELECT parameter does not equal the number of columns (number) that were used with TARGET_SELECT. The two statements must have the same number of columns for the tables to be compared. The program will stop.

The number of columns that are used with SOURCE_SELECT must match the number of columns that are used with TARGET_SELECT.

Change the SQL statements that are used with SOURCE_SELECT and TARGET_SELECT and rerun the asntdiff utility.

ASN4062E

program_name : program_identifier : Column column_name with data type data_type is not supported as a non-key column for the asntdiff utility when it runs in parallel mode. The program will stop.

When you specify the PARALLEL parameter to run the asntdiff utility in parallel mode, comparison of columns with the specified data types is not supported.

Remove references to columns with unsupported data types from the queries that are used with the SOURCE_SELECT and TARGET_SELECT parameters, then rerun the asntdiff utility. If the column references cannot be removed, rerun the utility with PARALLEL=N.

ASN4063E

program_name : program_identifier : The asntdiff utility, running in parallel mode, is unable to process the SQL statement statement that was used with the SOURCE_SELECT or TARGET_SELECT parameter. The program will stop.

The query statement that was used with the SOURCE_SELECT or TARGET_SELECT parameter does not use the expected format.

Rewrite the statement using the following format:

SELECT xxx FROM yyy (WHERE zzz) ORDER BY aaa

Then rerun the asntdiff utility. If the statement cannot be rewritten in this format, rerun the asntdiff utility with PARALLEL=N.

ASN4064E

program_name : program_identifier : The provided value value for the NUMTHREADS parameter is too small. The value should be between 6 and 21. The program will stop.

The asntdiff utility, running in parallel mode, must create at least six threads. For optimal performance NUMTHREADS should be set to 21.

Increase the system resource limit for application threads if necessary and set the value of NUMTHREADS to 21. Then rerun the asntdiff utility. If the NUMTHREADS value cannot be increased because of a system resource limit, rerun the utility with PARALLEL=N.

ASN4065W

program_name : program_identifier : The parameter parameter is only used for environment. The value will be ignored in this run.

The specified parameter can only be used in some environments. The parameter is ignored in this run.

Remove the parameter in future runs.

ASN4066I

program_name : program_identifier : Table partitioning was unsuccessful. The comparison will be performed in one pass against the entire results set.

The asntdiff utility was unable to partition the table due to an unsuccessful statement rewrite or a failure in data fetching from the source table.

Check the SQLCODE and SQLSTATE in ASN0552E, if issued.

ASN4067E

program_name : program_identifier : Table partitioning was unsuccessful. The program will stop.

The asntdiff utility was unable to partition the table because of an unsuccessful statement rewrite or a failure in fetching data from the source table.

Set the value of parameter NUMBLOCKS to one before the next run.

ASN4069E

program_name : program_identifier : The stored procedure procedure_name that is used by the asntdiff utility in parallel mode was unable to return the expected results. Reason: reason. The program will stop.

The specified stored procedure failed. The reason message from the stored procedure explains the problem.

Check the reason message. At the server, verify that the stored procedure is correctly defined and that the configuration of the Workload Manager environment is valid. Then rerun the utility.

ASN4070E

program_name : program_identifier : The stored procedure procedure_name was not bound at the server server. SQLERRMC sqlerrmc. The program will stop.

The asntdiff utility was able to run the specified stored procedure that is required for parallel mode. But the embedded SQL statements in the stored procedure cannot be executed. The associated DBRM was not found by DB2. See the text for the SQLCODE -805.

Bind the DBRM of the stored procedure before the next run. For information on binding asntdiff, see the ASNQBNDT sample data set.

ASN4072E

program_name : program_identifier : The asntdiff utility was unable to issue the DB2 stored procedure procedure_name at the server server. The SQLCODE is sqlcode. The SQLSTATE is sqlstate. The SQLERRMC is sqlerrmc. The program will stop.

The asntdiff utility was unable to run the specified stored procedure. The SQLCODE and SQLSTATE explain the reason.

Check the SQLCODE and SQLSTATE. At the server, verify that the definition of the stored procedure is correctly specified and the configuration of the Workload Manager environment is valid.

ASN4073E

program_name : program_identifier : The ORDER BY clauses that were used with the asntdiff input parameters SOURCE_SELECT and TARGET_SELECT are different. The command failed.

When you use the asntdiff -f (file) option, you specify the SOURCE_SELECT and TARGET_SELECT parameters to provide SQL SELECT statements that specify the rows that you want to compare in the source and target tables. An ORDER BY clause is required in each of these SQL statements, and the ORDER BY clauses must be the same for both parameters.

Change the SQL statements in the input file so that both ORDER BY clauses match, and reissue the asntdiff command.

ASN4074E

program_name : program_identifier : The column or columns that are specified in the ORDER BY clauses for the SOURCE_SELECT and TARGET_SELECT parameters of the asntdiff command do not reference a unique key or unique composite key. The command failed.

When you use the asntdiff -f (file) option, you specify the SOURCE_SELECT and TARGET_SELECT parameters to provide SQL SELECT statements that specify the rows that you want to compare in the source and target tables. The SQL statements must have an ORDER BY clause, and the clauses must reference a unique key or unique composite key.

Rewrite the ORDER BY clauses in the input file and reissue the asntdiff command.

ASN4075W

program_name : program_identifier : The asntdiff utility was unable to drop the table table_name at the server server. The SQLCODE is sqlcode. The SQLSTATE is sqlstate. The SQLERRMC is sqlerrmc.

The asntdiff utility was unable to issue a drop statement against the specified difference table or the global temporary table that it created. The SQLCODE and SQLSTATE explain the reason.

Check the SQLCODE and SQLSTATE. Manually drop the specified table and rerun the utility.

ASN4076E

program_name : program_identifier : The asntdiff utility stopped because the file system that contains spill key file spill_filename is unable to store all of the key values of the source result set. In each comparison, the total size of key columns multiplied by the number of rows in the source table should be less than 2 GB.

When the asntdiff utility reaches a memory limit, it temporarily spills key column values that it reads from the source table to disk. The maximum allowable size of the spill file is 2 GB. Unless it can write all key values to the spill file, the asntdiff utility stops.

Split the compare operation into smaller tasks:

  • For the -f (input file) command option, partition the original comparison by specifying ranges of rows to compare. You can use any combination of columns and choose the appropriate partition column values as the boundary values in the search conditions. Columns that you choose for range values should be indexed for better performance. The corresponding search conditions should be added into the WHERE clauses of both the SOURCE_SELECT and TARGET_SELECT parameters.
  • If you are not using the -f option, partition the comparison by specifying the RANGECOL parameter to indicate ranges of rows to compare. The selected columns must be DATE, TIME, or TIMESTAMP. If columns with these data types are not available, try to run the asntdiff utility with the -f command option.

ASN4077E

program_name : program_identifier : The specified table does not contain any eligible columns for comparison. The program stopped. Parameter: parameter_name. Server: server_name. Schema: schema_name. Table: table_owner.table_name.

One of the parameters SOURCE_TABLE or TARGET_TABLE was specified to inform the asntdiff utility which tables to compare. The utility queried the DB2 catalog tables to find all of the type-eligible columns for comparison. None of the columns has a data type that is eligible for comparison.

Check if the server, table owner (schema), or table name are correctly specified. If not, correct them and rerun the utility.

ASN4078I

program_name : program_identifier : The column column_name has an unsupported data type and is not included in the generated select statements. The column data will not be compared. Data type: data_type. Server: server_name. Table: table_owner.table_name.

One of the parameters SOURCE_TABLE or TARGET_TABLE was specified to inform the asntdiff utility which tables to compare. The utility queried the DB2 catalog tables to find all of the type-eligible columns for comparison. Supported data types for non-key columns are DATE, TIME, TIMESTAMP, VARCHAR, CHAR, LONG VARCHAR, FLOAT, REAL, DECIMAL, NUMERIC, BIGINT, INTEGER, SMALLINT, ROWID, VARBINARY, BINARY, VARGRAPH, GRAPHIC, and LONGRAPH. Supported data types for key and block-by columns are DATE, TIME, TIMESTAMP, VARCHAR, CHAR, LONG VARCHAR, FLOAT, REAL, DECIMAL, NUMERIC, BIGINT, INTEGER, SMALLINT, ROWID, VARBINARY, and BINARY.

This message is for your information only. No action is required.

ASN4079W

program_name : program_identifier : The specified table does not have a unique index. Not having a unique index can degrade performance. Server: server_name. Schema: schema_name. Table: table_owner.table_name.

When you use the asntdiff utility in parallel mode (PARALLEL=Y), defining unique indexes on the tables that are being compared can enhance performance and reduce CPU usage.

To improve the performance, use an existing unique index on both source and target tables or define a new index. You can let the asntdiff utility automatically decide what unique index to use by querying the catalog table, or you can manually specify a unique index with the parameters SOURCE_KEY_COLUMNS/SOURCE_SELECT and TARGET_KEY_COLUMNS/TARGET_SELECT.

ASN4080W

program_name : program_identifier : The specified table does not have a unique index. The comparison results might be wrong when duplicate values exist. Server: server_name. Schema: schema_name. Table: table_owner.table_name.

When you use the asntdiff utility in non-parallel mode (PARALLEL=N), the utility requires value uniqueness. When duplicate values exist, the results might be incorrect.

To avoid incorrect results, specify an existing unique index with the SOURCE_KEY_COLUMNS/SOURCE_SELECT and TARGET_KEY_COLUMNS/TARGET_SELECT parameters at both the source and target tables that are being compared, or define a new index.

ASN4081E

program_name : program_identifier : The specified table does not have an index defined at both the source and target tables that are being compared. The comparison did not start and the program stopped. Parameter: parameter_name. Server: server_name. Table: table_owner.table_name.

When you use the asntdiff utility in parallel mode (PARALLEL=Y), the utility automatically selects appropriate indexed columns as key columns by querying the system catalog. However, no index is defined on either the source or target table.

To obtain the best performance, define an index on both the source and target tables. Otherwise, instead of automatic detection, you can manually specify the corresponding parameters SOURCE_KEY_COLUMNS/SOURCE_SELECT and TARGET_KEY_COLUMNS/TARGET_SELECT without an index. Then, rerun the utility.

ASN4082W

program_name : program_identifier : The specified table does not have any eligible index. The asntdiff utility will continue the comparison without partitioning the compared data into multiple smaller blocks. Parameter: parameter_name. Server: server_name. Table table_owner.table_name.

When you use the asntdiff utility in parallel mode (PARALLEL=Y), the utility automatically selects appropriate indexed columns to use as block-by columns by querying the system catalog. When the table is partitioned, the specified column or columns should be identical to the definition of the partitioning index (PI) or non-partitioning index (NPI). Data Partitioned Secondary Indexes (DPSI) are not supported. The utility will continue the compare without partitioning the data into multiple smaller blocks.

To obtain the best performance, define a PI or NPI index on both the source and target tables and rerun the utility.

ASN4083E

program_name : program_identifier : The column column_name is not supported to use with the parameter SOURCE_STATS_COLUMNS. The program will stop. Data type: data_type.

SOURCE_STATS_COLUMNS only supports the following numeric and date-time data types: BIGINT, DECIMAL, FLOAT, INTEGER, SMALLINT, TIME, and TIMESTAMP.

Use a column with a supported data type with the SOURCE_STATS_COLUMNS parameter and rerun the utility.

ASN4084W

program_name : program_identifier : An overflow was detected when the asntdiff utility was summing the columns that were specified with the SOURCE_STATS_COLUMNS parameter. The asntdiff utility will only compare the number of rows for all the remaining blocks.

The sum of numeric and datetime columns that are specified with the SOURCE_STATS_COLUMNS parameter was larger than the maximum limit. The utility will only compare the number of rows for all the remaining blocks.

Correct the SOURCE_STATS_COLUMNS parameter and rerun the utility.

ASN4085I

program_name : program_identifier : The specified value of the parameter GTT_MAXSZ is too small. The asntdiff utility will not use table compare for the current block.

GTT_MAXSZ is used for limiting the usage of the active Created Global Temporary Table (CGTT) instances. The asntdiff utility uses a CGTT to compare the tables. To achieve the best performance, the recommended limit should be larger than 10 MB.

To obtain better performance, increase the value of the GTT_MAXSZ parameter and then rerun the utility.

ASN4086W

program_name : program_identifier : The difference output table that was specified with the RECHECK_DIFFS parameter is empty. Server: server_name. RECHECK_DIFFS schema: schema_name. RECHECK_DIFFS table: table_name.

RECHECK_DIFFS specifies the schema name and table name of the DIFF output table that stores the comparison results from the previous runs. However, the table is empty.

Check to see if the schema name and table name that were provided with the RECHECK_DIFFS parameter are correct. If not, correct the value and rerun the utility.

ASN4087E

program_name : program_identifier : The values in the column KEY_COLS in the difference output table that is specified with the RECHECK_DIFFS parameter are not compatible with the key columns for the source table. The program stopped. RECHECK_DIFFS table: table_owner.table_name. Source table: table_owner.table_name. Conflict key column key_column_name.

RECHECK_DIFFS specifies the schema name and table name of the DIFF output table that stores the comparison results from the previous runs. However, the key columns that are used in the KEY_COLS column do not match the key columns in the source table.

Check to see if the parameters RECHECK_DIFFS and SOURCE_SELECT/SOURCE_KEY_COLUMNS are correctly specified. If not, correct the values and rerun the utility.

ASN4088I

program_name : program_identifier : The value of the LIVE parameter is set to N because RETRY_COMPARE_WAIT is set to 0.

The live compare requires a non-zero value for the parameter RETRY_COMPARE_WAIT.

If live comparison is desired, increase RETRY_COMPARE_WAIT to an appropriate value based on the end-to-end replication latency.

ASN4089I

program_name : program_identifier : The value of GTT_MAXSZ is reduced to new_gtt_maxsz (half of the original value), because the source and target servers are identical.

The GTT_MAXSZ parameter specifies the maximum allowable total size for the active Created Global Temporary Table (CGTT) instances, in megabytes, on one server. Because the source and target servers are identical, the asntdiff utility automatically reduces the GTT_MAXSZ value by half.

This message is for your information only. No action is required.

ASN4090I

program_name : program_identifier : The value of DIFF_DROP is changed to NOOP, because the difference output table (specified by DIFF_SCHEMA.DIFF) is identical to the difference input table (specified by RECHECK_DIFFS).

To avoid dropping the difference input table, the asntdiff utility set the DIFF_DROP parameter to NOOP. The final difference table will contain the previously identified difference results and the difference results of the recheck.

This message is for your information only. No action is required.