Requirements for Oracle hosts and databases
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).
VDB’s NFS mount directory must be a local directory with the same name on each node of the cluster and not the NFS mounted directory.
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 requirements
Host requirement | Explanation |
Privileges must be the same as the Oracle user (e.g. oracle) on the host. | For example, the delphix_os user must have the same 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. Note: “Delphix recommends assigning the delphix_os user the same primary OS group as the Oracle home owner, which is typically the oinstall group, to enable automatic discovery of Oracle homes, databases, and listeners. If this is not possible, assign the Oracle OSDBA group (typically |
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 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 |
Bash shell must be installed and available for Linux based host. | Delphix requires the ability to run commands using the Bash shell. For the engine to operate with the host, Bash must be available and included in the system path, allowing for the execution of the 'bash' command. Most of the Linux machine bash is available by default and user may not need to do anything. |
The sqlnet.ora configuration file must be configured to allow bequeath database connections; this can be achieved by setting "SQLNET.AUTHENTICATION_SERVICES" to either
| Delphix will connect to Oracle databases using the bequeath protocol, this allows connections to the database(s) using OS user group membership to authenticate, removing the requirement for database level accounts. To allow this, sqlnet.ora must be configured to not actively block bequeath connections. |
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 |
|
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:
| 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 Oracle sudo privilege requirements for environments for further explanation of this requirement, and Oracle sudo privilege requirements for 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 must 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 Configuration settings for Oracle virtual databases and Linking an Oracle physical standby database 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 must 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/staging 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/Staging 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/" or "/mnt/staging/") that will be used as a container for the NFS mount points that are created when provisioning a VDB or linking a staging push dSource. | 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:
| The following permissions are usually granted via sudo authorization of the commands. See Oracle sudo privilege requirements for environments for further explanation of the commands, and Oracle sudo privilege requirements for 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. |
An Oracle listener process running on the target host for provisioning a VDB | The listener's version must be equal to or greater than the highest Oracle version that will be used to provision a VDB. |
Required packages on target hosts:
| The Delphix engine uses NFS to mount target host filesystems. Therefore, the prerequisite packages to support NFS client communication, including file locking, must be running. By default, the NFS version (in current OS versions) is set to AUTO. If set to AUTO, NFSv4 is automatically selected. However, if NFSv4 target host configurations are not set, the engine will choose NFSv3. See NFSv4 Configuration for more information. |
Optional permission to run | This is required to invoke Datapatch command with any environment user other than the Oracle user. |
Scripts