CROSS PLATFORM DUMP AND LOAD
Sybase Adaptive Server Enterprise (ASE) introduces enhanced dump and load capabilities for moving databases across different platforms or restoring backups from an ASE server on one platform to an ASE server on a different platform.
It is possible to reload databases across ASE platform combinations such as between Unix to Linux or windows platforms and between 32-bit and 64-bit architectures
There are no changes to the DUMP DATABASE function. This allows existing database dumps to be processed for the cross-platform conversion and also eliminates any need to upgrade or make changes to the source ASE server.
As for traditional dump operations, the database must be transactionally quiescent before the DUMP command is executed, and the new cross-platform load feature will check the syslog records to make sure this was the case before processing the database dump.
The recommended procedure is to:
1. Put the database in single user mode using sp_dboption
2. Run sp_flushstats and wait for the pages to be flushed
3. Checkpoint the database
4. Run DUMP DATABASE
you may familiar with the error message ‘3151 ERROR’when you load dump on a different platform.
Adaptive Server cannot load this database because the database thatwas dumpedwas not quiescent when the dump was performed. Run sp_flushstats before DUMP DATABASE and ensure that the database is not updated during the dump.
It basically requires that the database be in a quiescent state, i.e. there are no “open” or active transactions present in the log portion of the dump file and that all memory-resident database statistics are flushed to the stats tables before the dump is done.
Bear in mind that Linux on Intel, Linux on AMD or Solaris x86 to Windows or vice versa is NOT a cross-platform. The same goes for HP-UX on RISC and HP-UX on Itanium.
example to dump Testdb from HP-UX and load on Windows platform
–turn off ‘trunc log on checkpoint’ and ‘bulkcopy’ db options if necessary
1> use master
1> EXEC sp_dboption ‘TestDB’,’single user’,true
1> use audit
1> dump tran TestDB with truncate_only
1> dump database TestDB to ‘/backup2/backup.dump’