You must have the source Adaptive Server and the target Adaptive Server running concurrently when you migrate data from one to the other.
sybmigrate assumes that the target Adaptive Server has been installed and configured prior to data migration. Use srvbuild or syconfig to create a new Adaptive Server with the required logical page size.
Keep the following items in mind prior to migration, when you are creating the target Adaptive Server and configuring the source Adaptive Server:
When you create a new Adaptive Server with a different logical page size into which you want to migrate data, you must adequately adjust the size of the database on the target Adaptive Server to accommodate the inbound data. If you are migrating data to an Adaptive Server with a larger logical page size, this is especially important.
Use the space estimation report, space_est, to determine how much space is available on your target database. For more information about space_est, see “Starting sybmigrate”.
To speed the migration process, you can run multiple sessions of sybmigrate within the same server. However, running more than one session of sybmigrate on the same source and target database path is not allowed.
You must manually create segments on the target database before migrating tables and indexes.
The data transfer rate for sybmigrate is configured through CIS bulk insert array size. The default configuration for CIS bulk insert array size is 50 rows. This means that as many as 50 rows of data are buffered by CIS before being transferred to the target Adaptive Server.
To increase throughput, increase the configuration of CIS bulk insert array size to a larger value.
However, increasing CIS bulk insert array size causes the source Adaptive Server to use memory from the operating system for local buffers. This can lead to excessive consumption of operating system memory.
Sybase recommends that if you do choose to increase the CIS bulk insert array size default value, you do so modestly. See the CIS documentation for more information.
CIS bulk insert array size has no effect on data throughput if the table being transferred has a text, image, or Java ADT column. When a table has a text, image, or Java ADT column in it, all data is migrated one row at a time, for the duration of the migration of that particular table. Also, no array buffering takes place.
As the data migration is being done using CIS bulk transfer, the value for the configuration parameter CIS packet size on the source Adaptive Server can affect the speed of the data transfer. The recommended value for CIS packet size on the source Adaptive Server is the logical page size (2K, 4K, 8K, or 16K) of the target Adaptive Server.
max packet size allowed on the target Adaptive Server should match the value of CIS packet size on the source Adaptive Server.
For more information on max packet size allowed, see the System Administration Guide.
To maximize the performance of sybmigrate, increase the additional network memory configuration parameter on the target Adaptive Server to a value larger than the default.
For more information on additional network memory, see the System Administration Guide.
All the above considerations affect the max memory configuration parameter. Before migrating your data, make sure that max memory is set to a sufficiently large value.
There are three types of data that are migrated: server data, database data, and user objects. To migrate metadata (the server and database data), the target Adaptive Server must be newly installed so that the migrated metadata does not conflict with any residual data from previous usage.
If you are migrating only user objects, you can use a previously used Adaptive Server. For user data however, the target tables must be empty.
Before migrating data, create the databases into which you want to migrate data on the target Adaptive Server. The databases should have the same name that they have on the source Adaptive Server.
To enable conversion of character sets that do not have an internal Adaptive Server conversion routine, configure the target Adaptive Server with enable unicode conversions set to 1.
Determine the size of the named caches and buffer pools on the target Adaptive Server. sybmigrate does not migrate cache configurations. You can use the information that is generated by ddlgen and apply it to the target Adaptive Server, or you can choose to configure larger amounts of memory, in light of the larger page size being used.
However, sybmigrate migrates cache bindings, therefore if the required cache is not in the target Adaptive Server, warnings are generated in the migration log.
Before running sybmigrate, you must install the desired languages on the target Adaptive Server. The default language should be the same on the source and the target Adaptive Server.
If there are user messages on the source Adaptive Server that are not installed on the target Adaptive Server, sybmigrate aborts user message migration and reports an error.
If you are migrating Java columns, you must enable Java on the source and target Adaptive Server prior to migration. Enter:
sp_configure 'enable java', 1
After you have upgraded your source Adaptive Server to version 12.5.0.1 or later, restart it before you begin migration.
To complete the migration, the source and target Adaptive Servers must have different local server names. Set the local server name, and then restart the servers for the change to take effect.
If multibyte character sets are configured on the target Adaptive Server after initiating the migration process, you must manually run dbcc fix_text on the sysattributes and sysxtypes system catalogs to make the text columns in these catalogs consistent with the multibyte character sets.Sybase recommends that you configure the target server character set first, and then initiate the migration process.