Linking
Linking a data source will create a dSource object on the engine and allow Delphix to ingest/manage data from this source. The dSource is an object that the Delphix Virtualization Engine uses to create and update virtual copies of your database.
Ingestion of data is done using a staging host. Delphix expects the same version of oracle binaries as the source on this staging host. Delphix will read the existing backup of the Oracle database either from disk or from tape and restore it on the staging host. The location of datafiles on the staging host is Delphix mounted filesystem which allows Delphix to take snapshots.
Delphix leverages RMAN for restoring the database on the staging host. The user will provide the dbid, dbname, and controlfile backup piece for linking. Delphix finds out the latest full or incremental backup end time from the controlfile and restores the database as of that time. Once the restoration is done, Delphix will proceed with recovery to make the database consistent but will not open in read-write mode. Consistency is verified by temporarily opening a database in read-only mode and then switching back to mount mode.
Periodic snapsync restores the incremental backups if available in the backup folder provided as input to Delphix. During snapsync, Delphix looks for the latest controlfile backuppiece in the backup folder, finds the latest full / Incremental backup, and rolls forward existing dSource to that time. Delphix action will depend on the latest backup type it finds in the control file and executes the following actions.
- Incr backup – Delphix will find any new datafiles in this incr backup, restore them, and then roll forward the existing database.
- Full Backup – Delphix will restore the latest full backup, recover and make it consistent without opening in read-write mode.
Full backups can be done using RMAN with 2 different syntax.
1) BACKUP DATABASE OR
2) BACKUP INCREMENTAL LEVEL 0 DATABASE
While both will do a full backup of the database, operations of Delphix during snapsync will be different. Following are guidelines for backup method w.r.t Delphix.
- If the nature of backup is only one full backup in a lifetime and forever incremental level 1, any of the above syntax can be used.
- If the nature of backup is daily/weekly/periodically full and the rest of the days incremental then full database backup needs to be done using former syntax i.e.
BACKUP DATABASE
. In this case, snapsync will always first restore full database and then make the database consistent on the staging host before taking a snapshot. - If the nature of backup is daily/weekly/periodically full and the rest of the days incremental and full backups are done using
BACKUP INCREMENTAL LEVEL 0
syntax, custom environment variable namedBACKUP_MODEL
with value asINCR0_INCR1
need to be defined during dSource Ingestion. In this case, snapsync will always first restore full database using level 0 if its the latest backup and then make the database consistent on the staging host before taking a snapshot.
Once the linking is done and dSource snapshot is successful, Delphix does not need old backups. It’s advisable to keep the last controlfile backuppiece and all other old backups can be purged.
After a dSource has been linked, you can begin to perform dSource operations on it such as enable, disable, delete, provision vdb, and more.
Prerequisites
- Install delphix engine compatible with the OBI plugin version as per support matrix
- Install Oracle binaries on staging host
- Execute Discovery on staging host
- Create sourceConfig on staging host
Create dSource
Steps:
- Login to Delphix Management application.
- Click Manage > Datasets
- Select Add dSource.
- In the Add dSource wizard, select the Oracle source config you just created on the staging host.
- Select the dSource type (Seed, Full, Partial, PDB, PDB-Partial) from the drop-down and enter dsource specific parameters for your configuration. dSource is delphix representation of source database copy. It can be created in different ways
dSource Parameters
API Parameter | Parameter | Description | dSource Type | Comments |
---|---|---|---|---|
dSourceType | dSource Type | Type of dSource | Seed, Full, Partial, PDB, PDB-Partial |
|
mountPath | Mount Path | Mount Path for dSource | Full, Partial, PDB, PDB-Partial |
|
dbmultitenant | Multitenant Database [ CDB ] | Multitenant Database ? | Full, Partial, PDB, PDB-Partial |
|
instanceName | Instance Name | Staging Oracle Instance | Seed, Full, Partial, PDB, PDB-Partial |
|
dbid | Source Database DBID | DBID of Source database | Full, Partial, PDB, PDB-Partial |
|
pdbName | Source PDB Name [ if dSource Type is PDB ] | Source Pluggable database name | Seed, PDB, PDB-Partial |
|
restorefromtape | Restore from Tape | Restore from Tape | Full, Partial, PDB, PDB-Partial |
|
tdeEnabled | TDE Encrypted Source PDB | Is Source TDE Encrypted ? | PDB, PDB-Partial |
|
walletpwd | Source Wallet Password | Password for Source wallet | Full, PDB, PDB-Partial |
|
dbctrlbkppiece | Source Database Controlfile disk backup piece name (full path) | Full path of Source Database Controlfile disk backup piece name | Full, Partial, PDB, PDB-Partial |
Optional for Tape Backups |
dbrmanbkploc | Database disk backup location | RMAN backup location on staging host | Full, Partial, PDB, PDB-Partial |
Not Applicable for Tape Backups |
pitr | Point in time dSource | Restore Point in time dSource | Full, Partial, PDB, PDB-Partial |
|
pitr_snapshots | Point in time snapshots [ Update Restoretime manually for each snapshot ] | PITR Snapshots | Full, Partial, PDB, PDB-Partial |
Manual Intervention required |
restoreTime | Source database time [ DD-MON-YYYY HH24:MI:SS ] | DD-MON-YYYY HH24:MI:SS | Full, Partial, PDB, PDB-Partial |
Only for PITR |
tbsnames | Tablespace Names | Tablespace Names | Partial, PDB-Partial |
Only for Partial |
tapeparams | Tape Parameters | Parameters to access Tape library - Same as source database | Full, Partial, PDB, PDB-Partial |
|
catalog_conn | Catalog connection | Catalog connection to ZDLRA | Full, Partial, PDB, PDB-Partial |
|
send_params | Send Params | Send Params to Tape libraries for DDBOOST/ZDLAR etc | Full, Partial, PDB, PDB-Partial |
Not necessary always required |
channels | RMAN Channels | Number of RMAN channels | Full, Partial, PDB, PDB-Partial |
|
config_settings_prov | Customize init.ora parameters | Customize init.ora parameters | Full, Partial, PDB, PDB-Partial |
Parameter Name, Value |
custom_env_variables | Custom Environment variables | Custom Environment variables | Full, Partial, PDB, PDB-Partial |
Env Variable Name, Value |
minimizeloggroups | Minimize redolog groups | Reduce number of redo groups for faster provisioning | Full, Partial, PDB, PDB-Partial |
Reduce number of redo groups for faster provisioning |
Create Sourceconfig
Every environment contains repositories
and each environment may have any number of repositories associated with it. Repository
represents the binaries for Oracle instance. Each repository can have many SourceConfig
which represent Oracle instance. There is no sourceconfig generated automatically in oracle-plugin. We need to configure SourceConfig
objects through which we can create a dSource.
- Login to the Delphix Management application.
- Click Manage.
- Select Environments.
- Select the repository
- Click on
+
icon ( Shown in next image )
6. Add required details in Add database
section.
Database Name [ db_name ]/CDB[db_name ]
: This should match with source db_name [ Case sensitive ]select name from v$database;
Database Unique Name
: Database unique name [ db_unique_name ] for Staging database.Database Unique Identity
: Unique identifier for staging dsource in delphix. Recommmended same as db_unique_name OR db_name-db_unique_name for Staging database.- Click
Add
button
Create dSource
dSource is delphix representation of source database copy. It can be of several different types.
- Create sourceConfig under repository of staging environment
- Click on
Add dSource
link.
3. Select appropriate dSource Type.
4. Enter oracle specific parameters for your dSource configuration.
5. Proceed with wizard and submit to create dSource.
Seed
This type of dSource is generally used for pure development purpose. There is no source instance associated with it. It creates a empty instance which is managed by delphix and helps to create virtual oracle database instance to avail benefits of all delphix features.
Full
This type of dsource helps to create dSource for complete copy of database container & non-container ( includes all PDBs). dSource is created using RMAN full backup from Disk or Tape Drives. It helps to create dsource using zero touch production. Periodic rman incremental backups can be loaded to create timeline for dsource.
Partial
This type of dsource is created using RMAN Full/Partial backup. Full/Partial backup can be read from Disk or Tape Drives. Partial backup should include all the backuppieces needed to restore partial database. This will ingest partial non-container database. This option is not for container database. User need to specify comma seperated tablespace names to be ingested. System will bydefault ingest SYSTEM, SYSAUX, UNDO, USERS and need not to specify in the list of tablespaces. It helps to create dsource using zero touch production. Periodic backups can be loaded to create timeline of dsource.
PDB
This type of dsource is created using RMAN Full/Partial backup. Full/Partial backup can be read from Disk or Tape Drives. This will ingest single pluggable database. This option is not for non-container database or complete container database. User need to specify PDB name to be ingested. It helps to create dsource using zero touch production. Periodic backups can be loaded to create timeline of dsource.
PDB-Partial
This type of dsource is created using RMAN Full/Partial backup. Full/Partial backup can be read from Disk or Tape Drives. Partial backup should include all the backuppieces needed to restore partial database. This will ingest partial pluggable database. This option is not for non-container database. User need to specify comma seperated tablespace names to be ingested for the mentioned PDB. System will bydefault ingest SYSTEM, SYSAUX, UNDO, USERS and need not to specify in the list of tablespaces. It helps to create dsource using zero touch production. Periodic backups can be loaded to create timeline of dsource.