Oracle Hosts and Databases 

To begin using Oracle environments in Delphix, reference this article as a provided outline of the configuration requirements for the source and target hosts. 

On each host with Oracle, there must be an operating system user configured to the required specifications for Delphix, as explained in the table below. This user (i.e. delphix_os) can easily be created by using the createDelphixOSUser.sh script (located at the bottom of the page).

These requirements apply to both source and target environments. However, target environments have additional requirements which are detailed in the ‘Target Host Requirements’ section below.

Source Host Requirement

Host Requirement

Explanation

Profile and privileges should be the same as the Oracle user (e.g. oracle) on the host. 

For example, delphix_os should have the same environment variable settings ($PATH, $ORACLE_HOME, etc.), umask, and ulimit settings, as the user oracle.

The Delphix software owner account (e.g. delphix_os) must have the same primary OS group as the Oracle software owner account (e.g. oracle).

Delphix recommends giving the delphix_os user the same primary OS group as the Oracle home owner. This ensures the Delphix engine can fully and automatically discover Oracle homes, databases, and listeners.


Often, this is an OS group named oinstall. However, the oinstall group is not always necessary depending on your Oracle configuration. This user requires access to the libobk_proxy.so library in the toolkit for the child processes triggered by RMAN.

The delphix_os user must have the Oracle OSDBA group (typically dba) as a primary or secondary OS group. 


The OSDBA group allows "OS authentication" when connecting to an Oracle database instance by specifying neither username or password (i.e. rman target /), thus eliminating the need to store or retrieve an SYSDBA password.

Oracle 12c
For Oracle 12c and later versions of Oracle, the delphix_os user can also use OSBACKUPDBA as its secondary group. This is typically the BACKUPDBA group on the host.

For secondary group requirements, the Delphix OS user must be a member of the SYSBACKUP OS group (12.1 or higher) or the SYSDBA OS group (11.2 and lower). This ensures that the Delphix engine is able to take snapshots of source databases using RMAN.

There must be a directory on the source host where the Delphix Engine Toolkit can be installed, for example: /var/opt/delphix/toolkit

The delphix_os user and primary OS group (i.e. oinstall) must own the directory.

The directory must have at least permissions -rwxr-x-- (0750)

The delphix_os user must have -rwxr-x-- (0750) permissions on each directory in the path leading to the toolkit directory.

At least 1.6 GB of storage is needed at the time of setting up the environment and at least 500MB of free space is required to allow refreshes and maintenance of the toolkit, especially during upgrades.

The Delphix Engine must be able to make an SSH connection to the source host (typically port 22).


Read access to $ORACLE_HOME and all underlying files and directories.

Delphix needs to run locally available Oracle tools such as sqlplus and RMAN. Those executables, as well as various required libraries, reside inside the Oracle home

Additional requirements for RAC Environments

If the source host is part of a RAC cluster, Delphix will attempt to use all nodes and crsctl for its operations.  

RAC Environment Requirement

Explanation

The delphix_os user and Delphix Toolkit configuration must be the same on each node in the RAC cluster

  • delphix_os must have a execute permission on crsctl and srvctl on each node in the cluster.
  • access to olsnodes is needed.
  • The Delphix Toolkit must be installed in the same directory path on each of the nodes in the source cluster.
  • All data files, archive logs, and database control file must be located on storage shared by all of the cluster nodes. 
  • Each node in the cluster must be able to access archive logs and the database control file from all other nodes.
  • At least 1.6 GB of storage is needed at the time of setting up the environment and at least 500MB of free space is required to allow refreshes and maintenance of the toolkit, especially during upgrades.

Masked Provisioning

Masked Provisioning is supported on Oracle RAC only when used with "script-based masking".

Auto-Discovery Requirements

The preferred way to find source databases it to allow Delphix to automatically discover your Oracle Homes and Databases by examining the inventory and oratab files and the listener setup. Successful autodiscovery requires read access to these and related files.

In most environments, delphix_os group membership is sufficient to perform auto-discovery.

However, if you have overridden Oracle's group permission structure, you may need to modify privileges to allow auto-discovery.

Auto-Discovery Requirements

Explanation

The ORATAB file must exist (typically in /etc/oratab or /var/opt/oracle/oratab) and be readable by delphix_os.

Read access to:

  • /etc/orainst.loc or /var/opt/oracle/orainst.loc.
  • the Oracle inventory file (inventory.xml)

The ORATAB is used to determine the location of the Oracle installations on your host.

Note: The Oracle inventory file is identified by the contents of orainst.loc (for example, $INVENTORY_HOME/ContentsXML/inventory.xml).

