OCI Object Storage Migration (Native Provider)

OCI Object Storage Migration (Native Provider)

This article explains how to rapidly migrate objects between OCI Object Storage regions using Rclone’s native OCI provider, eliminating common S3‑compatible pitfalls and ensuring reliable, high‑speed transfers.

1. Overview

This guide covers high-speed migration using the Native OCI Provider for Rclone. This method is superior to the S3‑compatible method as it uses the ~/.oci/config file, avoiding “SignatureDoesNotMatch” errors and Home Region authentication issues.


2. Prerequisites

  • Server: Server with Rclone installed
  • OCI CLI Config: Ensure ~/.oci/config and your .pem key are present and working.
  • Namespace:
  • Compartment OCID:

3. Verified Configuration

Edit ~/.config/rclone/rclone.conf with this exact structure:

[oci-dubai]
type = oracleobjectstorage
namespace = <namespace>
compartment = <compartment-oci>
region = me-dubai-1
config_file = ~/.oci/config
config_profile = DEFAULT

[oci-riyadh]
type = oracleobjectstorage
namespace = <namespace>
compartment = <compartment-oci>
region = me-riyadh-1
config_file = ~/.oci/config
config_profile = DEFAULT


4. Migration Command

rclone copy oci-dubai:source-bucket-name oci-riyadh:destination-bucket-name \
    --transfers 150 \
    --checkers 150 \
    --no-traverse \
    --size-only \
    --progress \
    --log-file=migration_final.log


5. Tips for Large Buckets

  • --no-traverse: Prevents Rclone from trying to index all 7.9M files before starting. Starts the copy immediately.
  • --size-only: Massive time-saver; checks if the file exists based on size rather than doing heavy checksums.
  • Monitoring: Use tail -f migration_final.log to watch for any specific 404 or 403 errors.

By following the steps above, you can achieve high‑throughput, reliable migrations between OCI regions while minimizing errors and monitoring progress effectively.

Leave a Reply

Your email address will not be published. Required fields are marked *