Delphix architecture with Oracle
Overview
Various Oracle configurations ranging from Oracle RAC to Oracle multi-tenant can be used with Delphix. This article contains an overview of how Delphix works with Oracle.
There are three key concepts when using Delphix with any data platform:
Environments: The server and software required to run a data set. For Oracle, this will be an operating system host with Oracle instances running on it.
Source Environment: Source data to be ingested into Delphix. These will be used to create dSources.
Target Environment: Target hosts to provision VDBs. These need Oracle installations that correspond to the versions of the Source environments, per our Oracle matrix.
dSources: A database that the Delphix Virtualization Engine uses to create and update virtual copies of your database
VDBs: A database provisioned from either a dSource or another VDB which is a copy of the source data. A VDB is created and managed by the Delphix Virtualization Engine.
With these concepts in mind, explore how Delphix connects to Oracle environments and creates Oracle dSources and VDBs.
Delphix is not a replacement for an archived log backup solution and should not be relied on to do so. This can cause issues where Delphix is unable to start a vPDB that was plugged into a physical CDB if Delphix is having to determine and deliver the archived logs. You will need to find a separate archived log backup solution workflow to own and be responsible for physical CDB archived logs.
Environment linking and provisioning architecture
As shown in the diagram below, there are two ways by which Delphix Engine can ingest data from an Oracle dSource.
Source based ingestion
In this method, Delphix Engine begins by ingesting data from your source databases in order to create dSources. Once an environment is added, Delphix Engine will automatically ‘discover’ databases on it, which are compatible to ingest from, to create new dSources.
When a dSource is to be added, we will leverage RMAN and JDBC to create snapshots of the source by taking a full database backup. The newer snapshots take incremental backups of the database to ingest incremental data between snapshots. SnapSync and LogSync policies can be leveraged for automated snapshots. The result is a TimeFlow with various snapshots from which you can provision a VDB.
Staging push ingestion
Staging Push introduces the concept of a staging instance for Oracle dSource ingestion. Storage for the staging instance is provided by the Delphix Engine via NFS. The staging database can be populated with production data after which a dSource Snapshot can be taken.
The staging database needs to be active only while taking dSource snapshots. It can be shut down after the snapshot to save system resources on the Staging host. Pre-sync and Post-sync hooks can be used to populate the staging database with production data before taking snapshots.
When you later provision a VDB, you can specify any environment as a target, including the environment that contains the source/staging database. However, we recommend choosing a different target environment for the best performance. It must have an operating system that is compatible with the one running on the source/staging environment.