Oracle DBMS_STREAMS_LCR_INT
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 Internal package support Logical Change Record to and from XML document conversion.
AUTHID CURRENT_USER
Dependencies
ALL_APPLY_ERROR_MESSAGES DBMS_OUTPUT LCR$_PARAMETER_LIST
ANYDATA DBMS_STREAMS LCR$_PROCEDURE_RECORD
ANYTYPE DBMS_STREAMS_ADM_UTL LCR$_ROW_LIST
DBA_APPLY_ERROR_MESSAGES DBMS_TYPES LCR$_ROW_RECORD
DBMS_LOB DBMS_XSTREAM_ADM_UTL LCR$_ROW_UNIT
DBMS_LOGREP_LIB DBMS_XSTREAM_GG_ADM PLITBLM
DBMS_LOGREP_UTIL LCR$_DDL_RECORD XMLTYPE
Documented No
First Available Not known
Security Model Owned by SYS with EXECUTE granted to the EXECUTE_CATALOG_ROLE role
Source {ORACLE_HOME}/rdbms/admin/prvthlcr.plb
Subprograms
 
CONVERT_LCR_TO_XML
Converts a Logical Change Record to an XML document dbms_streams_lcr_int.convert_lcr_to_xml(anyLCR IN XMLTYPE) RETURN XMLTYPE;
TBD
 
CONVERT_XML_TO_LCR
Converts an XML document to a Logical Change Record dbms_streams_lcr_int.convert_xml_to_lcr(xmlDAT IN XMLTYPE) RETURN XMLTYPE;
TBD
 
GET_LCR_CONTENT (new 12.1)
Retrieves the content of a Logical Change Record dbms_streams_lcr_int.get_lcr_content(
lcr IN XMLTYPE,
row_type IN VARCHAR2)
RETURN CLOB;
-- the following code was found in $ORACLE_HOME/rdbms/admin/catapp.sql and reformatted for readability

CREATE OR REPLACE VIEW dba_apply_error_messages (
message_id, local_transaction_id, transaction_message_number,
error_number, error_message, source_object_owner, source_object_name,
object_owner, object_name, primary_key, position, operation,
conflict_type, applied_state, seq#, rba, conflict_info, source_package_name,
package_name, message)
AS
SELECT msg_id, local_transaction_id, txn_message_number+1,
error_number, error_message, NVL(source_object_owner,dest_object_owner), NVL(source_object_name, dest_object_name),
dest_object_owner, dest_object_name, primary_key, position, operation, (
CASE WHEN (bitand(flags, 1) = 1) THEN (
  CASE WHEN (error_number = 26799 AND operation = 'INSERT') THEN 'INSERT ROW EXISTS'
       WHEN (error_number = 26786 AND operation = 'UPDATE') THEN 'UPDATE ROW EXISTS'
       WHEN (error_number = 26787 AND operation = 'UPDATE') THEN 'UPDATE ROW MISSING'
       WHEN (error_number = 26786 AND operation = 'DELETE') THEN 'DELETE ROW EXISTS'
       WHEN (error_number = 26787 AND operation = 'DELETE') THEN 'DELETE ROW MISSING'
       ELSE NULL END)
ELSE NULL END), (
CASE WHEN (bitand(flags, 1) = 1) THEN (
  CASE WHEN (bitand(flags, 6) = 6) THEN 'PARTIAL'
       WHEN (bitand(flags, 2) = 2) THEN 'WON'
       ELSE 'LOST' END)
ELSE NULL END),
seq#, rba, cg_info, source_package_name, dest_package_name,
dbms_streams_lcr_int.get_lcr_content(dbms_apply_adm.get_error_message(txn_message_number+1, local_transaction_id), '*')
FROM sys.apply$_error_txn;

Related Topics
Advanced Queuing
Built-in Functions
Built-in Packages
DBMS_CAPTURE_ADM
DBMS_CDC_PUBLISH
DBMS_CDC_SUBSCRIBE
DBMS_PROPAGATION_ADM
DBMS_RECOVERABLE_SCRIPT
DBMS_STREAMS
DBMS_STREAMS_ADM
DBMS_STREAMS_ADM_UTIL_INT
DBMS_STREAMS_ADVISOR_ADM
DBMS_STREAMS_AUTH
DBMS_STREAMS_CDC_ADM
DBMS_STREAMS_CONTROL_ADM
DBMS_STREAMS_HANDLER_ADM
DBMS_STREAMS_MC
DBMS_STREAMS_MC_INV
DBMS_STREAMS_MESSAGING
DBMS_STREAMS_PUB_RPC
DBMS_STREAMS_RPC_INTERNAL
DBMS_STREAMS_TABLESPACE_ADM
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