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: to
This problem can occur on any platform.


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
  if COMPOSE(:new.column_1) != :new.column_1 then
  end if;
  • 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

kghfrf pescomp pevm_icd_call_common pfrinstr_BCAL pfrrun_no_tool
pfrrun plsql_run peicnt kkxtexe __PGOSF236_kxtex1 rpiswu2 kxtexe


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