Permission to run pargs on Solaris hosts and ps on AIX, HP-UX, and Linux hosts, as super-user.

This permission is usually granted via sudo authorization of the commands.  

Unless you have used a custom TNS_ADMIN setting, elevated access to ps (pargs on Solaris) is not required

See the topic Sudo Privilege Requirements for Oracle Environments for further explanation of this requirement, and Sudo File Configuration Examples for Oracle Environments for examples of file configurations

Source Database Requirements

For each source database, there are specific configurations required for Delphix to ingest data.

Source Database Requirement

Explanation

For each Oracle Home, the delphix_os user should have execute permission for the programs in $ORACLE_HOME/bin.

If symlinks are configured, Delphix must be configured with the same $ORACLE_HOME path as was used when starting the instance. 

Ensure the PermitUserEnvironment configuration parameter = "yes" in the sshd_config file

The $ORACLE_HOME/bin/oracle executable must have the  SETUID and SETGID flags set. Permissions on the oracle binary must be at least -rwsr-s–x (06751).

Source databases must be in ARCHIVELOG mode to ensure that redo logs are archived.

Archive logs are required to make SnapSyncs consistent and provisionable.

Enable Block Change Tracking (BCT).  (Highly Recommended).

Enabling BCT will improve SnapSync operation time. Without BCT, incremental SnapSyncs must scan the entire database.

Enable FORCE LOGGING.  (Highly Recommended)

If you do not enable FORCE LOGGING and NOLOGGING operations take place, you will get a Fault from the Delphix Engine. 

If you must use NOLOGGING to meet specific performance criteria, take a new snapshot of the source database after doing the NOLOGGING operations to bring the dSource up-to-date before provisioning VDBs.

If the online redo log files are located on RAW or ASM devices, then LogSync can only operate in Archive Only mode.

See the topics Advanced Data Management Settings for Oracle dSources and Linking Oracle Physical Standby Databases for more information.

Operating System Specific Requirements

Solaris

On a Solaris host, gtar must be installed. Delphix uses gtar to handle long file names when extracting the toolkit files into the toolkit directory on a Solaris host. The gtar binary should be installed in one of the following directories:

  • / bin:/usr
  • / bin:/sbin:/usr
  • / sbin:/usr/contrib
  • / bin:/usr/sfw
  • / bin:/opt/sfw
  • / bin:/opt/csw/bin

Additional Target Host Requirements

This topic describes the user privileges and environment requirements that are required for Oracle target hosts and databases collectively referred to as target environments. 

These are in addition to the ‘Oracle Hosts and Database Requirements’ called out above.

Target Host Requirement

Explanation

The Delphix OS user must be a member of the SYSDBA OS group.This ensures that the Delphix engine is able to create new VDBs on target hosts.

There must be a directory (e.g. "/mnt/provision/") that will be used as a container for the NFS mount points that are created when provisioning a VDB.

The delphix_os user and primary OS group (i.e. oinstall or dba) must own the directory.

The directory must have at least permissions  -rwxrwx--- (0770).

There must be no symbolic links in the path of this directory, because NFS can mount into a directory with symlinks in its path, but cannot unmount.

Permission to run:

  • mount, umount, mkdir, rmdir as super-user.
  • pargs on Solaris hosts 
  • ps on Linux, AIX, and HP-UX as super-user.
  • nfso on AIX hosts as super-user

The following permissions are usually granted via sudo authorization of the commands. See Sudo Privilege Requirements for Oracle Environments for further explanation of the commands, and Sudo File Configuration Examples for Oracle Environments for examples of the /etc/sudoers file on different operating systems.

Optional write permission to the $ORACLE_BASE_CONFIG/dbs directory

If write permission is granted, an instance init file will be written to this directory during provisioning that will simplify manual instance startup.
If write permission is not granted, manual instance startup must specify the instance init file. See Manually Starting a VDB.

An Oracle listener process running on the target host. 

The listener's version should be equal to or greater than the highest Oracle version that will be used to provision a VDB.

Required packages on target hosts:

  1. portmapper / rpcbind
  2. status daemon (rpc.statd)
  3. NFS lock manager (rpc.lockd/lockmgr)

As the Delphix Engine uses NFSv3 for mounting target host filesystems, the prerequisite packages to support NFSv3 client communication are required for normal operation, and the required services to support NFS client communications (including file locking) must be running. NFSv3 is enabled by default and to enable NFSv4, see NFSv4 Configuration

If using ASM, the delphix_os user must have the Oracle ASM ownership groups as secondary OS groups (typically asmadmin and asmdba)This ensures the Delphix engine can fully and automatically discover Oracle homes, databases, and listeners.



Scripts

Related Topics