Executing LCRs → There are separate EXECUTE member procedures for row LCRs and DDL LCRs. These member procedures … row LCRs and DDL LCRs: Executing Row LCRs Executing DDL LCRs
Requirements for Managing LCRs → This section describes requirements for creating or modifying logical change records (LCRs). You … an apply handler or a rule-based transformation. You can modify captured LCRs or persistent LCRs … -constructed row LCR. However, you can use certain techniques to construct LCRs that contain LOB information … .
Executing DDL LCRs → The EXECUTE member procedure for DDL LCRs is a subprogram of the LCR$_DDL_RECORD type. When the … would be run for the LCR are not run. The EXECUTE member procedure for DDL LCRs can be invoked only … in an apply handler for an apply process. All applied DDL LCRs commit automatically. Therefore, if a … Reference for more information
Logical Change Records (LCRs) → LCRs: row LCRs and DDL LCRs. A capture process, a synchronous capture, or an application can … capture LCRs. You can capture the following types of LCRs with Oracle Streams: A captured LCR is an LCR … in the DBMS_APPLY_ADM package The only difference between the persistent LCRs captured
Constructing and Enqueuing LCRs → Use the following LCR constructors to create LCRs: To create a row LCR that contains a change to a … process, because the apply process will be applying persistent LCRs, not captured LCRs. Also, ensure … LCR constructors Create and enqueue LCRs using the construct_row_lcr procedure created in Step 5. In
Executing Row LCRs → The EXECUTE member procedure for row LCRs is a subprogram of the LCR$_ROW_RECORD type. When the … Administration Oracle Database PL/SQL Packages and Types Reference for more information about row LCRs and … the LCR$_ROW_RECORD type Example of Constructing and Executing Row LCRs The example in this section … and executing row LCRs.
C XML Schema for LCRs → Go to main content 53/57 C XML Schema for LCRs The XML schema described in this appendix defines … for LCRs. The namespace for this schema is the following: http://xmlns.oracle.com/streams/schemas … Definition of the XML Schema for LCRs The following is the XML schema definition for LCRs: '
Tracking LCRs Through a Stream → capture database changes implicitly. An application or user can construct and enqueue LCRs to … LCR through a stream using one of the following methods: When LCRs are captured by a capture … low value. When LCRs are captured by a capture process or a synchronous capture, or when LCRs are … package. LCR tracking
Managing LCRs Containing LOB Columns → LOB data types can be present in row LCRs captured by a capture process, but these data types are … represented by other data types. LOB data types cannot be present in row LCRs captured by synchronous … captures. Certain LOB data types cannot be present in row LCRs constructed by users. Table 14-1 … shows the LCR representation
Track LCRs Through a Stream → $STREAMS_MESSAGE_TRACKING view to track the LCRs through the stream and see how they were processed by … each Oracle Streams client. LCR tracking is useful if LCRs are not being applied as expected by one … or more apply processes. When this happens, you can use LCR tracking to determine where the LCRs … message_tracking_frequency
LOB Assembly and Custom Apply of LCRs Containing LOB Columns → a change to a row that includes one or more LOB columns can result in multiple row LCRs. An apply … process that does not send row LCRs that contain LOB columns to an apply handler can apply these row … LCRs directly. However, before Oracle Database 10 g Release 2, custom processing of row LCRs that … LCRs
Table 14-2 Oracle Streams Behavior with LOB Assembly Disabled → Original Row Change First Set of LCRs Second Set of LCRs Third Set of LCRs Final LCR INSERT One … INSERT LCR One or more LOB WRITE LCRs One or more LOB TRIM LCRs UPATE UPDATE One UPDATE LCR One or more … LOB WRITE LCRs One or more LOB TRIM LCRs UPATE DELETE One DELETE
14 Managing Logical Change Records (LCRs) → This chapter contains instructions for managing logical change records (LCRs) in an Oracle Streams … replication environment. This chapter contains these topics: Requirements for Managing LCRs … Constructing and Enqueuing LCRs Executing LCRs Managing LCRs Containing LOB Columns Managing LCRs
Table 14-3 Oracle Streams Behavior with LOB Assembly Enabled → SET_VALUES member procedures for row LCRs to make changes to a LOB. When LOB assembly is enabled, LOB … assembly converts non- NULL LOB columns in persistent LCRs into LOB locators. However, LOB assembly … does not combine multiple persistent row LCRs into a single row LCR. For example, for persistent row … LCRs,
Step 2 Add the product_long_desc Column to the product_information Table → The following statement adds the product_long_desc column to the product_information table at all of the databases in the environment: ALTER TABLE oe.product_information ADD(product_long_desc CLOB);
Step 5 Query the DBA_APPLY_DML_HANDLERS View → To ensure that the procedure DML handler is set properly for the oe.product_information table, run the following query: COLUMN OBJECT_OWNER HEADING 'Table|Owner' FORMAT A5 COLUMN OBJECT_NAME HEADING 'Table Name' FORMAT A20 COLUMN OPERATION_NAME HEADING 'Operation' FORMAT A10 COLUMN USER_PROCEDURE HEADING 'Handler Procedure' FORMAT A25 COLUMN ASSEMBLE_LOBS HEADING 'LOB Assembly?' FORMAT A15 SELECT
Table 14-1 LOB Data Type Representations in Row LCRs → applied as several row LCRs. Rules used to evaluate these row LCRs must be deterministic, so that either … all of the row LCRs corresponding to the row change cause a rule in a rule set to evaluate to TRUE … when constructing or processing LOB columns, about apply process behavior for LCRs containing LOB … columns,
Apply Process Behavior for Direct Apply of LCRs Containing LOBs → An apply process behaves in the following ways when it applies an LCR that contains a LOB column directly (without the use of an apply handler): If an LCR whose command type is INSERT or UPDATE has a new LOB that contains data, and the lob_information is not DBMS_LCR.LOB_CHUNK or DBMS_LCR.LAST_LOB_CHUNK, then the data is applied. If an LCR whose command type is INSERT or UPDATE has a new LOB that
Step 4 Set the Procedure DML Handler for the Apply Process → This step sets the convert_product_information procedure as the procedure DML handler at the destination database for INSERT, UPDATE, and LOB_UPDATE operations. Notice that the assemble_lobs parameter is set to TRUE each time the SET_DML_HANDLER procedure is run. BEGIN DBMS_APPLY_ADM.SET_DML_HANDLER( object_name => 'oe.product_information', object_type => 'TABLE', operation_name => 'INSERT', error_handler
Requirements for Constructing and Processing LCRs Containing LOB Columns → If your environment produces row LCRs that contain LOB columns, then you must meet the requirements … in the following sections when you construct or process these LCRs: Requirements for Constructing … and Processing LCRs Without LOB Assembly Requirements for Apply Handler Processing of LCRs with LOB … Assembly