This topic describes special considerations for linking Oracle physical standby databases.

The Delphix Engine supports linking both physical and logical standby databases. In previous versions of the Delphix Engine, limitations were placed upon support for Oracle RAC physical standby databases in Real Time Apply mode. In version 3.0 of the Delphix Engine, these restrictions have been lifted.

Using Block Change Tracking (BCT) on a Physical Standby Database

In general, Delphix recommends enabling Block Change Tracking (BCT) on a primary or standby source database. See Physical Standby Database Support Matrix in this topic for restrictions on enabling BCT on a standby database.

BCT is available from Oracle release 11.1.0.6 onward for physical standby databases only if they are licensed for the Active Data Guard option.

  • Release 11.1.0.6 is unstable for the BCT on physical standby feature
  • Release 11.1.0.7 requires a patch for Oracle bugs 7613481, 9068088
  • Release 11.2.0.2 requires patches for Oracle bugs 10170431, 12312133
  • Release 11.2.0.3 requires patches for Oracle bugs 12312133, 16052165

Patches Required

Enabling BCT on a physical standby database without these patches is not recommended because of serious performance and stability issues.

BCT on a primary database has been stable since Oracle version 10.2.0.5.

In order to make use of BCT (> 11.2.0.4), the Physical Standby Database must be in a "Managed Recovery Mode", ie. achieved using "ALTER DATABASE RECOVER  MANAGED  STANDBY DATABASE".

Physical Standby Database Support Matrix

Oracle VersionApply ModeNotes
10.2 or 11.x in Level Backup modeArchive Apply mode

No special restrictions.

 Real Time Apply mode

LogSync must be enabled.

11.x in SCN Backup modeArchive Apply mode

If the Physical Physical Standby Database is at version 11.2.0.4 or above, no special actions are required.

Due to Oracle bug 10146187, Redo Apply must be stopped and the database opened in read-only mode during SnapSync. See the section Stopping and Restarting Redo Apply for more information. 

 Real Time Apply mode

If the Physical Physical Standby Database is at version 11.2.0.4 or above, no special actions are required.

LogSync must be enabled.

Due to Oracle bug 10146187, Redo Apply must be stopped and the database opened in read-only mode during SnapSync. See the section Stopping and Restarting Redo Apply for more information.

In addition, to avoid Oracle Bug 13075226, which results in a hang during the restart of Redo Apply, Delphix requires disable using BCT on the standby database. The hang occurs when BCT is enabled on a standby database that uses SCN backup mode.

Patch Required

SnapSync will fail If running Oracle 11.2 before 11.2.0.4 when using SCN backups and real time apply mode, Use level based backups instead.

If the Oracle installation has already been patched for Oracle bug 13075226, or once the patch is applied, u se the CLI to update the repository for this installation so that appliedPatches includes Oracle bug number 13075226. If the repository does not indicate that Oracle bug 13075226 for the repository has been addressed, SnapSync will not be possible when using SCN backups and real time apply.


Level Backup Mode for SnapSync

By default, the Delphix Engine's SnapSync feature uses SCN Backup mode and is designed to not interfere with other backups that may already be in use. However, in cases where RMAN is not being used outside of the Delphix Engine, the Delphix Engine can use the Level Backup mode that improves SnapSync behavior on Oracle 11g physical standby databases. In this mode, redo apply does not have to be stopped during SnapSync. See Advanced Data Management Settings for Oracle dSources for more information about SnapSync settings.

Requirements for Using Level Backup Mode

 Customer not backing up their physical standby with RMAN:

  • Set CONTROL_FILE_RECORD_KEEP_TIME to 365

 OR all of the following:

  • Physical standby database running Oracle 11.2.0.2 or later version
  • All RMAN backups must use tags
  • RMAN CROSSCHECK commands must specify tags
  • RMAN DELETE commands must specify tags
  • RMAN DUPLICATE commands must specify tags
  • Set CONTROL_FILE_RECORD_KEEP_TIME to 365

Failure to meet all of these requirements will cause external RMAN backups to be incomplete or result in corrupt SnapSync snapshots. Switching from SCN to LEVEL mode will force a new LEVEL 0 backup.

Stopping and Restarting Redo Apply

Oracle bug 10146187 requires stopping of redo apply before an SCN-based incremental backup can be issued. These scripts can be used as pre- and post-scripts during the dSource linking process to stop and restart Redo Apply. For more information about scripts, see Customizing Oracle Management with Hook Operations

These scripts must be modified for local use, particularly in regard to whether the physical standby database operates in MOUNTED or OPEN mode.

Failure to properly customize these scripts could violate your Oracle license terms by running redo apply on an open database, which requires an Oracle Active Data Guard license.

Linking and Provisioning a Mounted Standby

For databases that are in the mounted state, the Delphix database user account must be SYS (having the SYSDBA role), SYSBACKUP (having the SYSBACKUP role) or SYSDG (having the SYSDG role).

SYSBACKUP and SYSDG roles are only available in Oracle 12.1 and later releases.

However, for an open standby (Active Data Guard) database, only a regular database user account is required.

Connecting to a mounted standby with a SYS user account requires that the mounted standby be configured with a password file. Delphix does not capture the password file during SnapSync, and for this reason cannot provision or sync validate a database with a SYS user. A secondary, regular database user account can be specified through either the Delphix Admin application or CLI. This database user will then be used to connect to the database during provisioning and validated sync. Note that the SYS user is still required to perform snapshots of the source database.

In the Delphix Admin application, the non-SYS user can be specified from within the Add dSource wizard, or on the back of the Oracle dSource Card after linking.

Setting the Non-Sys User on the Oracle dSource Card

  1. Create the delphix_db user in the primary database.
  2. Log into the Delphix Admin application using delphix_admin credentials.
  3. In the  Manage  menu, select  Databases > My Databases .
  4. From the Configuration tab select the Oracle dSource for which you want to add a non-SYS user.
  5. Click the dSource's  icon to open the dSource information pane.
  6. Click the Edit button next to Non-SYS User.
  7. Enter a non-SYS user and credentials that exist on the standby.
  8. Click the Accept button to save this user and associated credentials.

The non-SYS user will be used to connect to all VDBs provisioned from snapshots of this dSource that are created after the non-Sys user has been set.

Updating repository for applied patches with the Command Line Interface

  1. Select the repository of the database

    delphix> repository select '/opt/app/oracle/product/11.2.0.2/db_1'
  2. Execute the update command.

    delphix repository ''/opt/app/oracle/product/11.2.0.2/db_1''> update
  3. Set appliedPatches to list of current patches applied to repository.

    delphix repository ''/opt/app/oracle/product/11.2.0.2/db_1''update *> set appliedPatches=13075226
  4. Commit the operation. 

    delphix repository ''/opt/app/oracle/product/11.2.0.2/db_1''update *> commit

Setting the Non-Sys User with the Command Line Interface

  1. Select the source config of the mounted standby.

    delphix> sourceconfig select pomme
  2. Execute the update command.

    delphix sourceconfig "pomme"> update
  3. Set the nonSysUser and nonSysCredentials to a non-SYS user that exists on the standby.

    delphix sourceconfig "pomme" update *> set nonSysUser=<non-sys-username>
    delphix sourceconfig "pomme" update *> set nonSysCredentials.type=PasswordCredential
    delphix sourceconfig "pomme" update *> set nonSysCredentials.password=<non-sys-password>
  4. Commit the operation. 

    delphix sourceconfig "pomme" update *> commit
    

Related Links