...
Ephemeral database feature works ONLY for PDB databases
Ephemeral database feature works ONLY for Oracle 19c and 21c
Ephemeral database feature does not work for Oracle RDS
You cannot place the temporary copied database in a pipeline or run a status on it because technically it does not exist in the pipeline.
Implement the Ephemeral Database
Follow these steps to implement the ephemeral database configuration for your workflow.
Create an Ephemeral dbDef
An ephemeral dbDef must be created in the datical.project file to instruct Liquibase which database should be cloned for the ephemeral copy and to set the connection string information. Because this database is transient by definition and only exists during the Deploy Packager operation, it is not eligible on a Liquibase pipeline to have Status run against it.
Info |
---|
Liquibase recommends creating a dbDef definition in the datical.project but not including this dbDef on any Liquibase pipelines/plans. |
Methods for creating the Ephemeral dbDef
In order to create a dbDef without including the dbDef on an existing pipeline Liquibase recommends using ONE of the following methods:
Create the dbDef using the Liquibase Enterprise GUI and then delete the dbDef from the pipeline.
Include the ephemeral dbDef on the Project Creation Script but do not include the dbDef on any pipelines.
Manually copy the dbDef from an existing dbDef in the pipeline.
Follow the instructions below based on the desired method.
Method 1: Create the dbDef with the Liquibase Enterprise GUI
Create the dbDef using instructions from Creating a Liquibase Enterprise project Using the Liquibase Enterprise GUI
Ensure the Name of the database is <dbDef_to_be_cloned>_EPHEMERAL. This can be DEV, QA, STAGE, or PROD.
Enter your Connection Settings.
If you are using a TNSNAMES/LDAP connection, see the section below Using TNSNAMES/LDAP with Oracle Ephemeral Database.
If you are using a BASIC connection Service Name should be ORCLCDB or the name of the container that should house the ephemeral copy. (See Backup and Restore Package Methods section before for more information.)
You will need to enter your container name in the Hostname text box. This entry will depend on if you are using an internal or external backup and restore method. (See Backup and Restore Package Methods section before for more information.)
The username and password should be the ORCLCDB user created in step 1. Create ORCLCDB SYSOPER User above.
Contexts and Labels
Contexts should be left blank or set to the same context as the dbDef to be cloned
Labels should generally be set
To the name of the pipeline that houses the dbDef to be cloned
Or use the same pattern that is in use for the dbDef to be cloned
After creating the dbDef, remove the Step from the Pipeline by selecting Remove Step
Do not select the box to delete the Deployment Step from the Deployment Plan
Method 2: Create the dbDef with the Project Creation Script
Create the project using the instructions from Creating a Liquibase Enterprise Using the Project Creation Script (project_creator.groovy)
Include the ephemeral database on the ProjectNameOracle.dbdefs.tsv.txt. Use name <dbDef_to_be_cloned>_EPHEMERAL
Do not reference the ephemeral database as part of any pipeline on ProjectNameOracle.pipelines.tsv.txt
Method 3: Manually create the dbDef by copying from existing dbDef in datical.project
If you are manually copying the dbDef in the datical.project file from the dbDef to be cloned
If the password is present in the file, please note this value is Base64 encoded. If modifying this value, the new value will also need to be Base64 encoded.
Clear out the dbDefsId for the new _EPHEMERAL dbDef.
Do a Test Connection to the DMC Database (under Settings → Configure DMC DB → Test Connection) or perform a Status operation on the project in order to populate the dbDefsId for the new ephemeral dbDef.
Backup and Restore Package Methods
Two new package methods are supported. You can use an internal or external container depending on your needs. If your internal container is secured and permissions do not allow you to make changes within it, the external package method is recommended.
Package Method Name | Description |
---|---|
BackupRestoreOracleEphemeralInternalPdb | This is the same container that holds the dbDef to be copied. Eg. if I want to use the DEV database, the cloned db will be created on the same container as the DEV database. |
BackupRestoreOracleEphemeralExternalPdb | This container is different and separate from the cloned dbDef. |
See: Use the Required deployPackager.properties File
...
These are packaging properties available specifically for the ephemeral database packaging method.
Property Name | Description |
---|---|
oracleEphemeralSourceName | [Optional] |
oracleEphemeralCopyName | [Optional] |
oracleEphemeralDatabaseLinkName | [Optional] |
oracleEphemeralCopyWithData | [Optional] By default we do not copy databases with data. If you would like to copy both the structure and data, you will use this property. |
oracleEphemeralSkipFinalDeploy | [Optional] This property allows you to:
|
See: Use the Required deployPackager.properties File
Implement the Ephemeral Database
Follow these steps to implement the ephemeral database configuration for your workflow.
Create an Ephemeral dbDef
An ephemeral dbDef must be created in the datical.project file to instruct Liquibase which database should be cloned for the ephemeral copy and to set the connection string information. Because this database is transient by definition and only exists during the Deploy Packager operation, it is not eligible on a Liquibase pipeline to have Status run against it.
Info |
---|
Liquibase recommends creating a dbDef definition in the datical.project but not including this dbDef on any Liquibase pipelines/plans. |
Methods for creating the Ephemeral dbDef
In order to create a dbDef without including the dbDef on an existing pipeline Liquibase recommends using ONE of the following methods:
Create the dbDef using the Liquibase Enterprise GUI and then delete the dbDef from the pipeline.
Include the ephemeral dbDef on the Project Creation Script but do not include the dbDef on any pipelines.
Manually copy the dbDef from an existing dbDef in the pipeline.
Follow the instructions below based on the desired method.
Method 1: Create the dbDef with the Liquibase Enterprise GUI
Create the dbDef using instructions from Creating a Liquibase Enterprise project Using the Liquibase Enterprise GUI
Ensure the Name of the database is <dbDef_to_be_cloned>_EPHEMERAL. This can be DEV, QA, STAGE, or PROD.
Enter your Connection Settings.
If you are using a TNSNAMES/LDAP connection, see the section below Using TNSNAMES/LDAP with Oracle Ephemeral Database.
If you are using a BASIC connection Service Name should be ORCLCDB or the name of the container that should house the ephemeral copy. (See Backup and Restore Package Methods section before for more information.)
You will need to enter your container name in the Hostname text box. This entry will depend on if you are using an internal or external backup and restore method. (See Backup and Restore Package Methods section before for more information.)
The username and password should be the ORCLCDB user created in step 1. Create ORCLCDB SYSOPER User above.
Contexts and Labels
Contexts should be left blank or set to the same context as the dbDef to be cloned
Labels should generally be set
To the name of the pipeline that houses the dbDef to be cloned
Or use the same pattern that is in use for the dbDef to be cloned
After creating the dbDef, remove the Step from the Pipeline by selecting Remove Step
Do not select the box to delete the Deployment Step from the Deployment Plan
Method 2: Create the dbDef with the Project Creation Script
Create the project using the instructions from Creating a Liquibase Enterprise Using the Project Creation Script (project_creator.groovy)
Include the ephemeral database on the ProjectNameOracle.dbdefs.tsv.txt. Use name <dbDef_to_be_cloned>_EPHEMERAL
Do not reference the ephemeral database as part of any pipeline on ProjectNameOracle.pipelines.tsv.txt
Method 3: Manually create the dbDef by copying from existing dbDef in datical.project
If you are manually copying the dbDef in the datical.project file from the dbDef to be cloned
If the password is present in the file, please note this value is Base64 encoded. If modifying this value, the new value will also need to be Base64 encoded.
Clear out the dbDefsId for the new _EPHEMERAL dbDef.
Do a Test Connection to the DMC Database (under Settings → Configure DMC DB → Test Connection) or perform a Status operation on the project in order to populate the dbDefsId for the new ephemeral dbDef.
Using TNSNAMES/LDAP with Oracle Ephemeral Database
...