title: "No more data to read from socket" error while deleting record in Oracle
body: <p>I have implemented function based unique index.</p>
  
  <pre><code>CREATE UNIQUE INDEX "UK_ACCOUNT_TYPE" ON "ACCOUNT" (
      CASE "ACTIVE"
        WHEN '1'
        THEN "FK_PARTNERID"
        ELSE NULL
      END,
  
      CASE "ACTIVE"
        WHEN '1'
        THEN "TYPE"
        ELSE NULL
      END
  );
  </code></pre>
  
  <p>[Note: FK_PARTNERID is foreign key. Basically we want to keep only 1 record active for specific type of user(FK_PARTNERID) and specific type of account(TYPE).]</p>
  
  <p>After that, if I try to delete a record from this table, it disconnects from server and gives such error: "No more data to read from socket. Commit failed."</p>
  
  <p>I have to reconnect the client to server.
  This issue occurs when I try to delete record from coding also.</p>
  
  <p>Insert/Update/Select statements work normally.</p>
  
  <p>If I drop this index, deletion works fine.</p>
  
  <p>Oracle server version is 11g (11.2.0.3)</p>
  
  <p>Here is log showing in SQL Developer:
  <img src="https://i.stack.imgur.com/3Bl3k.jpg" alt="enter image description here"></p>
  
  <p>Here is listener alert log: (from path: /opt/oracle/product/diag/tnslsnr/dev-vm/listener/alert)</p>
  
  <pre><code>&lt;msg time='2013-10-04T14:43:04.079+00:00' org_id='oracle' comp_id='tnslsnr'
   type='UNKNOWN' level='16' host_id='dev-vm'
   host_addr='192.168.56.101'&gt;
   &lt;txt&gt;04-OCT-2013 14:43:04 * service_update * ORCL * 0
   &lt;/txt&gt;
  &lt;/msg&gt;
  &lt;msg time='2013-10-04T14:43:20.365+00:00' org_id='oracle' comp_id='tnslsnr'
   type='UNKNOWN' level='16' host_id='dev-vm'
   host_addr='192.168.56.101'&gt;
   &lt;txt&gt;04-OCT-2013 14:43:20 * (CONNECT_DATA=(SID=orcl)(CID=(PROGRAM=JDBC Thin Client)(HOST=__jdbc__)(USER=glassfish))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.56.101)(PORT=45602)) * establish * orcl * 0
   &lt;/txt&gt;
  &lt;/msg&gt;
  &lt;msg time='2013-10-04T14:44:01.112+00:00' org_id='oracle' comp_id='tnslsnr'
   type='UNKNOWN' level='16' host_id='dev-vm'
   host_addr='192.168.56.101'&gt;
   &lt;txt&gt;04-OCT-2013 14:44:01 * service_update * ORCL * 0
   &lt;/txt&gt;
  &lt;/msg&gt;
  &lt;msg time='2013-10-04T14:44:04.115+00:00' org_id='oracle' comp_id='tnslsnr'
   type='UNKNOWN' level='16' host_id='dev-vm'
   host_addr='192.168.56.101'&gt;
   &lt;txt&gt;04-OCT-2013 14:44:04 * service_update * ORCL * 0
   &lt;/txt&gt;
  &lt;/msg&gt;
  &lt;msg time='2013-10-04T14:44:34.128+00:00' org_id='oracle' comp_id='tnslsnr'
   type='UNKNOWN' level='16' host_id='dev-vm'
   host_addr='192.168.56.101'&gt;
   &lt;txt&gt;04-OCT-2013 14:44:34 * service_update * ORCL * 0
   &lt;/txt&gt;
  &lt;/msg&gt;
  </code></pre>
  
  <p>Alert log:</p>
  
  <pre><code>Mon Oct 07 07:38:12 2013
  Time drift detected. Please check VKTM trace file for more details.
  Mon Oct 07 13:30:09 2013
  Exception [type: SIGSEGV, Address not mapped to object] [ADDR:0x6] [PC:0x8A7767C, evakdustoopn()+76] [flags: 0x0, count: 1]
  Errors in file /opt/oracle/product/diag/rdbms/orcl/ORCL/trace/ORCL_ora_12500.trc  (incident=104683):
  ORA-07445: exception encountered: core dump [evakdustoopn()+76] [SIGSEGV] [ADDR:0x6] [PC:0x8A7767C] [Address not mapped to object] []
  Incident details in: /opt/oracle/product/diag/rdbms/orcl/ORCL/incident/incdir_104683/ORCL_ora_12500_i104683.trc
  Use ADRCI or Support Workbench to package the incident.
  See Note 411.1 at My Oracle Support for error and packaging details.
  Mon Oct 07 13:30:12 2013
  Dumping diagnostic data in directory=[cdmp_20131007133012], requested by (instance=1, osid=12500), summary=[incident=104683].
  Mon Oct 07 13:30:13 2013
  Sweep [inc][104683]: completed
  Sweep [inc2][104683]: completed
  </code></pre>