Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SAP Sybase SQL Anywhere 16.0 » SQL Anywhere 16 - Changes and Upgrading » How to upgrade to SQL Anywhere 16 » MobiLink upgrades » SQL Anywhere MobiLink client upgrades

 

Unloading/reloading a remote SQL Anywhere database manually

When there is a schema change or other significant database change, you may need to perform a manual unload and reload.

Prérequis

For version 16 databases, you must have the following system privileges:

  • BACKUP DATABASE

  • VALIDATE ANY OBJECT

  • SERVER OPERATOR

  • SELECT ANY TABLE

Follow the standard precautions for upgrading software. See Upgrade and rebuild precautions.

 Task
  1. Stop all database activity.

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

  3. 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).

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

  5. Unload the database, without using any of the dbunload -a switches to automatically reload the database into another database.

    See Unload utility (dbunload).

  6. Initialize a new database.

    See Initialization utility (dbinit).

  7. Reload the data into the new database using dbisql to read the reload.sql file generated by dbunload.

    See Interactive SQL utility (dbisql).

  8. Shut down the new database.

  9. Erase the new database's transaction log.

  10. 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).

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

    See dbmlsync syntax.

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

    See delete_old_logs option [SQL Remote].

Résultat

The remote SQL Anywhere database is unloaded and reloaded.