...
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 |
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.
...
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.
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"/>
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.
...