Consultor Eletrônico



Kbase 17224: Probkup With -com Reduces DB Size to Media Device Only
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   5/10/1998
Probkup With -com Reduces DB Size to Media Device Only

Probkup can be issued with a compression parameter. This parameter is
the -com option, and it is documented as follows:

-com or /COMPRESSION

Indicates that the data should be compressed prior to writing it to
the backup media.


Basically what this option does is compress the free space within a
the blocks. For the unused portion of index and record blocks, we
backup a 3 byte compression string. Free blocks are compressed to the
length of their header, which is 16 bytes. Free blocks above the high
water mark are not backed up.

Because the number of blocks backed up with the compress option can
be significantly lower than the number of blocks in the database being
backed up, this can create the illusion that when the database is
restored, that it will only restore as the number of blocks backed up.
This can be misleading because if the database is restored into the
same structure, it will restore as exactly the same number of blocks.
Although we will may only backup a portion of the block, and have the
remainder represented by the 3 or 16 byte string, we will restore the
entire block. A database can also appear to shrink if there is a
sinificant number of free blocks above the high water mark in the
database, and the backup is restored into a different structure.
Since Progress does not backup the free blocks above the high water
mark in the first place, then it is plausible that these blocks will
not be restored.

The actual documented numbers are as follows, but this can also be
misleading:
- if you use the compression parameter, you reduce the size of your
BACK UP by 10 to 40 percent depending on the database.

This may lead you to believe that the reduction in size is due to the
compression of the blocks, but this reduction in size is to the media
device only, and the database should restore to its original size.
The bottom line is that any block in the database that is populated
will restore as a whole block, even when using the -com option with
probkup.

REFERENCES TO WRITTEN DOCUMENTATION

System Administration Reference P.5-6,5-7

Progress Software Technical Support Note # 17224