[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference orarep::nomahs::dec_data_distributor

Title:The Replication Option for Rdb
Notice:Product renamed to Replication Option for Rdb
Moderator:BROKE::PROTEAU
Created:Wed Mar 02 1994
Last Modified:Wed Jun 04 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:287
Total number of notes:1231

249.0. "Running of RUJ" by UKVMS3::PJACKSON (Oracle UK Rdb Support) Fri Nov 08 1996 10:51

    A customer using V6.0 does 30 trnasfers a night. The last one does a
    purge. One night the last didn't run, so no purge. When next run it
    fell over because the .RUJ grew too big. They moved the .RUJ to a disk
    with more space, but it still failed. RDB$SYSTEM is now around 3.3
    million blocks!
    
    How can they get around this? Does it need the checkpointing feature,
    and will the restrictions on checkpointing prevent it from working? Are
    these restrictions lifted in V7?
    
    Peter
T.RTitleUserPersonal
Name
DateLines
249.1Title should be Running out of RUJUKVMS3::PJACKSONOracle UK Rdb SupportFri Nov 08 1996 11:062
    They cleared the problem by finding an empty disk for the .RUJ and 
    deleting all the rows of rdb$changes.
249.2BROKE::PROTEAUJean-Claude ProteauFri Nov 08 1996 16:4646
Peter,

Re: 249.0:

>    A customer using V6.0 does 30 trnasfers a night. The last one does a
>    purge. One night the last didn't run, so no purge. When next run it
>    fell over because the .RUJ grew too big. They moved the .RUJ to a disk
>    with more space, but it still failed. RDB$SYSTEM is now around 3.3
>    million blocks!
>
>    How can they get around this? Does it need the checkpointing feature,
>    and will the restrictions on checkpointing prevent it from working? Are
>    these restrictions lifted in V7?

By "get around this" I take it you were asking how can they extricate themselves
from the immediate problem, the size of the RUJ file getting too large.  From
your reply, below, it appears they have found their own solution: a big disk.

Perhaps what we need to do in the Replication Option is to alter the manner
in which the purging is done.  Right now it is done in a single transaction.
Maybe we need a customer-definable limit to the number of rows to be deleted
in a single transaction.  I've never looked into doing something like this.
It would need support from Rdb to be able to do something such as

    DELETE FROM RDB$CHANGES WHERE ... LIMIT TO 1000.

It's the LIMIT TO I've never tried with a DELETE.  If that works, we could
change Replication Option behavior during purging.  I'll put this on our list
of potential product enhancements for some future version.

Re: 249.1:

>    They cleared the problem by finding an empty disk for the .RUJ and 
>    deleting all the rows of rdb$changes.

I worry when you say "by deleting all the rows of rdb$changes".  Was the dele-
tion done by the copy process or did the customer do it using interactive SQL?
We never delete ALL the rows from RDB$CHANGES.  Even if all of them have been
processed, we always leave the last transaction in place.  We do that so that
we can perform a sanity check the next time the transfer is reexecuted.  We
expect to find that last transaction in the RDB$CHANGES table, even though
we skip over it.  If that transaction is not there, it is assumed that the
nuight operator removed the source database and mistakenly replaced it with
a different copy (an earlier backup copy, for example).

- Claude
249.3UKVMS3::PJACKSONOracle UK Rdb SupportMon Nov 11 1996 12:0820
>It would need support from Rdb to be able to do something such as

>    DELETE FROM RDB$CHANGES WHERE ... LIMIT TO 1000.

>It's the LIMIT TO I've never tried with a DELETE.  If that works, we could
>change Replication Option behavior during purging.  I'll put this on our list
>of potential product enhancements for some future version.
    
    LIMIT TO does not seem to work with DELETE. However it should be
    possible to achieve the effect using a compound statement with a FOR
    loop.
    
>I worry when you say "by deleting all the rows of rdb$changes".  Was the dele-
>tion done by the copy process or did the customer do it using interactive SQL?
    
    Interactive SQL. I didn't recommend it, nor did they ask me before
    they did it. I would have suggested a dummy transfer with a purge.
    
    Peter
    
249.4NOVA::SMITHIDon't understate or underestimate Rdb!Fri Nov 15 1996 15:044
Claude DELETE ... LIMIT TO can be done from BLR very easily (and has been
possible since Rdb V1.0!)

Ian
249.5GoodBROKE::PROTEAUJean-Claude ProteauFri Nov 15 1996 15:282
    
    I assumed so, Ian.  Thanks.  I'll have to look into that for 8.0.