Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium


Lotus Notes ver. 6.5.1 - Need advice/direction on best transaction recovery process.

Posted on 2005-03-23
Medium Priority
Last Modified: 2013-12-18
Hello...Could someone provide a brief explanation or provide a url that offers a possible direction on how to recover from an error on a  "batch' update.  We do not want to rely on restoring from back-ups as this "batch' update is run multiple times each day.  

I have a button on a form that launches lotusscript that reads/updates many detail records (documents)....if for some reason the process errors half way thru the batch, I need a means of fast recovery, to restore the updated documents to their original state.

In a true database environment, one can use commit/rollback.    

I can only see writing a separate piece of code that identifies the documents updated and undo everything the original code put in place.

Is there any other means of "file" restoration.  

Writing perfect code that never allows an error is one solution.....is there any other?

Question by:BeastDan
  • 2
  • 2
LVL 46

Accepted Solution

Sjef Bosman earned 600 total points
ID: 13613023
There is Transaction logging in Domino, mainly for backup and recovery procedures. There's no commit/rollback in Domino. What is the reason for you to want to have one transaction of multiple updates? The next best think would be to update documents twice. Are there many relations between documents?

LVL 31

Assisted Solution

qwaletee earned 400 total points
ID: 13613454
you can only do "rollbacks" using Archive-style transaction logging, and even then, it has to be done "in cooperation" with backup software that does the point-in-time restores from tha backed-up archive transaction logs.  So, if yuo don't want to do restores, you may be stuck.  You can do the restores from diaks instead of tape, if your backup software supports that, and if it works well with your IT backup strategy.

Otherwise, I suggest taking a copy of each document before updating it, in a run-specific database.  You can then have a simple restore script.  You might wat to have some way of flagging whether a document's last update was via your batch job or a user action, so your restore does not write over subsequent user changes. or, rewrite the job so it can pick up where it left off, instead of starting over (that would bullet-proof most things, no?)

Author Comment

ID: 13613611
There are parent child relationships.......

The user keys in a "Summary" type document, containing fields representing different total amounts, then they key in one to many "Detail" type documents.
When they are finished creating the "Detail" type documents, the user selects a "Balance" button.  The script reads all of the "Detail" type documents, totalling different numeric fields.  These totalled fields are then compared to the "Summary" fields.  If the fields are in agreement, the user is then permitted to then launch code that applies the Detail type document data for updates to other existing documents.

On one test, halfway thru applying the updates, a type mismatch error derailed the process.
To recover manually is a tedious process.

I will write a separate process that identifies what documents were modified, and undo the updates that originally occurred.

I just wanted to make sure there was not a system in place to facilitate the restoration process.


LVL 46

Expert Comment

by:Sjef Bosman
ID: 13613822
Wouldn't it be a lot simpler to verify totals using a view and viewentries? No offence meant...

Okay, assuming that Detail works, as well as Balance, the error occurred in the "Update other documents" code? Why do so many documents need to be updated? Is the database document structure suitable for Notes, didn't you devise a structure that is more of a relational type? If the database already exists and is operational for some time, then we'd have to stick with it, otherwise I'd like to suggest to you to present (some of) the database's ERD here.

It is always good to build in error traps, using
    On Error Goto label

Author Comment

ID: 13613987
The developers never had much say in this, but we always believed Lotus Notes was not the proper tool for this task.  Software that has commit/rollback features would be suitable.  Employees with Notes experience have gone on to greener pastures.  I have had little formal training.

I will flag documents that were updated and then undo the updates that occurred.
Just making sure what the options were.


Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

For Desktop Techs: How to retain a user's Notes configuration data when swapping out the end user's computer. (Assuming that you are not upgrading to a completely different version of Notes client) All you need to do is: 1) install Notes o…
You’ve got a lotus Domino web server, and you have been told that “leverage browser caching” is a must do. This means that we have to tell the browser everywhere in the web to use cache. In other words, we set (and send) an expiration date in the HT…
This Micro Tutorial will teach you how to add a cinematic look to any film or video out there. There are very few simple steps that you will follow to do so. This will be demonstrated using Adobe Premiere Pro CS6.
Whether it be Exchange Server Crash Issues, Dirty Shutdown Errors or Failed to mount error, Stellar Phoenix Mailbox Exchange Recovery has always got your back. With the help of its easy to understand user interface and 3 simple steps recovery proced…
Suggested Courses

580 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question