Mostrando entradas con la etiqueta Unhandled datatype (121) found in kxsbndinf. Mostrar todas las entradas
Mostrando entradas con la etiqueta Unhandled datatype (121) found in kxsbndinf. Mostrar todas las entradas

miércoles, 24 de noviembre de 2021

ORA-62009 After enabling Supplemental Logging at Database Level

While configuring an Oracle database with supplemental logging for a tool that replicates data to Snowflake, the users reported the following error that was appearing in the application randomly:

ORA-00604: Error occurred at recursive SQL Level 1
ORA-62009: cannot encode an invalid XML character 0x0 in supplemental log. 

I found that the errors happen in some couple of tables.

The error happens when an INSERT is being executed against one of the problematic tables:

insert into "SCHEMA"."TABLE1"  (q_name, msgid, corrid, priority, state, delay, expiration,   time_manager_info, local_order_no, chain_no, enq_time, step_no, enq_uid,   enq_tid, retry_count, exception_qschema, exception_queue, recipient_key,   dequeue_msgid, user_data, sender_name, sender_address, sender_protocol,   user_prop, cscn, dscn)   values (:1, :2, :3, :4, :5, :6, :7, :8, :9, :10, :11, :12, :13, :14, 0, :15,         :16, :17, :18, :19, :20, :21, :22, :23, :24, :25)

After enabling tracing to understand what's happening, I was able to find that the error actually is because Oracle is not able to handle the data sent to the column dequeue_msgid, that column is of data type "RAW(16)".

 Bind#18
  oacdty=121 mxl=656(656) mxlc=00 mal=00 scl=00 pre=00
  oacflg=00 fl2=0001 frm=00 csi=00 siz=656 off=0
toid ptr value=2D5AB06D0 length=16
B93D8C7894170953E04019AC227A1D
  kxsbbbfp=7f7ea14d4e08  bln=656  avl=16  flg=15
  value=Unhandled datatype (121) found in kxsbndinf
Dumping '' addr=0x7f7ea14d4e08 size=16 bytes
Dump of memory from 0x7f7ea14d4e08 to 0x7f7ea14d4e18
7F7EA14D4E00                   173E4A00 00000000          [.J>.....]
7F7EA14D4E10 A14D4E18 00007F7E                    [.NM.~...]     
 

I didn't find any registered bug for this in Oracle Metalink.  

Solution:

Disable Supplemental Logging at Database Level and Enable it at table level for only those tables where you need it. 

Oracle ACE Director Award - Deiby Gómez

Thanks #OracleACE Program for this awesome certificate recognizing the work I have done in the community for the last year. Looking forwa...