Subject: | |
From: | |
Reply To: | |
Date: | Mon, 23 Jun 2008 00:11:03 -0500 |
Content-Type: | text/plain |
Parts/Attachments: |
|
|
The lock area in the DBG has limited space. Also, I would venture to say
that your longer transactions would actually overflow the undo log area. I
seem to remember that you could play with the XM logfile settings, but even
that is going to be prone to overflow.
I'm a little perplexed about your usage of DBXBEGIN, DBLOCK (MR of course,)
then DBEXEND and finally DBUNLOCK. I would suggest you loop you
DBLOCK/DBUNLOCK inside the DBXBEGIN/DBXEND transaction pair.
Another way would be to move the loop of transaction outside the
DBXBEGIN/DBXEND pair.
Is there a reason all the updates make up a single transaction?
Denys
-----Original Message-----
From: HP-3000 Systems Discussion [mailto:[log in to unmask]] On Behalf
Of Brian Donaldson
Sent: Sunday, June 22, 2008 9:50 PM
To: [log in to unmask]
Subject: [HP3000-L] TurboIMAGE Error -- DBLOCK Mode5 -- 62 error code
My app DBOPEN's two databases, lets call them BASE-1 and BASE-2
The logic goes like this --
DBOPEN base-1
DBOPEN base-2
A single DBXBEGIN across BASE-1 and BASE-2
BASE-1 is DBLOCKed @ mode3 level
BASE-2 is DBLOCKED @ mode5 level
Loop here for as many entries in dataset of BASE-1
BASE-1 dataset is DBUPDATEd
BASE-2 dataset is DBPUT
end of loop
DBXEND across both bases
DBUNLOCK BASE-1
DBUNLOCK BASE-2
DBCLOSE BASE-1
DBCLOSE BASE-2
Works great when processing just a few hundred entries, but when trying to
do a mass update (processing a number of entries whose entry count > 2600)
then the DBLOCK mode5 on BASE-2 fails with a 62 error code (DBG Full)
Anyone have an idea how to get around this problem?
TIA as always,
Brian.
* To join/leave the list, search archives, change list settings, *
* etc., please visit http://raven.utc.edu/archives/hp3000-l.html *
* To join/leave the list, search archives, change list settings, *
* etc., please visit http://raven.utc.edu/archives/hp3000-l.html *
|
|
|