Striim 4.0.4 documentation

Reading from a standby

Oracle Reader can read from a standby rather than a primary database.

Requirements
Limitations
  • Bidirectional replication is not supported.

  • Oracle Reader will reject QUIESCE if there are any open transactions.

Create the dictionary file
  1. On the primary, use SQL Plus or another client to create a dictionary file.

    For Oracle 11g or 12.1.0.2, enter the following commands, replacing <path> in the second command with the path returned by the first command. If the first command does not return a path, you must set UTL_FILE_DIR.

    show parameter utl_file_dir;
    execute dbms_logmnr_d.build('dict.ora', '<path>');

    For Oracle 12.2.0.1.0 or later, enter the following commands.

    CREATE DIRECTORY "dictionary_directory" AS '/opt/oracle/dictionary';
    EXECUTE dbms_logmnr_d.build(dictionary_location=>'dictionary_directory', 
    dictionary_filename=>'dict.ora',
    options => dbms_logmnr_d.store_in_flat_file);
  2. Copy dict.ora to a directory on the standby.

Configure Oracle Reader properties in your application
  1. Set Dictionary Mode to ExternalDictionaryFileCatalog.

  2. Set Database Role to PHYSICAL_STANDBY.

  3. Set External Dictionary File to the fully qualified name of the dictionary file you copied to the standby, for example, /home/oracle/dict.ora

Handling DDL changes

When DDL changes must be made to the tables being read by Oracle Reader, do the following:

  1. On the primary, stop DML activity and make sure there are no open transactions.

  2. On the primary, force a log switch.

  3. In Striim, quiesce the application (see QUIESCE). If Oracle Reader refuses the quiesce, wait a few minutes and try again.

  4. On the primary, perform the DDL changes.

  5. Repeat the procedure in "Create the dictionary file," above, replacing the old file on the standby with the new one.

  6. Start the Striim application.