#5 Online Database File Compaction
Posted: Tue Sep 07, 2010 1:41 pm
We have recently identified a problem with online database file compaction that can jeopardize the integrity of the file being compacted.
Description:
If a transaction containing deletes against a map file committed concurrently with compaction instantiation and validation of that map file, it was possible for file addresses that were no longer valid to be added to the freespace index of that map file, that when subsequently used by create operations would cause overwriting of valid objects.
Recommended Actions:
Until the hot fix has been applied to your environment(s) we recommended that you do not execute a file compaction online when it is possible that concurrent online transactions can delete objects in that file. Optionally, the file can be quiesced using DbFile::changeAccessMode and compacted while the system is running, however any attempted updates to the quiesced file will encounter an exception.
If you have recently executed any online file compaction operations we strongly recommend that you perform a physical certification of the files compacted or the entire database in a post compaction backup of the database as soon as possible. If file certification reports errors please contact JADE Support for advice.
Product Resolution:
This issue is addressed by hot fixes 6.2.18.012 and 6.3.4.032. Updating compaction file instantiation and validation now occurs entirely within a database quiet point; that is, while transaction activity is suspended. The fix will be included in the 6.2.19 and 6.3.5 releases.
Description:
If a transaction containing deletes against a map file committed concurrently with compaction instantiation and validation of that map file, it was possible for file addresses that were no longer valid to be added to the freespace index of that map file, that when subsequently used by create operations would cause overwriting of valid objects.
Recommended Actions:
Until the hot fix has been applied to your environment(s) we recommended that you do not execute a file compaction online when it is possible that concurrent online transactions can delete objects in that file. Optionally, the file can be quiesced using DbFile::changeAccessMode and compacted while the system is running, however any attempted updates to the quiesced file will encounter an exception.
If you have recently executed any online file compaction operations we strongly recommend that you perform a physical certification of the files compacted or the entire database in a post compaction backup of the database as soon as possible. If file certification reports errors please contact JADE Support for advice.
Product Resolution:
This issue is addressed by hot fixes 6.2.18.012 and 6.3.4.032. Updating compaction file instantiation and validation now occurs entirely within a database quiet point; that is, while transaction activity is suspended. The fix will be included in the 6.2.19 and 6.3.5 releases.