Versions and CMA

This topic addresses two separate version related topics with respect to using CMA between two environments.

  • Different versions of the application
  • Different CMA file format versions

Different Versions of the Product

CMA was developed with the main requirement of copying data between two environments that are on the same version of the product. For example, copying configuration data from a development environment to a test environment on the same product verison.

In general, there isn't anything about how CMA functions that would limit your ability to copy data between two different versions of the product. However, it's possible that your product has enhanced the functionality of a specific object to add or remove columns or change the type of data captured in those columns or has change validation around how data should be captured.

Our products follow strict standards for upgrading clients to ensure backward compatibility. Upgrade scripsts in the blueprint process know what was changed from one release to another and update the data accordinly where applicable. When using CMA to move data from one version of the product to another, you are bypassing these upgrade scripts. It means your data is not being adjusted as expected. It's not recommended unless you are certain that the data of an object from one version is compatible in the other version. The following points highlight this in more detail.

  • For objects whose structure and rules have not changed between the two versions, there should be no issues.
  • For objects that have changed between the two versions, there are scenarios that may cause additional steps.
    • If the target environment is a later version and includes a new optional column on an object that was not present in the source, the import should go through without any issues.
    • If the target environment is a later version and includes a new required column on an object that was not present in the source, a 'pre-compare' algorithm could be used to populate the new required value. Your implementation can provide this algorithm to populate the data according to your business rules.
    • If the target environment is an earlier version than the source, we cannot guarantee that there won't be specific issues encountered with specific objects.

File Format Version

If your implementation has decided that you are going to use CMA across product versions, given all the cautions described in the previous section, this section provides information on the rare case where CMA has a change in who it writes the export file.

When creating the export file, the format of the file is specific and the CMA import step knows how to read the file. It is rare, but there are times when the product makes an enhancement to CMA that requires a change in the structure of the export file at which point the 'version' of the CMA file is incremented.

The CMA file format version has no impact to migrations that are exported and then imported into the same version of Oracle Utilities Application Framework. However, if your implementation has different environments on different versions of the product where the CMA file format is also different, then the system has functionality to cater for these differences.

  • If you are exporting data from a lower file format version to a higher file format version, there is nothing special that you need to do. The export step captures the file format version and the import step reads this information and processes the file accordingly.

  • If you are exporting data from a higher file format version and the product currenly supports exporting to a lower file format version, at export time you are prompted for the earlier file format version. You may indicate the you want the earlier file format version when creating the migration data export.

    Note: The product supports exporting to an earlier file format version for a reasonable amount of time, but not in perpetuity. If you don't see any option in the user interface to export to an earlier file format, it means that it is not supported in that release.