...
If you use TNS names in your dbDef, then you should prepare either:
Prepare a TNS name with
_eph
postfix for the ephemeral copy because Liquibase cannot modify TNS files.Or, if you use the
oracleEphemeralCopyTnsName
deploy packager property, you should prepare a TNS name for the value specified in the property.
If this is what your dbDefs look like:
Code Block |
---|
<dbDefs xsi:type="dbproject:OracleDbDef" name="DEV" hostname="localhost" driver="oracle.jdbc.OracleDriver" tnsName="dev" /> <dbDefs xsi:type="dbproject:OracleDbDef" name="DEV_EPHEMERAL" driver="oracle.jdbc.OracleDriver" tnsName="admin_sysoper" /> |
Then you should add a dev_eph
entry, or your chosen custom name if you used oracleEphemeralCopyTnsName
, in your TNS configuration that points to a PDB. To determine the service name or SID for the PDB which that this TNS will point to, use one of the following methods depending on your situation:
If you provided a value for
oracleEphemeralCopyName
, then this value will be what you add to your TNS configuration.
...
Create the project using the instructions from Creating a Liquibase Enterprise Using the Project Creation Script (project_creator.groovy) https://datical-cs.atlassian.net/wiki/spaces/DDOC/pages/896569181
Include the ephemeral database on the ProjectNameOracle.dbdefs.tsv.txt.
Use name: <dbDef_to_be_cloned>_EPHEMERAL
...
These are packaging properties available specifically for the ephemeral database packaging method. They are optional if you would like to override the default values.
Property Name | Description |
---|---|
oracleEphemeralSourceNameephemeralCleanUpBeforeStart | [Optional] Defines a source name for an Oracle source PDB in the event Liquibase has not been granted the necessary permissions to query for this name. Necessary permissions are included below. If these grants are not present, oracleEphemeralSourceName will be required.
Property Validation: Source name should up to 30 characters long, contain no spaces [ ], slashes [/] and semicolons [;] and cannot begin with a number. |
oracleEphemeralCopyName | [Optional] Defines a name for an Oracle copy PDB in the event the default name is not desired. Default name for the ephemeral copy will be source PDB name with Property Validation: Copy name should be up to 30 characters long, contain no spaces [ ], slashes [/] and semicolons [;] and cannot begin with a number. |
oracleEphemeralDatabaseLinkName | [Optional] Defines a name for a database link which is used with PackageMethod Default link name will be Property Validation: Database link name should up to 128 characters long, contain no spaces [ ], slashes [/] and semicolons [;] and cannot begin with a number. Allows Liquibase to drop any existing Ephemeral PDB if found during an Ephemeral Packaging Operation. Existing PDBs can occur from failures or cancelations from previous Ephemeral Packaging jobs. Property Validation: true/false Default value: false Available in Liquibase 8.9 and later |
oracleEphemeralSourceName | [Optional] Defines a source name for an Oracle source PDB in the event Liquibase has not been granted the necessary permissions to query for this name. Necessary permissions are included below. If these grants are not present, oracleEphemeralSourceName will be required.
Property Validation: Source name should up to 30 characters long, contain no spaces [ ], slashes [/] and semicolons [;] and cannot begin with a number. |
oracleEphemeralCopyName | [Optional] Defines a name for an Oracle copy PDB in the event the default name is not desired. The ephemeral copy's default name will be the source PDB name with the Property Validation: Copy name should be up to 30 characters long, contain no spaces [ ], slashes [/] and semicolons [;] and cannot begin with a number. |
oracleEphemearalCopySid | [Optional] This impacts Oracle Ephemeral packaging only. Overrides Oracle copy dbDef SID if the source dbDef uses SID as the connection type. If the property is not specified, the Example: e.g., Available in Liquibase 8.9 and later |
oracleEphemeralCopyServiceName | [Optional] This impacts Oracle Ephemeral packaging only. Example: If SERVICE_NAME does not contain dots, they will be added at the end Example: |
oracleEphemeralCopyTnsName | [Optional] This impacts Oracle Ephemeral packaging only. Overrides the Oracle copy dbDef TNS_NAME if the source dbDef uses TNS_NAME as connection type. If the property is not specified
Available in Liquibase 8.9 and later |
oracleEphemeralCopyWithData | [Optional] By default Liquibase will copy databases without data. (*) If you would like to copy both the structure and data, use this boolean property. (*) There is one exception in that the data from the Property Validation: true/false |
oracleEphemeralDatabaseLinkName | [Optional] Defines a name for a database link which is used with PackageMethod Default link name will be Property Validation: true/false Database link name should up to 128 characters long, contain no spaces [ ], slashes [/] and semicolons [;] and cannot begin with a number. |
oracleEphemeralSkipFinalDeploy | [Optional] The default value for this setting is false. Any changes being packaged are deployed to the first database in the pipeline during the Deploy Packager operation. Setting this value to true allows changes to be packaged and changesets to be created and stored in the changelog.xml, but the deployment to the first database in the pipeline does not occur. Property Validation: true/false |
...