Starting with version 6.x, Shareplex supports replication of XML datatype but not XML table. This is mentioned in the Release Notes as well as in the Admin Guide. Here is the excerpt from Release Notes:
"SharePlex now provides support for XML datatypes. In addition to limitations specific to XML, the XML datatype is subject to the same limitations as the LOB datatype. For more information please refer to the Supported and Non-supported Operations section of these notes."
The following is an excerpt from the section in Release Notes titled "Supported and Non-supported Operations" about exclusion of XML tables:
Non-Supported LOBs, VARRAYs and XML
Tables of XML type
The following briefly explains the XML datatype and XML table:
When storing data in the form of XML documents, you have the option of taking several approaches. They are:
1. Parsing the XML document outside of database and then storing it in the database. It is stored as a row in a table and the database is not aware of how it has been parsed, etc.
2. Storing the XML document in the database using a CLOB or VARCHAR datatype.
3. Storing the XML document in the database using the XMLType datatype by one of the following approaches:
a. Storing it as XML type column
b. Storing is using XML type table
For the issue in question, we are only concerned with option 3 since we our problem is to determine whether Shareplex supports replication of XML. For a., you can do something similar to the following (note how an XML type column is a part of a table):
CREATE TABLE table1
(
CharCol varchar2(10) primary key,
XMLCol XMLtype
);
For b., you can do something similar to the following (note that the table is defined as a table of XML type):
CREATE TABLE table2 OF XMLType;
As per the Release Notes and Admin Guide for Shareplex 6.x and up, you can replicate some or all of the columns for the table table1 but you cannot replicate the table named table2. The reason being that Shareplex can replicate XML datatype but not XML table. The following paragraph further delves on the reason for this limitation.
The reason Shareplex does not replicate a XML table is that the XML table only contains one column which is XMLtype (essentially a LOB) and Shareplex needs a key when replicating a table (which can be a user defined key or a composite key derived by Shareplex by combining all the columns). Since LOB columns cannot be a key, this makes it impossible to replicate a XML table.
For more information on the subtle differences between XML datatype and XML table, please refer to Oracle documentation, since the discussion on how to populate the data in these types of tables is beyond the scope of this solution.