The sections that follow describe the configuration problems that can prevent either a test of the synchronization capability, or synchronization, from occurring. In general, the problems are caused by errors in the satellite configuration, information that is either missing or incorrect in the satellite control database, and authentication errors.
You should use the db2sync -t command to open the DB2 Synchronizer application in test mode. You use the test mode to verify that the information that is required for the satellite to synchronize itself is correct both on the satellite, and in the satellite control database. The sections that follow describe the errors that can occur, and how to recover from them. For more information about the db2sync command, see db2sync - Start DB2 Synchronizer.
Typically, the satellite ID is the same as the logon ID for the user of the satellite. If this is not the case, you can set the value of the DB2SATELLITEID registry variable on the satellite to define the satellite ID. In either situation, the satellite ID on the satellite must be equal to the value specified for the satellite ID when it is created in the Satellite Administration Center using the Create Satellite notebook.
When the user initiates a synchronization session, the satellite ID is determined as follows:
If the satellite ID cannot be determined when the user initiates a synchronization session, the SQLCODE -3951N is returned. This error can occur if the DB2SATELLITEID registry variable is not set and the user is not logged on.
Depending on which method you use to specify the satellite ID, correct the problem as follows.
Either the user logged on to a user ID that is not the satellite ID that is stored in the satellite control database, or, on Windows 95 or Windows 98, the user cancelled the logon screen.
db2set DB2SATELLITEID=satellite_id
Note: | The value specified for satellite_id must be equal to the value that is recorded as the satellite ID in the satellite control database. You can use the Satellite Administration Center to view the satellite ID from either the satellite details view, or the Edit Satellite notebook. For additional information about the satellite details view and the Edit Satellite notebook, refer to the online help that is available from the Satellite Administration Center. |
Note: | The satellite ID is case sensitive. |
Before the synchronization test can occur, the satellite control database must be recorded in the database directory on the satellite. If the information about the satellite control database is either not available on the satellite, or is not correct, the SQLCODE -3955 is returned. In this situation, the Catalog Control Database window opens, in which you can specify the DB2 instance that contains the satellite control database. To specify the information, you can either use Discovery or type the TCP/IP host name and port number. For information about using the Catalog Control Database window, refer to the online help that is available from the window.
Before the synchronization test can occur, valid authentication credentials for the satellite control database must exist on the satellite and be stored in the instance_path\security\satadmin.aut file. If a synchronization test is initiated and either the satadmin.aut file does not exist, or it does not contain the user ID and password required to connect to the satellite control database, the SQLCODE -3966 is returned with a reason code of 1. In this situation, the Connect to Control Database window opens, which you use to specify the authentication credentials to use to connect to the satellite control database. For information about using the Connect to Control Database window, refer to the online help that is available from the window.
During a synchronization test, the satellite uploads its unique satellite ID to the DB2 control server. The DB2 control server then checks that this value is recorded in the satellite control database. If the satellite ID is not recorded in the satellite control database, the SQLCODE -3931W is returned. The synchronization test ends.
Note: | The satellite ID is displayed in the title bar of the DB2 Synchronizer application. |
If this error occurs:
In this situation, use the db2set command to change the value of the DB2SATELLITEID registry variable, or ensure that the user logs on to the user ID that corresponds to the satellite ID that is recorded in the satellite control database.
In this situation, you must drop the satellite and create it again. For information on performing these tasks, refer to the online help that is available from the Satellite Administration Center.
If the satellite is not yet created, use the Create Satellite notebook to create it. For information about creating a satellite, refer to the online help that is available from the Satellite Administration Center.
Note: | The satellite ID is case sensitive. |
For synchronization to occur, the release level of DB2 on the DB2 control server and the release level of DB2 on the satellite must be compatible. The release level of DB2 on the satellite must be within the range of one level above to two levels below that of the DB2 on the DB2 control server. If the release levels are not compatible, the SQLCODE -3933W is returned.
If this error occurs, migrate the release level of DB2 that is on the satellite so that it is compatible with the release level of DB2 on the DB2 control server. For information on how to identify the release level of DB2 on the satellite, see The Satellite Software Version.
The sections that follow describe problems that can occur during a synchronization session.
The situation can occur that, after encountering an error during a synchronization session and subsequently being fixed, the satellite cannot synchronize again. What can occur is as follows. The satellite synchronized, successfully downloading its group batches, but encountered an error when executing these batches. After being fixed, the satellite attempted to synchronize again, and received the SQLCODE -3950, indicating that a synchronization session is already active. This SQLCODE is issued because the DB2 control server records the satellite as having downloaded its group batches, and is expecting the satellite to upload the results of the previous synchronization session. The fix to the satellite, however, has set the state on the satellite so that the satellite is again attempting to download its group batches.
To fix this problem, you must change the status of the satellite in the satellite control database to enable it to download the group batches:
UPDATE SATADMIN.SATELLITES SET sync_state='N' WHERE id='satellite_id'
If the user initiates a synchronization session and the SQLCODE -3935W is returned, the satellite is in the failed state. That is, the satellite reported an error to the DB2 control server during a previous synchronization session. When a satellite reports an error, it is automatically disabled from executing group batches. In this situation, you could create a fix batch to correct the problem on the satellite. For information about fix batches, see Fix Batches. Identifying and Fixing a Failed Satellite describes how to identify and fix a satellite that is in the failed state.
When a satellite is first created, it is disabled. The disablement allows, for example, the staging of the deployment of the group satellites.
Before a satellite can execute the group batches for its particular application version, it must be enabled to execute the group batches. If the user initiates a synchronization session and the satellite is not enabled to execute its group batches, the SQLCODE -3934W is issued.
The satellite may be disabled for the following reasons:
If the SQLCODE -3934W warning is issued and you want this satellite to begin synchronizing, use the Satellite Administration Center to enable the satellite at the DB2 control server. For information on how to perform this task, refer to the online help that is available from the Satellite Administration Center.
When a satellite synchronizes, it passes its application version to the DB2 control server. The DB2 control server uses this information to determine which group batches and batch steps the satellite is to execute. If the DB2 control server cannot find this application version for the satellite's group in the satellite control database, the SQLCODE -3932W is returned. The synchronization session ends.
If this warning occurs, one of the following is possible:
You can use the db2sync -s application_version command or the db2SetSyncSession API to set the application version on the satellite. To display the current value of the application version on the satellite, use the db2sync -g command. For more information about the db2sync command, see db2sync - Start DB2 Synchronizer. For more information about the db2SetSyncSession API, refer to the Administrative API Reference.
In this situation, the satellite may have been modified to use the next version of the end-user application, but the application version is not yet created for the satellite's group in the satellite control database. Use the Create Application Version window to create the application version for the group. For information about this window, refer to the online help that is available from the Satellite Administration Center.
Note: | The application version is case sensitive. |
When a satellite synchronizes, it passes its application version to the DB2 control server. The DB2 control server uses this information to determine which group batches and batch steps the satellite is to execute. If the user initiates a synchronization session and the application version is not recorded locally on the satellite, the SQLCODE -3956N is returned. The synchronization session ends.
You can use the db2sync -s application_version command or the db2SetSyncSession API to set the application version on the satellite. For more information about the db2sync command, see db2sync - Start DB2 Synchronizer. For more information about the db2SetSyncSession API, refer to the Administrative API Reference.
Note: | The application version is case sensitive. |
If a satellite has not synchronized for some time and the password to the DB2 control server changed before the satellite had a chance to download the changes during a synchronization session, the SQLCODE -1403 may be issued when the user initiates a synchronization session. This SQLCODE indicates an authentication error. In this situation, the satellite does not have the correct password for the DB2 control server in its instance_path\security\satadmin.aut file. See Re-Creating or Updating the satadmin.aut File for information on how to update this file.
An authentication error can also occur if the satellite ID is changed after the satellite has the correct authentication information in its satadmin.aut file. In this situation, the SQLCODE -3966 is issued with a reason code of 1. To recover from this error, you can:
Note: | For the db2sync -t solution to work, you must have already created a satellite using the Satellite Administration Center, and the ID of the new satellite must match the new value specified for the DB2SATELLITEID registry variable on the satellite. |
[ Top of Page ]