Oracle DBMS_STREAMS_LCR_INT
Version 18.3

General Information
Library Note Morgan's Library Page Header
Which has the higher priority in your organization: Deploying a new database or securing the ones you already have? Looking for a website, and resources, dedicated solely to securing Oracle databases? Check out DBSecWorx.
Purpose Internal package support Logical Change Record to and from XML document conversion.

Streams was deprecated 03-Jan-2018 but this package still exists in 19.2.
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
DBMS_MGWMSG    
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
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_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 18c
What's New In 19c

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-2019 Daniel A. Morgan All Rights Reserved
  DBSecWorx