ORA-00600 [17147] when inserting into UTF8 database when COMPOSE is used by trigger code (Doc ID 735543.1)

Last updated on NOVEMBER 28, 2016

Applies to:

Oracle Server - Enterprise Edition - Version: 10.1.0.2 to 10.2.0.4
This problem can occur on any platform.

Symptoms


        
          
export NLS_LANG=american_america.utf8
insert into my_test_table (column_1) values ('UNNT0505 UNOO0605 USTR0636 
USSS0710 US`ù^]úM??PP0737 USKK0801 ULWW0828')
*
ERROR at line 1:
ORA-00600: internal error code, arguments: [17147], [0xB728FF8C], [], [],
[], [], [], []
ORA-06512: at "TC.MY_TEST_TABLE_IBR", line 3
ORA-04088: error during execution of trigger 'TC.MY_TEST_TABLE_IBR'
  • The trigger code uses COMPOSE function.

        
        
create or replace trigger my_test_table_ibr
before insert on my_test_table
for each row
begin
  if COMPOSE(:new.column_1) != :new.column_1 then
    ... 
  end if;
end;
/
  • The issue would not occur if specifying a character set other then UTF8 in NLS_LANG (eg. WE8MSWIN1252). Usually the NLS_LANG character set should reflect the setting of the operating system character set of the client (eg. WE8MSWIN1252). Nevertheless ORA-600 [17147] should not occur here, hence this is a bug.

 

Trace Information

  
    
CALL STACK
----------
kghfrf pescomp pevm_icd_call_common pfrinstr_BCAL pfrrun_no_tool
pfrrun plsql_run peicnt kkxtexe __PGOSF236_kxtex1 rpiswu2 kxtexe
...
 

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms