title: Cause of 'enq:TM contention' wait event in oracle
body: <p>While monitoring wait event in v$session, i observed number of sessions with “waiting” state and the event being “enq: TM contention”. </p>
  
  <p>Queries like following are running from different sessions and none of tables has any foreign key constraint.</p>
  
  <pre><code>INSERT /* APPEND */ INTO tabA SELECT /*+ PARALLEL(t,4) */&lt;select list&gt; FROM tabX t;   
  INSERT /* APPEND */ INTO tabA SELECT /*+ PARALLEL(t,4) */&lt;select list&gt; FROM tabY t;   
  INSERT /* APPEND */ INTO tabA SELECT /*+ PARALLEL(t,4) */&lt;select list&gt; FROM tabZ t; 
  etc
  </code></pre>
  
  <p>What is the cause of this wait event.</p>