Skip to content
pvmehta.com

pvmehta.com

  • Home
  • About Me
  • Toggle search form
  • fkwoindex.sql /* Find FK without Index */ Oracle
  • V$CONTROLFILE_RECORD_SECTION reference notes. Oracle
  • Find long Running Transaction Linux/Unix
  • Reclaim temp tablespace for oracle 8, 8i Oracle
  • Temporary Tablespace Information and restriction. Oracle
  • RMAN : Consistent Backup, Restore and Recovery using RMAN Oracle
  • run this before doing any dbchange pvm_pre_change.sql Oracle
  • EXTPROC Oracle
  • All About oracle password and security from metalink Oracle
  • good linux notes Linux/Unix
  • Parallel DML Oracle
  • Drop specific SQL plan baseline – spm Oracle
  • Display the top 5 salaries for each department using single SQL Oracle
  • SQL_PROFILE – I explaination Oracle
  • get_aix_vmstat.ksh Oracle

Insert cause enqueue locks

Posted on 23-Apr-2008 By Admin No Comments on Insert cause enqueue locks

Here is a much simpler version:

——————————-

Create table t1 (c1 number primary);

session1:

insert into t1 values (1);

session2:

insert into t1 values (1);

— would hang

v$lock would reveal session 1 blocking session2 on TX lock

why? because you have a constraint where you are asking Oracle to check uniqueness of data (unique index/unique constraint / primary key).

So Oracle looks as session-2’s data and checks the existing data..it sees session-1’s data uncommitted. Now Oracle doesn’t know if session-1 would commit or rollback. so it has to wait. this is by design.its always been like this.(so session 2 has to enqueue behind session 1 )

if session-1 commits, session would fail since unique key constraint is violated..if session-1 rolls back, session-2 would go through fine.

Its a lock based on “data” . It doesn’t matter what your statement is..(“insert into table values..” or “insert based on select” )..the behavior would be the same.

You don’t see the 2 sessions blocking each other (inserting the same key) when you don’t have any consistency checks (unique index/constraint). Oracle knows it can allow any data..so no locks based on data.

Reference : http://hemantoracledba.blogspot.com/2007/10/inserts-holding-locks-inserts-waiting.html

Oracle, SQL scripts

Post navigation

Previous Post: Reclaim temp tablespace for oracle 8, 8i
Next Post: alter database backup controlfile to trace

Related Posts

  • create database syntax Oracle
  • On solaris 10, “S” link is not part of $ORACLE_HOME/bin/oracle as default. ( For 9.2.0.8) Oracle
  • eplan9i.sql Oracle
  • before_trunc.sql Before Truncate table needs to execute following: Oracle
  • Vivek Tuning for Row Locks. Oracle
  • ORACLE_SID in sqlplus Oracle

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Categories

  • Ansible (0)
  • AWS (2)
  • Azure (1)
  • Linux/Unix (149)
  • MYSQL (5)
  • Oracle (393)
  • PHP/MYSQL/Wordpress (10)
  • POSTGRESQL (0)
  • Power-BI (0)
  • Python/PySpark (7)
  • RAC (17)
  • rman-dataguard (26)
  • shell (149)
  • SQL scripts (342)
  • SQL Server (6)
  • Uncategorized (0)
  • Videos (0)

Recent Posts

  • Trace a SQL session from another session using ORADEBUG30-Sep-2025
  • SQL Server Vs Oracle Architecture difference25-Jul-2025
  • SQL Server: How to see historical transactions25-Jul-2025
  • SQL Server: How to see current transactions or requests25-Jul-2025
  • T-SQL Vs PL/SQL Syntax25-Jul-2025
  • Check SQL Server edition25-Jul-2025
  • Checking SQL Server Version25-Jul-2025
  • Oracle vs MYSQL Architecture differences (For DBAs)24-Jul-2025
  • V$INSTANCE of Oracle in MYSQL24-Jul-2025
  • Day to day MYSQL DBA operations (Compared with Oracle DBA)24-Jul-2025

Archives

  • 2025
  • 2024
  • 2023
  • 2010
  • 2009
  • 2008
  • 2007
  • 2006
  • 2005
  • Specify the Rollback segment to use in Transaction Oracle
  • Renaming Global Name GLOBAL_NAME Oracle
  • tblwopk.sql tablewopk.sql Oracle
  • To see only files and/or folders using LS command Linux/Unix
  • SCRIPT TO LIST RECURSIVE DEPENDENCY BETWEEN OBJECTS UTLDTREE.sql Oracle
  • temp_use.sql diplays usage of temp ts Oracle
  • Generate SSH without password authentication. Linux/Unix
  • Export Import with QUERY Oracle

Copyright © 2025 pvmehta.com.

Powered by PressBook News WordPress theme