I have some PLSQL code that calls a remote procedure in order to send an XMLType. What it does, though, is to devide the XMLType into multiple varchar2(4000) parameters, which the procedure accepts. The remote procedure is called via a DBLink.
Why does the XMLType have to be split? Is this restriction applicable to recent database versions (10g)?
Oracle does not support handle sending user-defined types or LOBs over database links in most situations. XMLType can be either stored as a LOB or a UDT, and probably treated in memory the same way, so it is understandable it wouldn’t work.
This question discusses the general issue and has some possible workarounds.