Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.misc -> Re: changing the isolation level

Re: changing the isolation level

From: Galen Boyer <galen_boyer_at_yahoo.com>
Date: 4 Feb 2007 10:56:18 -0600
Message-ID: <utzy1ofc4.fsf@rcn.com>


On Sun, 04 Feb 2007, lehmannmapson_at_cnm.de wrote:
> Hello,
>

>>>Think of a script, that generates invoices montly. Lets say you have
>>>a average volume of $1000 dollar. So if a run of the script in the
>>>next month just returns a volume of $200 you can be pretty sure, that
>>>something has gone wrong. But if you cannot see this until you
>>>confirmed all the stuff, then it is too late to revoke it.
>> Then in ORACLE use a staging table.
>> the load application loads the staging table and commits. (it
>> can even
>> exit at this point.)
>> the validation application reads the staging table and approves
>> the
>> changes by inserting them in the final tables, or disapproves (maybe
>> generates error reports?), and finally deletes the rows from the
>> staging table.

>
> I'm not generating data for fun! There are several records
> changed while the data is generated. And as long as I haven't
> committed the transaction I can perform checks and rollback
> everything. But if I'm putting everything in a staging table,
> commit the transaction (so the other process can read the data in
> the staging table) and if I detect errors then, I don't have that
> option to rollback. And then there is no way back to the original
> data. Think of a hash-function where you can't get the original
> string from the hash, so you have to check it in advance.

Then your two processes need to share the same connection. Plain and simple. There is never a reason to read uncommitted data outside the process which is holding the transaction.

-- 
Galen Boyer
Received on Sun Feb 04 2007 - 10:56:18 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US