Hotsos Symposium Speaker – Mark Farnham

Mark Farnham is a returning Hotsos Symposium presenter.


Mark FarnhamOracle ACE, Mark W. Farnham, is a native of Dunkirk, NY where he attended public schools and enjoyed the rich musical and farming heritage of Chautauqua County. After graduating with a dual major in physics and biology from Dartmouth College in 1977, Mark became interested in computer science and database technology. Mark began using Oracle at DTSS in the late 1980's and helped Burlington Coat Factory Warehouse move from DTSS to Unix and Oracle from 1989 to 1994. Mark was one of the founders of the OAUG and participated in Oracle's VLDB group and MOSES.

In 1994, Mark co-founded Rightsizing, Inc. with Jerry Ireland where Mark continues as president to this day. Rightsizing helps businesses make smart use of Oracle technology, and Mark often is called upon when high throughput and massive migrations are involved. Mark is a frequent contributor to oracle-l and is proud to be a member of the OakTable Network and co-founder of the APPSPERF consortium. Mark continues his service to the OAUG as a board member of the OAUG DBSIG and was awarded the OAUG Lifetime Service Award in 2010. Mark is currently serving as a board member of the IOUG.

Mark's handle on Twitter and YouTube is pudge1954, and he is pudge on OTN. Mark's written papers on performance began in 1981 when he developed a pruning algorithm to solve best fits of piecewise linear regressions by excluding large ranges of the potential solution space early. (Respiration Physiology Volume 47 Issue 1, January 1982, pp 97-106). Mark's public speaking on Oracle performance began at the 1990 IOUW in Anaheim, CA, speaking on managing many databases on many disk drives. Most recently, Mark presented at MOTS, Kscope11, RMOUG Training Days 2012, Hotsos Symposium 2012, Collaborate 2012, and OOW 2012.

Presentation Title

Systematically Avoiding Deadlocks to Achieve Superior Performance


Oracle does a wonderful job of detecting and handling deadlocks generated by applications. But you still have to resubmit any changes rolled back after untangling the deadlock. Better performance can be achieved by avoiding deadlocks in the first place.

Establishing an enterprise-wide order of tables and row order within the tables helps minimize deadlocks. This relatively simple concept applied with discipline across all applications in an enterprise limits the possibility for trivial deadlocks and sets the stage for avoiding more complex deadlocks.

Remote submission of complete logical units of work and ensured multistage completion of transactions with business rules requiring an order of update different from the table and row order are additional techniques to improve concurrency, reduce locking delays, and further reduce transactionwork that must be resubmitted after a deadlock is resolved.

Employing these methods will reduce the possiblity of application deadlocks to a few scenarios involving things like partially overlapping sets of rows or deferred constraints in support of a questionable schema design, while failing to employ a design method to avoid deadlocks can make the generation of deadlocks common and chronic. Because deadlocks do not routinely appear in unit testing, this principle is important to avoid surprises in production.

Presentation Materials

Presentation materials are available online to attendees only.


The speaker schedule is as follows: