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

Home -> Community -> Usenet -> c.d.o.server -> Re: Oracle 8.1.7 ODBC can't see changes made by other process

Re: Oracle 8.1.7 ODBC can't see changes made by other process

From: Howard J. Rogers <howardjr_at_www.com>
Date: Thu, 20 Sep 2001 14:08:42 +1000
Message-ID: <3ba96b15@news.iprimus.com.au>

"Michael Wernado" <michael.wernado_at_logisoft-s.de> wrote in message news:39dfee35.0109191421.464f5360_at_posting.google.com...
> Wrong! The writing process finished its transaction correctly.

Define that statement.

Unless you mean that it issued a commit, then it didn't finish correctly. Uncommitted transactions can never be read by another process.

>Any
> Process who is started after the inserting transaction can see the
> data, but not this one which was started just before the inserting
> transaction.

Simple case.

User Scott Smith starts long-running query at 10.00:00am. User Fredericka Markewicska starts update on EMP at 10.00:03

His query chugs around various tables doing sorts, joins, aggregates, what have you.

User Frederika Markewicska commits her transaction at 10:00:23 (she'd just been for a smoke break, and had head spins, so she was working fairly furiously. At 10:01 she goes home, suffering from head spins and associated nausea. Besides, she doesn't particular like Scott).

User Katerina di Los Smerkava starts a report at 10:01:00 (actually, she's running the same report as Scott Smith, but doesn't trust his work).

User Scott Smith's report finally gets round to querying the EMP table at 10:03. It fails to detect any of Frederika's updates.

For the simple reason that at 10.00 when his report began, they weren't there.

Katerina di Los Smerkava however DOES see Frederika's updates, because although she gets to the EMP table a mere 4 seconds after Scott (that cache has got to be good for something), she started her report AFTER Frederika did her updates and vomits.

Oracle will never report on transactions in progress, nor on completed transactions which started after your report began to run. Unless you happen to be the session raising those transactions in the first place.

Hence the phrase "readers don't block writers and writes don't block readers". To which may be added the İH Rogers addendum "and readers don't know what writers are up to nor vice versa".

Regards
HJR
> Besides: With the Oracle 8.0.5 ODBC driver it works well - it seems to
> be a problem of the new oracle 8.1.7 ODBC driver or the MDAC.
>
> Michael
>
> "Jim Kennedy" <kennedy-family_at_home.com> wrote in message
news:<Bf1q7.4808$JN.18807_at_news1.sttls1.wa.home.com>...
> > Let me guess, the process writing the data has not done a commit.
> > If the process writing the data has not done a commit (completed the
> > transaction) then the process reading the data won't see it.
> > This is normal.
> > Jim
Received on Wed Sep 19 2001 - 23:08:42 CDT

Original text of this message

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