If you’re loading a database from another O/S, not only does the dump file need to be created in a quiesced state, but after the load we need to issue the sp_post_xpload command to rebuild any corrupted indexes that maybe present.
Start by loading the database as usual:-
load database <DB Name> from "compress::<Dumpfile_Path_and_Filename>"
You’ll notice many cross-platform conversion messages in the output:-
Started cross-platform conversion for database .
Started cross-platform conversion for system objects.
Cross-platform conversion for database : 926 pages completed.
Completed cross-platform conversion for system objects.
Started cross-platform conversion for user objects.
Cross-platform conversion for database : 10072 pages completed.
Cross-platform conversion for database : 20272 pages completed.
Completed cross-platform conversion for log records.
Completed cross-platform conversion for database .
Once the load is completed, issue ONLINE DATABASE command to bring the database online:-
online database <DB Name>
During online database you would notice many informational message mainly about index rebuild but at the last you’ll see following message:-
WARNING: One or more indexes on user tables may have been marked as 'suspect' making these indexes unusable. Use the sp_post_xpload stored procedure to check and rebuild these indexes.
Database '' is now online.
Above warning requests for executing sp_post_xpload procedure to check and rebuild all the indexes that were not rebuild during ONLINE DATABASE command.
One thought on “Sybase ASE – Load Database from a Cross-Platform Dump File using sp_post_xpload”
Pingback: Sybase ASE | Oracle Database Internal Mechanism