Kbase P19379: When using After imaging ( ai ) - what should be happening with the ai files ?
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  10/11/2006 |
|
Status: Verified
GOAL:
When using After imaging ( ai ) - what should be happening?
GOAL:
What series of steps are needed for switching ai files ?
FIX:
The following summarizes the steps that you should be going through when you are using ai and backing up the extents. The steps can be run manually or incorporated into a script.
When using ai - what should be happening?
1. You should be using multiple extents (at least 3 is recommended), so that when an ai extent becomes full, the db engine can automatically switch over to the next ai extent.
2. You should then (manually or with a script) backup the full extent. Prior to OpenEdge 10.1A (which introduced the AI Management utility), this can only be done using a system utility.
3. You should then mark the full extent as empty:
$ rfutil <dbname> -C aimage extent empty [extent-path].
Later Progress will be able to reuse this extent when the other extent(s) become full.
4. You should monitor the ai extent size, and periodically truncate variable-length ai extents, because this isn't done automatically when the extent is marked as empty:
$ rfutil <dbname> -C aimage truncate
This has been the cause of some confusion, because some have thought that the truncate is automatically done by the rfutil aimage extent empty. This isn't the case. When the extent is marked as empty, the system space is still allocated to it until the truncate is carried out - other processes can't then use this space. When an extent is marked as empty, the space is reused (i.e. previous ai data is overwritten), but not truncated. So in order to free up the space from the variable extents they have to be truncated after they have been backed up and marked as empty, as in the steps above.