When compare is run on tables with xml data type it fails with the following error messages:
01/23/08 11:23 Notice: Oracle env - schwenk:/apps/oracle/oracle-9.2.0 [sp_declt(pdb)/2481]
01/23/08 11:23 Error: Oracle Error 31011: ORA-31011: XML parsing failed.ORA-19202: Error occurred in XML processing.LPX-00245: extra data after end of document.Error at line 2.ORA-06512: at "SYS.XMLTYPE", line 0.ORA-06512: at line 1. [sp_declt(deq)/2481]
01/23/08 11:23 Internal error: Error -1 in de_compare_client see XXXXX_declt-SPLEX-XXXXXX-1278-*.log [sp_declt(deq)/2481]
DECLT LOG on the target :
000: DEBUG:../src/deqtr/de_lob.c:497,pid=2481(client),amtp=32424, len=32424
000: DEBUG: len=32424 bytes, loblen=32424 chars, pieceWise=0 (de_lob_get_data_to_write_xml,L499)
000: Oracle Error 31011: ORA-31011: XML parsing failed
ORA-19202: Error occurred in XML processing
LPX-00245: extra data after end of document
Error at line 2
ORA-06512: at "SYS.XMLTYPE", line 0
ORA-06512: at line 1
The problem occurs on tables with different xml data sizes. When previous xml data is bigger than the current one the residue data corrupts the buffer.
Repair option re-uses the same temporary clob for all xml data, therefore the problem occurs.
Sent oneoff (49897) to fix the issue.
The problem is addressed in Shareplex version 6.0.1.
The latest version of Shareplex can be downloaded at: