Reader small image

You're reading from  Oracle Database 11gR2 Performance Tuning Cookbook

Product typeBook
Published inJan 2012
Reading LevelIntermediate
PublisherPackt
ISBN-139781849682602
Edition1st Edition
Languages
Right arrow
Author (1)
Ciro Fiorillo
Ciro Fiorillo
author image
Ciro Fiorillo

Ciro Fiorillo is an IT professional and consultant with experience of more than a decade in different roles (developer, analyst, DBA, project manager, data and software architect) among software industries. He has worked on different technologies and architectures, such as Oracle, SQL Server, Delphi, C# and .NET Framework, C/C++, Java, PHP, COBOL, Fortran, and Tibco. Ciro is currently employed as Lead Software and Data Architect with FinWin Srl, a software house specializing in banking and loans applications. As a freelancer he writes articles for websites and printed magazines about software and computing, participates in workshops, and teaches C++ and Fortran parallel programming with Intel Software tools. Ciro can be reached at ciro@cirofiorillo.com.
Read more about Ciro Fiorillo

Right arrow

Investigating transactions and concurrency


In this recipe we will see more details on locking and, specifically, on deadlocks .

Getting ready

In this recipe we will use two SQL*Plus sessions, to simulate two users concurrently accessing the database.

How to do it...

This recipe deals wits transactions and concurrency. Follow these steps:

  1. Connect SESSION 1 to the database as SH user:

    -- SESSION 1
    CONNECT sh@TESTDB/sh
    
  2. Update a row on the CUSTOMERS table in SESSION 1:

    UPDATE CUSTOMERS SET
      CUST_FIRST_NAME = 'TEST1-1'
      WHERE CUST_ID = 26;
    
  3. Connect SESSION 2 to the database as SH user:

    -- SESSION 2
    CONNECT sh@TESTDB/sh
    
  4. Update a row on the CUSTOMERS table in SESSION 2, different from the one updated in step 2 by SESSION 1:

    UPDATE CUSTOMERS SET
      CUST_FIRST_NAME = 'TEST2-1'
      WHERE CUST_ID = 30;
    
  5. Try to update, in SESSION 1, the same row updated in step 4 by SESSION 2:

    -- SESSION 1
    UPDATE CUSTOMERS SET
      CUST_FIRST_NAME = 'TEST1-2'
      WHERE CUST_ID = 30;
    
  6. Try to update, in SESSION 2, the same row updated...

lock icon
The rest of the page is locked
Previous PageNext Page
You have been reading a chapter from
Oracle Database 11gR2 Performance Tuning Cookbook
Published in: Jan 2012Publisher: PacktISBN-13: 9781849682602

Author (1)

author image
Ciro Fiorillo

Ciro Fiorillo is an IT professional and consultant with experience of more than a decade in different roles (developer, analyst, DBA, project manager, data and software architect) among software industries. He has worked on different technologies and architectures, such as Oracle, SQL Server, Delphi, C# and .NET Framework, C/C++, Java, PHP, COBOL, Fortran, and Tibco. Ciro is currently employed as Lead Software and Data Architect with FinWin Srl, a software house specializing in banking and loans applications. As a freelancer he writes articles for websites and printed magazines about software and computing, participates in workshops, and teaches C++ and Fortran parallel programming with Intel Software tools. Ciro can be reached at ciro@cirofiorillo.com.
Read more about Ciro Fiorillo