Oracle LCR$_XML_SCHEMA
Version 12.2.0.1

General Information
Library Note Morgan's Library Page Header
Coming to OpenWorld 2018? Be sure to visit the TidalScale booth in Moscone South and learn how to solve performance problems and lower costs with Software Defined Servers. Before you visit the booth, or if you can't make it this year, check out TidalScale at www.tidalscale.com. Be sure to click on the Solutions link and look through the Oracle resources.
Purpose XML schema definition for Logical Change Records
AUTHID CURRENT_USER
Dependencies Only Standard
Documented No
First Available 10.1
Security Model Owned by SYS with no privileges granted
Source {ORACLE_HOME}/rdbms/admin/catxlcr1.sql
 
Source Code
CREATE OR REPLACE PACKAGe lcr$_xml_schema AS

  CONFIGURL VARCHAR2(2000) := 'http://xmlns.oracle.com/streams/schemas/lcr/streamslcr.xsd';
  CONFIGXSD_10101 VARCHAR2(20000) := '<schema xmlns="http://www.w3.org/2001/XMLSchema"
    targetNamespace="http://xmlns.oracle.com/streams/schemas/lcr"
    xmlns:lcr="http://xmlns.oracle.com/streams/schemas/lcr"
    xmlns:xdb="http://xmlns.oracle.com/xdb"
    version="1.0"
    elementFormDefault="qualified">

  <simpleType name = "short_name">
    <restriction base = "string">
      <maxLength value="30"/>
    </restriction>
  </simpleType>

  <simpleType name = "long_name">
    <restriction base = "string">
      <maxLength value="4000"/>
    </restriction>
  </simpleType>

  <simpleType name = "db_name">
    <restriction base = "string">
      <maxLength value="128"/>
    </restriction>
  </simpleType>

  <!-- Default session parameter is used if format is not specified -->
  <complexType name="datetime_format" xdb:SQLType="LCR_DATETIME_FORMAT_T">
    <sequence>
      <element name = "value" type = "string" nillable="true"/>
      <element name = "format" type = "string" minOccurs="0" nillable="true"/>
    </sequence>
  </complexType>

  <complexType name="anydata" xdb:SQLType="LCR_ANYDATA_T">
    <choice>
      <element name="varchar2" type = "string" xdb:SQLType="CLOB" nillable="true"/>

      <!-- Represent char as varchar2. xdb:CHAR blank pads upto 2000 bytes! -->
      <element name="char" type = "string" xdb:SQLType="CLOB" nillable="true"/>
      <element name="nchar" type = "string" xdb:SQLType="NCLOB" nillable="true"/>

      <element name="nvarchar2" type = "string" xdb:SQLType="NCLOB" nillable="true"/>
      <element name="number" type = "double" xdb:SQLType="NUMBER" nillable="true"/>
      <element name="raw" type = "hexBinary" xdb:SQLType="BLOB" nillable="true"/>
      <element name="date" type = "lcr:datetime_format"/>
      <element name="timestamp" type = "lcr:datetime_format"/>
      <element name="timestamp_tz" type = "lcr:datetime_format"/>
      <element name="timestamp_ltz" type = "lcr:datetime_format"/>

      <!-- Interval YM should be as per format allowed by SQL -->
      <element name="interval_ym" type = "string" nillable="true"/>

      <!-- Interval DS should be as per format allowed by SQL -->
      <element name="interval_ds" type = "string" nillable="true"/>

      <element name="urowid" type = "string" xdb:SQLType="VARCHAR2" nillable="true"/>
    </choice>
  </complexType>

  <complexType name="column_value" xdb:SQLType="LCR_COLUMN_VALUE_T">
    <sequence>
      <element name = "column_name" type = "lcr:long_name" nillable="false"/>
      <element name = "data" type = "lcr:anydata" nillable="false"/>
      <element name = "lob_information" type = "string" minOccurs="0" nillable="true"/>
      <element name = "lob_offset" type = "nonNegativeInteger" minOccurs="0" nillable="true"/>
      <element name = "lob_operation_size" type = "nonNegativeInteger" minOccurs="0" nillable="true"/>
      <element name = "long_information" type = "string" minOccurs="0" nillable="true"/>
    </sequence>
  </complexType>

  <complexType name="extra_attribute" xdb:SQLType="LCR_EXTRA_ATTRIBUTE_T">
    <sequence>
      <element name = "attribute_name" type = "lcr:db_name"/>
      <element name = "attribute_value" type = "lcr:anydata"/>
    </sequence>
  </complexType>

  <element name = "ROW_LCR" xdb:defaultTable="">
    <complexType xdb:SQLType="ROW_LCR_T">
      <sequence>
        <element name = "source_database_name" type = "lcr:db_name" nillable="false"/>
        <element name = "command_type" type = "string" nillable="false"/>
        <element name = "object_owner" type = "lcr:db_name" nillable="false"/>
        <element name = "object_name" type = "lcr:db_name" nillable="false"/>
        <element name = "tag" type = "hexBinary" xdb:SQLType="RAW" minOccurs="0" nillable="true"/>
        <element name = "transaction_id" type = "string" minOccurs="0" nillable="true"/>
        <element name = "scn" type = "double" xdb:SQLType="NUMBER" minOccurs="0" nillable="true"/>
        <element name = "old_values" minOccurs = "0">
        <complexType xdb:SQLType="LCR_OLD_VALUES_T">
      <sequence>
        <element name = "old_value" type="lcr:column_value" maxOccurs = "unbounded" xdb:SQLCollType="LCR_OLD_NEW_VALUE_T"/>
      </sequence>
    </complexType>
  </element>

    <element name = "new_values" minOccurs = "0">
      <complexType xdb:SQLType="LCR_NEW_VALUES_T">
        <sequence>
          <element name = "new_value" type="lcr:column_value" maxOccurs = "unbounded"
                xdb:SQLCollType="LCR_OLD_NEW_VALUE_T"/>
              </sequence>
            </complexType>
          </element>

          <element name = "extra_attribute_values" minOccurs = "0">
            <complexType xdb:SQLType="LCR_EXTRA_ATTRIBUTE_VALUES_T">
              <sequence>
                <element name = "extra_attribute_value" type="lcr:extra_attribute" maxOccurs = "unbounded" xdb:SQLCollType="LCR_EXTRA_ATTRIBUTE_VALUE_T"/>
              </sequence>
            </complexType>
          </element>
        </sequence>
      </complexType>
    </element>

    <element name = "DDL_LCR" xdb:defaultTable="">
      <complexType xdb:SQLType="DDL_LCR_T">
        <sequence>
                <element name = "source_database_name" type = "lcr:db_name" nillable="false"/>
                <element name = "command_type" type = "string" nillable="false"/>
                <element name = "current_schema" type = "lcr:db_name" nillable="false"/>
                <element name = "ddl_text" type = "string" xdb:SQLType="CLOB" nillable="false"/>
                <element name = "object_type" type = "string" minOccurs = "0" nillable="true"/>
                <element name = "object_owner" type = "lcr:db_name" minOccurs = "0" nillable="true"/>
                <element name = "object_name" type = "lcr:db_name" minOccurs = "0" nillable="true"/>
                <element name = "logon_user" type = "lcr:db_name" minOccurs = "0" nillable="true"/>
                <element name = "base_table_owner" type = "lcr:db_name" minOccurs = "0" nillable="true"/>
                <element name = "base_table_name" type = "lcr:db_name" minOccurs = "0" nillable="true"/>
                <element name = "tag" type = "hexBinary" xdb:SQLType="RAW" minOccurs = "0" nillable="true"/>
                <element name = "transaction_id" type = "string" minOccurs = "0" nillable="true"/>
                <element name = "scn" type = "double" xdb:SQLType="NUMBER" minOccurs = "0" nillable="true"/>
                <element name = "extra_attribute_values" minOccurs = "0">
                <complexType xdb:SQLType="LCR_EXTRA_ATTRIBUTE_VALUES_T">
              <sequence>
                <element name = "extra_attribute_value" type="lcr:extra_attribute" maxOccurs = "unbounded" xdb:SQLCollType="LCR_EXTRA_ATTRIBUTE_VALUE_T"/>
              </sequence>
            </complexType>
          </element>
        </sequence>
      </complexType>
    </element>
  </schema>';

  CONFIGXSD_9204 VARCHAR2(20000) :=
  '<schema xmlns="http://www.w3.org/2001/XMLSchema"
     targetNamespace="http://xmlns.oracle.com/streams/schemas/lcr"
     xmlns:lcr="http://xmlns.oracle.com/streams/schemas/lcr"
     xmlns:xdb="http://xmlns.oracle.com/xdb"
     version="1.0"
     elementFormDefault="qualified">

  <simpleType name = "short_name">
    <restriction base = "string">
      <maxLength value="30"/>
    </restriction>
  </simpleType>

  <simpleType name = "long_name">
    <restriction base = "string">
      <maxLength value="4000"/>
    </restriction>
  </simpleType>

  <simpleType name = "db_name">
    <restriction base = "string">
      <maxLength value="128"/>
    </restriction>
  </simpleType>

  <!-- Default session parameter is used if format is not specified -->
  <complexType name="datetime_format" xdb:SQLType="LCR_DATETIME_FORMAT_T">
    <sequence>
      <element name = "value" type = "string" nillable="true"/>
      <element name = "format" type = "string" minOccurs="0" nillable="true"/>
    </sequence>
  </complexType>

  <complexType name="anydata" xdb:SQLType="LCR_ANYDATA_T">
    <choice>
      <element name="varchar2" type = "string" xdb:SQLType="VARCHAR2" nillable="true"/>

      <!-- Represent char as varchar2. xdb:CHAR blank pads upto 2000 bytes! -->
      <element name="char" type = "string" xdb:SQLType="VARCHAR2" nillable="true"/>
      <element name="nchar" type = "string" xdb:SQLType="NVARCHAR2" nillable="true"/>
      <element name="nvarchar2" type = "string" xdb:SQLType="NVARCHAR2" nillable="true"/>
      <element name="number" type = "double" xdb:SQLType="NUMBER" nillable="true"/>
      <element name="raw" type = "hexBinary" xdb:SQLType="RAW" nillable="true"/>
      <element name="date" type = "lcr:datetime_format"/>
      <element name="timestamp" type = "lcr:datetime_format"/>
      <element name="timestamp_tz" type = "lcr:datetime_format"/>
      <element name="timestamp_ltz" type = "lcr:datetime_format"/>

      <!-- Interval YM should be as per format allowed by SQL -->
      <element name="interval_ym" type = "string" nillable="true"/>

      <!-- Interval DS should be as per format allowed by SQL -->
      <element name="interval_ds" type = "string" nillable="true"/>
    </choice>
  </complexType>

  <complexType name="column_value" xdb:SQLType="LCR_COLUMN_VALUE_T">
    <sequence>
      <element name = "column_name" type = "lcr:long_name" nillable="false"/>
      <element name = "data" type = "lcr:anydata" nillable="false"/>
      <element name = "lob_information" type = "string" minOccurs="0" nillable="true"/>
      <element name = "lob_offset" type = "nonNegativeInteger" minOccurs="0" nillable="true"/>
      <element name = "lob_operation_size" type = "nonNegativeInteger" minOccurs="0" nillable="true"/>
    </sequence>
  </complexType>

    <element name = "ROW_LCR">
      <complexType xdb:SQLType="ROW_LCR_T">
        <sequence>
          <element name = "source_database_name" type = "lcr:db_name" nillable="false"/>
          <element name = "command_type" type = "string" nillable="false"/>
          <element name = "object_owner" type = "lcr:db_name" nillable="false"/>
          <element name = "object_name" type = "lcr:db_name" nillable="false"/>
          <element name = "tag" type = "hexBinary" xdb:SQLType="RAW" minOccurs="0" nillable="true"/>
          <element name = "transaction_id" type = "string" minOccurs="0" nillable="true"/>
          <element name = "scn" type = "double" xdb:SQLType="NUMBER" minOccurs="0" nillable="true"/>
          <element name = "old_values" minOccurs = "0">
            <complexType xdb:SQLType="LCR_OLD_VALUES_T">
              <sequence>
                <element name = "old_value" type="lcr:column_value"maxOccurs = "unbounded" xdb:SQLCollType="LCR_OLD_NEW_VALUE_T"/>
              </sequence>
            </complexType>
          </element>

          <element name = "new_values" minOccurs = "0">
            <complexType xdb:SQLType="LCR_NEW_VALUES_T">
              <sequence>
                <element name = "new_value" type="lcr:column_value" maxOccurs = "unbounded" xdb:SQLCollType="LCR_OLD_NEW_VALUE_T"/>
              </sequence>
            </complexType>
          </element>
        </sequence>
      </complexType>
    </element>

    <element name = "DDL_LCR">
      <complexType xdb:SQLType="DDL_LCR_T">
        <sequence>
          <element name = "source_database_name" type = "lcr:db_name" nillable="false"/>
          <element name = "command_type" type = "string" nillable="false"/>
          <element name = "current_schema" type = "lcr:db_name" nillable="false"/>
          <element name = "ddl_text" type = "string" nillable="false"/>
          <element name = "object_type" type = "string" minOccurs = "0" nillable="true"/>
          <element name = "object_owner" type = "lcr:db_name" minOccurs = "0" nillable="true"/>
          <element name = "object_name" type = "lcr:db_name" minOccurs = "0" nillable="true"/>
          <element name = "logon_user" type = "lcr:db_name" minOccurs = "0" nillable="true"/>
          <element name = "base_table_owner" type = "lcr:db_name" minOccurs = "0" nillable="true"/>
          <element name = "base_table_name" type = "lcr:db_name" minOccurs = "0" nillable="true"/>
          <element name = "tag" type = "hexBinary" xdb:SQLType="RAW" minOccurs = "0" nillable="true"/>
          <element name = "transaction_id" type = "string" minOccurs = "0" nillable="true"/>
          <element name = "scn" type = "double" xdb:SQLType="NUMBER" minOccurs = "0" nillable="true"/>
        </sequence>
      </complexType>
    </element>
  </schema>';
end;
/

Related Topics
Built-in Functions
Built-in Packages
DBMS_LCR
Streams
What's New In 12cR1
What's New In 12cR2

Morgan's Library Page Footer
This site is maintained by Dan Morgan. Last Updated: This site is protected by copyright and trademark laws under U.S. and International law. © 1998-2017 Daniel A. Morgan All Rights Reserved