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
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.
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
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
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
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
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
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
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
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 3 Create the PL/SQL Procedure for the Procedure DML Handler → This example creates the convert_product_information procedure. This procedure will be used for the procedure DML handler. This procedure assumes that the following user-created PL/SQL subprograms exist: The get_photo procedure obtains a photo in BLOB format from a URL or table based on the product_id and updates the BLOB locator that has been passed in as an argument. The get_product_long_desc procedure
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
Managing LCRs Containing LONG or LONG RAW Columns → LONG and LONG RAW data types all can be present in row LCRs captured by a capture process, but … these data types are represented by the following data types in row LCRs. LONG data type is represented … as VARCHAR2 data type in row LCRs. LONG RAW data type is represented as RAW data type in row LCRs. A … 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
Step 1 Add the photo Column to the product_information Table → The following statement adds the photo column to the product_information table at the destination database: ALTER TABLE oe.product_information ADD(photo BLOB);
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