Troubleshooting and Error Messages

This section discusses common errors and how to address them, as well as different error messages and their meaning.

Migration-related errors and their descriptions

Issue

Description

Objects fail to migrate

Objects often fail to migrate on the first attempt. sybmigrate automatically retries all failed migration attempts. However, if you choose to migrate an object that is dependent upon another object that is not migrated, the migration fails.

To prevent failed migration of objects, examine the dependencies of objects that you select for migration. For example, you cannot migrate a trigger if the table on which the trigger is defined is not also migrated. Similarly, views can be created on other views or tables, and if these objects are not migrated, the migration of the view fails.

Beginning database migration

When you are in the setup phase of the migration process, you are asked to decide whether or not you want to migrate server data. You must select from yes, no, or undecided.

“Undecided” provides you with the flexibility of setting up the migration process, but being able to return to the process at a later date that is more convenient for migration. If you select Undecided, you cannot begin the database migration until you indicate whether you want to migrate server data.

If you indicate that you do not want to migrate server data during setup, you cannot migrate database data during migration. You can override this limitation in GUI mode.

“Connection refused” and “Unable to obtain connection to the server”

There are two possible reasons why you may encounter these error messages.
  • If either the source or the target SAP ASE server is not running, sybmigrate cannot establish a connection.

  • The number of user connections configuration parameter must be configured to provide sufficient resources on both the source and target SAP ASE servers.

Target server cannot be reached from source server

The interfaces file is used to start the source SAP ASE server. Verify that it has an entry that identifies the target SAP ASE server.

Verify that your login can access the target SAP ASE server from the source SAP ASE server.

If sybmigrate hangs during migration

If sybmigrate hangs during the migration process, check the sybmigrate log in $SYBASE/$SYBASE_ASE/init/logs for any errors or exceptions.

Also, check your SAP ASE server logs. If the SAP ASE server logs run out of space on the database, increase the database size, and install the sp_threasholdaction stored procedure to do dump tran when the log is full.

Merging two databases

To merge two databases on the source SAP ASE server into one database on the target SAP ASE server, use the following procedure.
  • Set up and migrate the first database.

  • After migrating the first database, rename the target database so that it has the same name as the second source database.

  • Set up and migrate the second database.

Note: You cannot migrate the database data for the second database because the users, roles and other database data already exist on the target database. You can still migrate user data.

Post-migration failure cleanup

If sybmigrate fails unexpectedly, rerun sybmigrate on the areas that failed. If it fails again with no more progress, clean up the source and target SAP ASE servers, and begin migration again. There are actions that you must perform on both the source and target SAP ASE server.

On the source SAP ASE server:
  • Drop the temporary working databases mtpdb$%.

  • Drop the repository database sybmigratedb.

  • Drop all remote servers mtrs$%.

On the target SAP ASE server:
  • If server data was migrated, rebuild the target SAP ASE server with srvbuild or syconfig.

  • Re-create the target databases.

Remigrating one database

To remigrate a specific database:
  1. Start sybmigrate.

  2. In the Setup Paths window, during the setup session, right-click the migration path you want to redo.

  3. Select Delete Migration Path on the pop-up menu.

  4. Clean up or remove the migrated data and objects on the target database, or drop and re-create the target database.

  5. Restart sybmigrate and run it from setup mode.

Re-creating an individual object

To re-create an individual object:
  1. In the target SAP ASE server, drop the object you want to re-create.

  2. Start sybmigrate in the migration session, and go to the Migrate Object Selection window. Highlight the object you want to create and right-click.

  3. From the pop-up menu, select Reset Object to Initial status.

  4. Complete the migration process.

Connection fail

If you receive a connection fail error message even though the source and target SAP ASE servers are running, you may be using the wrong character set. When you are using sybmigrate, you must use the default character set. Run sybmigrate with the -J charset option, to change the character set you are using.

“Insufficient memory in JVM shared class”

If you see the following error in the server log, it indicates that you must reconfigure the size of shared class heap configuration parameter to a larger value.
01:00000:00036:2002/01/28 14:17:05.63 server Java VM
Host: Memory allocation request failed because of 
insufficient memory in Jvm Shared Class.

“There is not enough memory in the procedure cache”

If you see the error message there is not enough memory in the procedure cache during the migration of indexes, use sp_configure procedure cache size to increase the procedure cache.

java.lang related error

If you receive java.lang.NoClassDefFoundError:com/sybase/jdbcx/SybDriver when you are connecting to an SAP ASE server, check to make sure you have jConnect 6.0 installed in your $SYBASE directory ($SYBASE/jConnect-6_0).