Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • 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.

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.

...

See: Use the Required deployPackager.properties File

BackupRestoreOracleEphemeralInternalPdb

Create ORCLCDB SYSOPER User

You must create a new user on oracle CDB with the following privileges to create an ephemeral copy.

...

Info

The user name must start with c## to be a correct user type.

c##liquibase_ephemeral_user is just an example value, you can specify any name you would like. This is the user that connects to the ephemeral dbDef.

BackupRestoreOracleEphemeralExternalPdb

Create ORCLCDB SYSOPER User

On the database A we will to create a new user on oracle CDB with the following privileges to be able to create an ephemeral copy

...

If you would like to use another name for database link - please use oracleEphemeralDatabaseLinkName packager property.

Info

Note regarding Oracle Managed Files (OMF): If using OMF with BackupRestoreOracleEphemeralExternalPdb then OMF mode should be the same on both instances of the Oracle database.

Associated deployPackager.properties

...

See: Use the Required deployPackager.properties File

...

Changes to the Project Repository and datical.project

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.

...

If oracleEphemeralSourceName packager property is not specified we try to get PDB name from 2 tables on the DB (v$pdbs and dba_data_files), if customer already gave the user required grants according to Multi-Schema Projects - Oracle Roles and Permissions , everything should work because both GRANT SELECT ANY DICTIONARY TO DATICAL_ROLE; and GRANT IMP_FULL_DATABASE TO DATICAL_PACKAGER_ROLE; already give us enough permission to query the tables, but if customer hasn’t given such permission to us and want to use the ephemeral databaseBackupRestoreMethod - permissions to query v$pdbs and dba_data_files should be provided.

Using Oracle Managed Files (OMF) with Oracle Ephemeral Database

If using OMF with BackupRestoreOracleEphemeralExternalPdb then OMF mode should be the same on both instances of the Oracle database.