Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: Changing isolation level? ++ scenarios
While stranded on information super highway Ryan Gaffuri wrote:
:)vslabs_at_onwe.co.za (Billy Verreynne) wrote in message news:<1a75df45.0312042357.5c158776_at_posting.google.com>...
:)> "mcstock" <mcstock @ enquery .com> wrote in message
:)>
:)> > lots of good discussion, but no one has yet addressed the basic issue: no
:)> > matter what isolation level is available, data can change immediately after
:)> > the read
:)> <snipped>
:)>
:)> Interesting scenarios, but one that cannot just be solved by database
:)> locking. DB locking & isolation levels are the tools. The
:)> *application* must put them to proper use.
:)>
:)> So what should the app do then?
:)>
:)> Which brings us to the The Real Question - *how* the business wants to
:)> handle the scenario you describe.
:)>
:)> The real problem is conflict between sales - and that needs a business
:)> decision on how it must be resolved. After which the app does it using
:)> business logic and isolation levels in the database.
:)>
:)> For example. Bob serves Customer A. Jack Customer B. Customer A is a
:)> corporate client. B is the shop around the corner. Who gets product
:)> volume preference?
:)>
:)> Another example. Sales may want to see what the current product
:)> figures are that are being negiotated for sale. I.e. while you talk to
:)> your client, you enter the product volumes you want to sell. A
:)> running total is updated on your screen every few seconds showing the
:)> current product volume available versus the sum of what sales are busy
:)> being negotiated.
:)>
:)> The bottom line IMO is information. Provide the business with
:)> information in order for them to make their decisions. Isolation
:)> levels are not an issue - not if you use Oracle correctly and not if
:)> you design your app & database correctly.
:)
:)Oracle forms handles this by forcing you to re-query data if the data
:)has changed before you can perform DML. go to www.fatcity.com and sign
:)up for the DEV2K listserv. Ask them how Oracle wrote the code to do
:)that. Im not sure.
We tried the same solution. After successful SELECT, it will try to re-query before performing DML, and that seems to have solved this problem.
-- Hemant Shah /"\ ASCII ribbon campaign E-mail: NoJunkMailshah_at_xnet.com \ / --------------------- X against HTML mail TO REPLY, REMOVE NoJunkMail / \ and postings FROM MY E-MAIL ADDRESS. -----------------[DO NOT SEND UNSOLICITED BULK E-MAIL]------------------ I haven't lost my mind, Above opinions are mine only. it's backed up on tape somewhere. Others can have their own.Received on Fri Dec 05 2003 - 09:38:49 CST