Ratnesh I assume you are using the JDBC interface, rather than J2EE. You may want to consider buying the book "Java Programming with Oracle JDBC" by Donald Bales. He devotes a chapter to this subject. One issue he raises that will limit your options is whether you have other applications besides your Web-based application accessing this database. If not, that gives you additional flexibility. Bales distinguishes between locking and detection. He contends that locking alone does not solve the problem of multiuser data access integrity, and offers several examples to support his contention. He then outlines 3 methods for employing detection. He defines detection as the ability to detect if data you are about to modify has changed since the point when you selected it to be updated. 1. Pessimistic. Use an updatestamp 2. Pessimistic. Compare all the columns in the table or attributes of an object with their original values. 3. Optimistic. Compare only modified columns or attributes in a WHERE clause.
I wish I could speak from experience, but I think this author has studied this issue in more detail than I could. Dennis Williams DBA Lifetouch, Inc. [EMAIL PROTECTED] -----Original Message----- Sent: Tuesday, July 23, 2002 8:53 AM To: Multiple recipients of list ORACLE-L Hi I'm not very familiar with web based application development. One of our programmers has asked me a question regarding locking issues in web based applications.In a typical scenario , users access the oracle database thro a browser via app-svr/web-svr . Connection pooling is implemented on the web-svr to support large no of users. If a user locks some objects via updates or deletes , then kills his browser , the objects remains locked. The question is how to design the system such that abnormal client browser termination does not lock any objects.One solution is not to lock objects at all , and commit immediately after update if the object timestamp has not changed .But this approach is suitable only for short & sweet transactions. Connection timeout is too time-taking for intensive applications to be of any use. There must be other better ways of doing this. I need your suggestions. TIA, ratnesh ----------------------------------------------- Ratnesh Kumar Singh Sr. Software Engineer Patni Computer Systems Ltd TTC Mahape , Navi Mumbai Work : (91 22) 7611090/110/128/350 Ext. 2107 Home : (91 22) 8662162 http://www.patni.com World-Wide Partnerships. World-Class Solutions. ----------------------------------------------- -- Please see the official ORACLE-L FAQ: http://www.orafaq.com -- Author: Ratnesh Kumar Singh INET: [EMAIL PROTECTED] Fat City Network Services -- (858) 538-5051 FAX: (858) 538-5051 San Diego, California -- Public Internet access / Mailing Lists -------------------------------------------------------------------- To REMOVE yourself from this mailing list, send an E-Mail message to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing). -- Please see the official ORACLE-L FAQ: http://www.orafaq.com -- Author: DENNIS WILLIAMS INET: [EMAIL PROTECTED] Fat City Network Services -- (858) 538-5051 FAX: (858) 538-5051 San Diego, California -- Public Internet access / Mailing Lists -------------------------------------------------------------------- To REMOVE yourself from this mailing list, send an E-Mail message to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing).