Copying Objects in OCI Data Integration

David Allan
3 min readMar 23, 2023

OCI Data Integration has the capability to easily copy objects, whether its design objects like data assets, dataflows, pipelines, the many tasks or your runtime applications. This is really useful whether you want to take a snapshot of your work when moving between development to test phases or whether you did some work on an earlier work item and want to reuse/copy it elsewhere. Reuse is truly done with parameterized tasks from an application, but the reuse that is commonly used is copy.

Within the target workspace that you want to copy the objects into you can select the “Copy existing” option.

When the copy projects dialog is displayed, you can choose the tenancy, the workspace and the project;

There are options for performing the copy which include;

  • retain — keep the artifacts in the target. Source objects including dependencies with the same names are not copied to the target.
  • replace-replaces the target objects with the objects from the source.
  • duplicate-duplicates the source objects in the target, by using the source object names with the strings provided for a prefix/suffix or both

The options are displayed here;

The final page is a summary of what is going to be done;

You can then monitor the project being copied and drill into it to see the detail (what objects within project are being copied, what data assets references are copied and so on);

You can then start using these objects, update any of the data assets, edit the tasks or publish them to an application and start running in the environment.

This can be scripted using the OCI CLI, for example to use RETAIN;

oci data-integration copy-object-request create --workspace-id workspaceid --source-workspace-id sourceworkspaceid --object-keys '["your_project_key"]' --copy-conflict-resolution '{ "requestType": "RETAIN"}'

This example uses REPLACE ;

oci data-integration copy-object-request create --workspace-id workspaceid --source-workspace-id sourceworkspaceid --object-keys '["your_project_key"]' --copy-conflict-resolution '{ "requestType": "REPLACE"}'

This example uses DUPLICATE and also supplies a prefix and suffix;

oci data-integration copy-object-request create --workspace-id workspaceid --source-workspace-id sourceworkspaceid --object-keys '["your_project_key"]' --copy-conflict-resolution '{  "duplicatePrefix": "P",  "duplicateSuffix": "X",  "requestType": "DUPLICATE"}'

Check out the blog on copying and synchronizing applications also right here.

That’s all for now, hope you found this useful!



David Allan

Architect at @Oracle The views expressed on this blog are my own and do not necessarily reflect the views of Oracle.