It is possible to do a cross-platform dump and load procedure from any database dump that is at least at version 11.9.x, there are just some pre-requisites that must be met before the source database is dumped. The process requires that the database being dumped is 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.
1)Get rid of transaction log entries as we are going to do a full dump anyway:
dump transaction <DB Name> with truncate_only
go
2)Verify that the log is empty. There should be no more than 16 pages of reserved space:
use <DB Name>
go
sp_spaceused syslogs
go
3)In addition to setting to single user mode, set to truncate the log on checkpoint too (just in case):
use master
go
sp_dboption <DB Name>, 'trunc', true
go
sp_dboption <DB Name>, 'single', true
go
use <DB Name>
go
checkpoint
go
4)One more dump of transaction log to get rid of the option change entries – we just want the final checkpoint in the log:
dump tran <DB Name> with truncate_only
go
5)Clear out the database stats:
use <DB Name>
go
sp_flushstats
go
6)Wait for everything to settle at this point, then carry out a checkpoint:
checkpoint
go
7)Carry out the actual dump:
dump database to '<Dumpfile_path_and_filename>'
go
Pingback: Sybase ASE | Oracle Database Internal Mechanism