Backup: Impossible to restore if using segmented log files?

Basil Bourque (7/22/08 2:48PM)


Basil Bourque (7/22/08 2:48 PM)

I cannot find a way to restore from a backup, and then roll forward,
when using segmented log files created with the "New Log File"
command.

Either I'm a backup klutz, or segmented log files are unsafe to use.

Stefan Lucke seems to have found the same thing:

http://thread.gmane.org/gmane.comp.lang.inug-4d.tech/42780/focusC054

---|  Background  |----------------

- 4D 2004.3 added commands "New Log File" and "Integrate Log File".

-- Mysteriously these only work on 4D Server, not 4D Standalone.

-- They cannot be called from 4D Client either, you must use 4D Client
to run a method that calls "Execute on Server" to run another method
that calls either  "New Log File" and "Integrate Log File".

- 4D 2004.4 fixed problems.

---|  Required  |----------------

You must use these commands in _either_ of two cases:

(a) You want to use a so-called "Mirror Machine" to have a second 4D
Server (requiring a second license) to keep up in near time with
changes happening on your live (production) server. The mirror idea is
documented in the 4D Server (>= 2004.3) manual.

(b) You find it unacceptable for your live server to automatically
launch into a full backup when the data changes accumulated to the
point where the log file hits its 2-gig limit. For us, that backup
means a half-hour where the database appears frozen/crashed to the
users.

---|  Problem  |----------------

Using 4D Server 2004.7r3 on Windows Server 2003, I created a simple
little scratch database (1 table, 1 field, no records) to:

- Backup a few times.

 (Choose the File > Backup menu item on 4D Server gui)

- Segment a few times. For example on backup 0003, create segments
such as [0003-0001] [0003-0002] and [0003-0003].

 (On 4D Client, run code that runs code on sever to call "New Log
File".)

- Backup again. in our example, 0004.

 (Choose the File > Backup menu item on 4D Server gui. Note that 4D
creates a mysterious .4BL file.)

- Create a record that says "After BK 0004".

- Quit 4D Server

- Restore from backup 0002.

 (Start 4D Server without a database, click the Restore button on
Welcome screen, click the browse button, locate 0003.4BK, re-direct to
a special folder, and restore.)

- Roll forward to regain all data including that record that says
"After BK 0004".

 (This I cannot do. I do not know what log file to open. Even if I
create a new log file, I have the next problem: Trying to integrate
that last numbered segmented log file that is not a segmented log file
(the .4BL) file causes 4D Server to report an error about the log file
not matching the database.)

After multiple contacts with 4DI Tech Support, they have not been able
to explain the correct sequence of steps to take, nor have they
directed me to specific documentation on how to restore and roll
forward from segmented log files.

---|  Question  |----------------

Has anyone figured out a way to have the benefits of both:

(1) 4D Backup backing up the 4D Server in the middle of every night,
and

(2) Segmented log files?

---|  Doc Bug  |----------------

By the way, a doc bug: The manuals in multiple places talk about a
segmented log file numbered with zeroes, such as [0004-0000]. It is
true that the first backup is numbered all zeroes, but log files start
at 0001. Never in all my hours of experimenting did I get anything
whose name contained a hyphen and four zeroes. This is another clue
that perhaps this feature was not fully tested by 4DI.

Another doc problem is that the 4BL is not documented. When someone
raised this question on the nug, a 4D person said it was in the doc,
in the User ref. But searching "4BL" in the following manuals fails to
provide any specifics: 4D 2004 User Ref (bullet item on p328 but does
not say what to do with it), 4D 2004.6 Language Ref, 4D 2004 Design
Ref, 4D Server 2004.5.

--Basil Bourque

 http://www.GridsGoneWild.com/

Reply to this message

Summary created 7/22/08 at 6:21PM by Intellex Corporation

Comments welcome at: feedback@intellexcorp.com