Table of Contents

Search

  1. Preface
  2. Part 1: PowerExchange CDC Introduction
  3. Part 2: PowerExchange CDC Components
  4. Part 3: PowerExchange CDC Data Sources
  5. Part 4: Change Data Extraction
  6. Part 5: Monitoring and Tuning
  7. Appendix A: DTL__CAPXTIMESTAMP Time Stamps

CDC Guide for Linux, UNIX, and Windows

CDC Guide for Linux, UNIX, and Windows

Oracle CDC with LogMiner Implementation Considerations

Oracle CDC with LogMiner Implementation Considerations

The following implementation considerations apply to PowerExchange Oracle CDC with LogMiner:
  • Verify that a valid Oracle environment exists for the PowerExchange user. On Linux, and UNIX, the path to the Oracle client must be specified in the PATH and library path environment variables.
  • The Oracle source instance must be running in ARCHIVELOG mode, and Oracle global minimal supplemental logging must be enabled.
  • A copy of the Oracle catalog must exist in the Oracle archived logs.
  • The COMPATIBLE initialization parameter in the init.ora file must be set to 9.2 or later.
  • Oracle LogMiner continuous mining reads archived redo logs only from the directory to which they were originally written.
  • If PowerExchange is not installed on the same machine as the Oracle instance, configure a TNS entry on the client machine with SERVER=DEDICATED in the CONNECT_DATA section of the connect descriptor. This specification is also required if the network is configured for Multi-Threaded Server (MTS) mode.
  • PowerExchange requires the Oracle Client binaries. When you install Oracle, the Client binaries are installed by default. To use SQL*Net connectivity on a machine that does not have an installed Oracle instance, you must install the Oracle Client.
  • The maximum length of a row for which PowerExchange can capture and process change data is 128,000 bytes.
  • In a Transparent Data Encryption (TDE) environment, PowerExchange can capture change data from source tablespaces and columns that are encrypted. Before starting CDC, verify that the encryption wallet has been opened.
    If you need to change the encryption key, wait until Oracle CDC with LogMiner finishes reading all of the change data from the Oracle archived redo logs for a CDC session and then change the encryption key. Otherwise, an Oracle error might occur and cause the CDC session to end abnormally.
  • If you use Oracle materialized views, PowerExchange can capture change data from the master tables that underlie those views. PowerExchange supports change capture for any type of materialized view. The view and its underlying table have a one-to-one correspondence and share the same name.
    If you issue
    DTLDESCRIBE tables
    from the
    Database Row Test
    dialog box in the PowerExchange Navigator, the results include a row for the materialized view and a row for the underlying table. The
    Type
    column indicates which row is for the materialized view and which row is for the table.
    After the master tables receive data changes, Oracle refreshes the associated materialized views based on the REFRESH option that you specified in the CREATE MATERIALIZED VIEW statement. REFRESH FAST performs an incremental refresh that contains only the changes since the last refresh operation, and REFRESH COMPLETE refreshes all data. The REFRESH option that you use affects the level of PowerExchange change capture activity for the target table, as reported in the session log.
    For example, the following table compares the effects of the REFRESH FAST and REFRESH COMPLETE options when the master table contains 400 rows:
    REFRESH Option
    Changes Made to the Master Table (rows)
    Changes Written to the Target Table (rows)
    REFRESH FAST
    100 Inserts
    100 Inserts
    100 Updates
    100 Deletes followed by 100 Inserts
    100 Deletes
    100 Deletes
    REFRESH COMPLETE
    100 Inserts
    400 Deletes followed by 500 Inserts
    100 More Inserts
    500 Deletes followed by 600 Inserts
    Then 100 Updates
    600 Deletes followed by 600 Inserts
    Then 100 Deletes
    600 Deletes followed by 500 Inserts
  • PowerExchange Oracle CDC with LogMiner can capture change data from Oracle Data Guard logical standby database, which use SQL Apply to synchronize with the primary database. However, you must create a logon trigger for the Oracle CDC user (ORACAPT). The logon trigger disables Data Guard for the user logon. The PowerExchange DataGuard_Logon_Trigger.sql file contains sample SQL statements for creating this trigger. If you do not create a logon trigger, the following problems can occur because Data Guard locks the logical standby database to keep it consistent with the primary production database:
    • PowerExchange Navigator row tests and the PowerExchange Logger might fail with the following Oracle error message:
      ORA-01031: insufficient privileges on the SELECT from V$LOGMNR_CONTENTS
    • You cannot create supplemental log groups for Oracle data sources.
  • For tables that do not have row movement enabled, you can populate the PowerExchange-generated DTL__CAPXROWID column in change records with Oracle physical rowid values. You must set the ROWID parameter to Y or ALLOW in the ORCL CAPI_CONNECTION statement in the dbmover configuration file. This feature is useful for processing rows in unkeyed tables during CDC extraction sessions.
  • PowerExchange uses Oracle LogMiner to read change data from archived logs. If you use an archived log destination other than the LOG_ARCHIVE_DEST_1 path and LogMiner processing lags behind, problems might occur. In this situation, LogMiner starts reading change data from the archived logs in the LOG_ARCHIVE_DEST_1 directory. If these archived logs are inaccessible from the machine with the Oracle instance to which you are connected, the LogMiner session might fail.

0 COMMENTS

We’d like to hear from you!