----------------------------------------------------------------------

ELOQUENCE B.07.10 - patch PE71-0801242

----------------------------------------------------------------------

This patch adds enhancements or fixes defects of the dbrecover utility
as released with Eloquence B.07.10. This patch will be integrated in 
the Eloquence B.07.10 release.

Eloquence B.07.10 must be installed before applying this patch.

Severity:
 PE71-0801242: BUG FIX

Superseded patches:
 PE71-0708131: BUG FIX
 PE71-0705302: ENHANCEMENT
 PE71-0704120: BUG FIX
 PE71-0610132: BUG FIX
 PE71-0609122: BUG FIX
 PE71-0606292: BUG FIX
 PE71-0602282: ENHANCEMENT, BUG FIX


Patch PE71-0801242
------------------

Platforms: All

* Fixed a problem during incremental recovery (#3515).

  An incremental recovery could in rare cases fail with a message
  like below:

    Assertion failed: offset == data->offset
    Aborting on internal failure, file btree.c, line 2342

  This was caused by an already modified btree page not being
  skipped during the sychronization phase of an incremental
  recovery.

  In case this problem is encountered, the incremental recovery
  will correctly continue after this patch is installed.

* The dbrecover utility was modified to use a default cache size
  of 5 MB (#3499). Previously dbrecover used the cache size
  configured in the database configuration file. This could
  result in problems on HP-UX if insufficient address space
  was available.

* Added a new command line option -b <size> to specify the
  buffer cache size (in MB).

* Changed the Windows file version to "7.1.1.13"


Notes / Related patches:

- The following related patches (or superseding) should be installed
  with this patch:
  - PE71-0801240 - eloqdb6 server
  - PE71-0801241 - dblogreset utility


Patch PE71-0708131
------------------

Platforms: All

* Fixed a problem that could result in a crash of the server
  process during forward-recovery of a database restructuring
  with a log message like below (#3444):

    Assertion failed: meta->ulist_cache_used
       <= (int)node->node.ulist.num_pages

* Changed the Windows file version to "7.1.1.12"


Notes / Related patches:

- The following related patches (or superseding) should be installed 
  with this patch:
  - PE71-0708130 - eloqdb6 server
  - PE71-0705301 - dblogreset utility
  - PE71-0705231 - fwaudit utility


Patch PE71-0705302
------------------

Platforms: All

* The dbrecover utility was enhanced to support incremental 
  recovery. The dbrecover utility may be restarted and should 
  be able to continue from the previous point.
  The original dbrecover utility requires starting from the previous
  backup.

  Please note: When using incremental recovery the server process 
  MUST NOT not be started between dbrecover runs when configured 
  in a MASTER or STANDALONE role. The server may be started when 
  configured to function in a SLAVE role as this will not change 
  the data volumes.

* Changed the Windows file version to "7.1.1.11"


Notes / Related patches:

- The following related patches (or superseding) should be installed 
  with this patch:
  - PE71-0705300 - eloqdb6 server
  - PE71-0705301 - dblogreset utility
  - PE71-0705231 - fwaudit utility


Patch PE71-0704120
------------------

Platforms: All

* Purging a database could in rare cases result in a crash of the
  dbrecover utility (#3300).

  A message like below is output:
  bf_link_cluster() f_bhp->id.node_id=#xxx:P, node_id=#1:SP, ...
  Assertion failed: f_bhp->id.node_id == node_id
  server panic: Aborting on internal failure, file mpool.c, line 465

  The problem was caused by potentially reordering actions when
  recorded in the fwlog file (compared to the original transaction). 
  This could have the effect that data was unexpectedly left in the 
  page cache, owned by the purged database. This triggers a 
  consistency check.

* The dbrecover utility was enhanced to support replication up to a 
  specified point in time without previously switching the forward-
  log file (#3298).  
  
  The new -T option may be used to specify a point-in-time up to
  which dbrecover applies changes. Once this point is passed, 
  dbrecover will exit. Incomplete transactions are not applied.

  The follwing syntax is supported to specify a timestamp:

    YYYY-MM-DD [HH:MM:SS]
    MM/DD/YYYY [HH:MM:SS]
    DD.MM.YYYY [HH:MM:SS]

    Any character may be used to separate date and time. Specifying
    the time is optional (defaults to 00:00:00).

  For example:

    dbrecover -T "2007-02-22 16:53" ...

    This specifies to apply transactions committed up to Feb 22, 2007,
    16:53:00.

* Changed the Windows file version to "7.1.0.10"


Patch PE71-0610132
------------------

Platforms: All

* A rare defect was fixed that could result in a crash of the dbrecover
  utility (#3217). A message like below is output:

    Assertion failed: page_addr < vol->curr_size
    file volume.c, line 6183

  This problem could happen if the data volume was extended and the volume
  list of available blocks had to be extended as well (this is required
  around every 500 MB). During forward-recovery, the stored free-list
  information was then applied in a wrong way.

  This problem was introduced with changes to the recovery code in the
  previous patch PE71-0609121.

* Changed the Windows file version to "7.1.0.9"


Notes / Related patches:

- The following related patches (or superseding) should be installed 
  with this patch:
  - PE71-0610130 - eloqdb6 server
  - PE71-0610131 - dblogreset utility
  - PE71-0608010 - fwaudit utility


Patch PE71-0609122
------------------

Platforms: All

* The dbrecover utility was modified to implement the equivalent
  recovery procedure of eloqdb6 patch PE71-0609120.

* Changed the Windows file version to "7.1.0.8"


Notes / Related patches:

- The following related patches (or superseding) should be installed 
  with this patch:
  - PE71-0609120 - eloqdb6 server
  - PE71-0609121 - dblogreset utility
  - PE71-0608010 - fwaudit utility


Patch PE71-0606292
------------------

Platforms: All

* The dbrecover utility was modified to add support for the modified
  forward-log file format added with eloqdb6 patch PE71-0606290.

* Changed the Windows file version to "7.1.0.7"


Notes / Related patches:

- The following related patches (or superseding) should be installed 
  with this patch:
  - PE71-0606290 - eloqdb6 server
  - PE71-0606291 - dblogreset utility
  - PE71-0606293 - fwaudit utility


Patch PE71-0602282
------------------

Platforms: All

* A rare defect with forward-recovery was fixed that could result in 
  a corrupted volume set (#2999). This causes an internal consistency 
  check to fail and eloqdb6 to abort on startup with an error message
  like below:
  
    Assertion failed: page == new_vol->flist_tail
    server panic: Aborting on internal failure, file volume.c, line 3988

  This problem could happen if the data volume was extended and the
  volume list of available blocks had to be extended as well (this
  is required around every 500 MB). The recovery then missed to update
  the flist_tail field in the volume header, causing a panic the next 
  time the server was restarted.

  The dbrecover utility was fixed to correctly update the flist_tail
  field. In addition the eloqdb6 behavior was modified to detect 
  and correct this problem on startup. A notice is written to the 
  server event log file in this case.

* The dbrecover utility was modified to add support for the modified
  forward-log file format added with eloqdb6 patch PE71-0602280.
 
  The eloqdb6 server process was enhanced to use a more efficient 
  format to record index and meta data changes. 
  This enhancement results in a substantial reduction in disk space
  for the forward-log file when index entries are changed frequently.
 
  This change required a modification of the forward-log file format.
  While older forward-log files are still supported, related utility
  programs need to be updated to handle the new format.

* Changed the Windows file version to "7.1.0.6"


Notes / Related patches:

- The following related patches (or superseding) should be installed 
  with this patch:
  - PE71-0602280 - eloqdb6 server
  - PE71-0602281 - dblogreset utility
  - PE71-0602283 - fwaudit utility


Installation:
-------------

Please download the patch archive that corresponds with the installed
release.  The patch files follow the conventions below:

   PE71-0801242-hpux-ia64.tar.gz
        ^       ^    ^
        |       |    Architecture / OS specific build
        |       Operating system
        Patch ID


HP-UX:

In order to install this patch, you need to unpack it with gzip and tar.
Gzip is included with HP-UX. Installation requires root privileges.

cd /opt/eloquence6
gzip -dc /path/to/PE71-0801242-hpux.tar.gz | tar xf -

Files:

   bin/dbrecover
   share/doc/PE71-0801242-README


Linux:

In order to install this patch, you need to unpack it with tar.
Installation requires root privileges.

cd /opt/eloquence6
tar xzf /path/to/PE71-0801242-linux.tar.gz

Files:

   bin/dbrecover
   share/doc/PE71-0801242-README


Windows XP/2000/NT:

This patch should *only* be installed if you previously installed
the Eloquence server components on your system.
Installation requires administrative capabilities.

Two options are available for patch installation. The patch is
available as self extracting archive for automatic installation
and as a zip archive for manual installation. Both patches are
equivalent. Installation requires administrative capabilities.

For automatic installation of this patch, please download the patch
file PE71-0801242-win32.exe. Before installation, please consider
closing all applications, then execute the patch installation program.
Installation does not require a reboot unless the patched files
were active.

For a manual installation of the patch, please download the
patch file PE71-0801242-win32.zip and unpack its contents.
Then perform the following steps:

* Please copy the dbrecover.exe file into the bin subdirectory of your
  Eloquence installation (for example C:\Programs\Eloquence\bin).

* Please copy the PE71-0801242-README.txt file into the share\doc
  subdirectory of your Eloquence installation (for example
  C:\Programs\Eloquence\share\doc).

Files:

   dbrecover.exe
   PE71-0801242-README.txt