Versions Compared

Key

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

...

See: Use the Required deployPackager.properties File

1. Choose the Internal or External Method

First you must decide if you are using the internal or external Ephemeral method.

2. Create ORCLCDB SYSOPER User

Once that is decided, you will create a user. You must create a new user on Oracle CDB with the associated privileges to create an ephemeral copy for both internal and external methods.

Note

Choose option 3a OR 3b

3a. BackupRestoreOracleEphemeralInternalPdb

Internal user privileges:

Code Block
CREATE USER c##liquibase_ephemeral_source IDENTIFIED BY password;
GRANT CREATE SESSION TO c##liquibase_ephemeral_source CONTAINER=all;
GRANT CREATE PLUGGABLE DATABASE TO c##liquibase_ephemeral_source CONTAINER=all;
GRANT SYSOPER TO c##liquibase_ephemeral_source CONTAINER=all;

3b. BackupRestoreOracleEphemeralExternalPdb

External user privileges:

...

Info

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

4. Optional: Only for TNSNAMES/LDAP Users
Use TNSNAMES/LDAP with Oracle Ephemeral Database

Note

This section is necessary for TNSNAMES/LDAP users.

...

Info

Liquibase recommends creating a dbDef definition in the datical.project but not including this dbDef on any Liquibase pipelines/plans.

6. Methods for creating the 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, you are not able to run Status against it.

...

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

  2. Clear out the dbDefsId for the new _EPHEMERAL dbDef.

    Code Block
        <dbDefs xsi:type="dbproject:OracleDbDef" name="DEV_EPHEMERAL" driver="oracle.jdbc.OracleDriver" hostname="cs-oracledb.liquibase.net" port="1521" username="c##liquibase_ephemeral_user" password="bGlxdWliYXNlX3VzZXI=" labels="current" dbDefsId="" serviceName="ORCLCDB" enableCompression="false" rowsPerBatch="10000"/>
  3. Do a Test Connection to another database in the pipeline to populate the dbDefsId field before checking it into source control.

7. Optional Step: Associated deployPackager.properties

These are packaging properties available specifically for the ephemeral database packaging method. They are optional if you would like to override the default values.

...