Switch to standard view 
  Sybase logo
 
 
 



Urgent from Sybase: Possible data integrity issue when loading a database from a dump, affecting versions of Adaptive Server Enterprise 15.0, 12.5, and earlier

Summary: This document describes a potential data integrity issue with Adaptive Server Enterprise (ASE) that may occur when reloading a database dump that was taken using a blocksize that is greater than 256 times ASE's logical page size, and the physical layout of logical devices of the destination database differs from that of the database from which the dump was taken.


Contents

This document contains the following sections:

  • Customer Alert
  • Recommendation

Customer Alert

Under certain circumstances LOAD DATABASE may not load a database correctly. Database pages may be written to the wrong locations on the logical devices, resulting in corruption to both the database being loaded and possibly other databases that use the same logical devices as that database. In order for this to occur two specific conditions must be met.

  1. The dump is loaded into a database that has a different mapping of database fragments on the logical devices to that of the database from which the dump was taken.
  2. When the dump is created backup server reads and stores contiguous blocks of more than 256 logical pages. This can happen when EITHER:
    • The backup server used to create the dump was started with the " -m <size>" option and size is greater than the default value of 48Mb.
    • The DUMP DATABASE command used to create the dump specified the BLOCKSIZE parameter and BLOCKSIZE is greater than 256 times ASE's logical page size.

Note:

  1. The integrity of the dumps themselves is unaffected by this issue, even if -m <size> or BLOCKSIZE parameters were used. This issue only occurs as part of the LOAD DATABASE process.
  2. The only way to be certain if the dump contains contiguous blocks of more than 256 logical pages is to use LOAD DATABASE WITH LISTONLY=FULL. See the Symptoms section below for a fuller explanation.

This issue is being tracked under Sybase CR# 419772. This CR is fixed in the following EBFs, or ones that supersede them. These EBFs are not yet available. Please see the Recommendation section for information on their scheduled availability.

Platform ASE 12.5.3 ASE 15.0
EBF# (ESD# 7) EBF# (ESD# 2)
AIX 32-bit 13326 N/A
AIX 64-bit 13327 13446
HP-UX PA-RISC 32-bit 13328 N/A
HP-UX PA-RISC 64-bit 13329 13445
HP-UX Itanium 64-bit 13337 N/A
HP Tru64 13330 N/A
Linux x86 32-bit 13332 13447
Linux x86 64-bit 13339 N/A
Linux Itanium 64-bit 13336 N/A
Linux on POWER 13340 13449
Mac OS 13335 N/A
SG IRIX 32-bit 13333 N/A
SG IRIX 64-bit 13334 N/A
Solaris SPARC 32-bit 13324 13443
Solaris SPARC 64-bit 13325 13444
Solaris x86 13338 N/A
Windows x86 13331 13448

Workaround: Until the EBFs are available, or if you intend to remain on one of the affected versions of ASE after that, you should not specify a blocksize that exceeds 256 times ASE's logical page size, or you should ensure that the target database has exactly the same device mapping as the source database.

Symptoms: When the problem has occurred, ASE may report errors 692, 695, 697, or 903 on the loaded database or on other databases on the same logical devices. DBCC consistency checks will report similar errors.

Database dumps that could potentially cause corruption during loading can be identified by using LOAD DATABASE WITH LISTONLY=FULL. If such a dump is identified care must be taken to ensure that the database into which the dump is loaded has the same device mapping as the one from which it came.

Sample output of a dump which was generated with the -m backup server option specified for a 2k page server :

  'HDR2'
  Record format:        'F'
  Max. bytes/block:      8388608
  Record length:        02048
  Backup
  format version:       03

Note: The maximum bytes per block above, 8388608, is greater than 256 * 2048 (2k record length) = 524288, so this database would cause corruption were it loaded into a database with a different device mapping to the one from which it was dumped.

Sample output of a dump which was generated without the -m backup server option specified for a 2k page server :

  'HDR2'
  Record format:        'F'
  Max. bytes/block:      262144             
  Record length:        02048
  Backup
  format version:       03

Note: The maximum bytes per block above, 262144, is less than 256 * 2048 (2k record length) = 524288, so this database would NOT cause corruption were it loaded into a database with a different device mapping to the one from which it was dumped.


Recommendation

Sybase strongly recommends that the work around above or, when available, a version of ASE that has CR# 419772 fixed in it is used.

Once the EBFs are available they can be obtained from the Sybase EBFs and Maintenance site.

http://downloads.sybase.com/

Follow the instructions in the EBF cover letter to install the EBF.

For information on the availability of ASE 12.5.3 ESD# 7 and ASE 15.0 ESD# 2 please select the appropriate document below.

Target Release Schedules for ASE 12.5.x

Target Release Schedules for ASE 15.0


If you require further assistance please contact your local support center. The contact numbers can be found in the About Support section under Support & Services at the www.sybase.com website.

http://www.sybase.com/contactus/support



Copyright © 2006 Sybase, Inc. All rights reserved.



Back to Top
© Copyright 2010, Sybase Inc.