Upgrading SQL Anywhere MobiLink clients

In a production environment, only upgrade SQL Anywhere remote databases after you have upgraded both the consolidated database and the MobiLink server.

In version 10.0.0, Adaptive Server Anywhere was renamed to SQL Anywhere.

There are several kinds of upgrade to consider:

  • Upgrading the software.
  • Upgrading the remote database itself.
  • Upgrading the whole application.
Caution

You must complete a successful synchronization just before you upgrade a database involved in MobiLink synchronization. You should also validate and back up the database.

Upgrading the software

It is recommended that you upgrade dbmlsync and the SQL Anywhere database server at the same time. You must upgrade the remote database before running the new dbmlsync utility.

Version 11 MobiLink clients require a version 11 MobiLink server for synchronization. Version 11 MobiLink clients do not synchronize with a MobiLink server earlier than version 11.

For information about upgrading MobiLink, see Upgrading MobiLink.

Upgrading the remote database

You can upgrade MobiLink SQL Anywhere remote databases as described for SQL Anywhere databases. For instructions, see Upgrading SQL Anywhere.

In some cases, such as when there is a schema change or other significant database change, you may need to perform a manual unload and reload.

To unload/reload a remote SQL Anywhere database manually

  1. Perform a successful synchronization and validate and back up the remote database.

  2. Run the dbtran utility to display the starting offset and ending offset of the database transaction log. Make note of the ending offset.

    See Log Translation utility (dbtran).

  3. Rename the transaction log. This ensures that it is not modified during the unload process. Move the renamed log file to a secure location, such as an offline directory.

  4. Unload the database.

    See Rebuilding version 9 and earlier databases for version 11.0.0.

  5. Initialize a new database.

    See Initialization utility (dbinit).

  6. Reload the data into the new database.

    See Rebuilding version 9 and earlier databases for version 11.0.0.

  7. Shut down the new database.

  8. Erase the new database's transaction log.

  9. Run dblog on the new database, using the following options:

    • Use -z to specify the ending offset that you noted earlier.
    • Use -x to set the relative offset to zero.

    For example:

    dblog -x 0 -z 137829 database-name.db

    See Transaction Log utility (dblog).

  10. Start dbmlsync, specifying the location of the original log file that you moved earlier.

    See dbmlsync syntax.

  11. When you no longer need the old log file, set the database option delete_old_logs.

    See delete_old_logs option [MobiLink client] [SQL Remote] [Replication Agent].

Upgrading applications

When deploying a new version of a MobiLink application, it is recommended that you use a new version name for the synchronization scripts. For example, if the existing application uses a script version called v1, then the upgraded application could use a script version called v2. Both script versions can be in use at the same time. This makes it easier to upgrade the remote databases incrementally, rather than all at once.

For versions 9.0.0 and later, the MobiLink server -zd option has been removed. If your deployment uses the -zd option and you want to upgrade, you must change your download scripts to accept the last download timestamp as the first parameter.