My Oracle Support Banner

V4 Reduce Transportable Tablespace Downtime using Cross Platform Incremental Backup (Doc ID 2471245.1)

Last updated on MARCH 22, 2021

Applies to:

Gen 1 Exadata Cloud at Customer (Oracle Exadata Database Cloud Machine) - Version N/A and later
Oracle Database Exadata Express Cloud Service - Version N/A and later
Oracle Database Cloud Service - Version N/A and later
Oracle Database - Enterprise Edition - Version and later
Oracle Database Cloud Schema Service - Version N/A and later
Linux x86-64
Updated 09-Nov-2018 -- Version 4


This article covers the steps needed to use V4 Cross Platform Transportable Tablespaces (XTTS) with RMAN incremental backups to migrate data between systems that have different endian formats, with the least amount of application down time.

The first step will be to copy a full backup from the source to the destination. Then, by using a series of incremental backups, each smaller than the last, the data at the destination system can be brought nearly current with the source system, before any downtime is required. This procedure requires down time only during the final incremental backup, and the meta-data export/import.

This document describes the V4 procedures for Cross Platform Incremental Backup which can be used with and higher.  This new procedure is simplified version of previous XTTs versions.  This version has the following differences:

NOTE:  There are a reported issues with multiple incremental backup recovery and large number of datafiles.  The recover command creation may cause backups to not be found (ORA-19625) and/or the recovery attempts to apply the backups in the wrong order resulting in:

ORA-19638: file /<path>/<datafile name> is not current enough to apply this incremental backup
ORA-19642: start SCN of incremental backup is <scn>
ORA-19641: backup datafile checkpoint is SCN <scn> time MM/DD/YYYY HH:MM:SS
ORA-19640: datafile checkpoint is SCN <scn> time MM/DD/YYYY HH:MM:SS

Review the following for details and workaround:
V4 XTTs: Restore Returns Errors (ORA-19625 or ORA-19641) With Large Number of Datafiles (<Note 2689397.1>)

The earlier versions of this procedure are still available in:

11G - Reduce Transportable Tablespace Downtime using Cross Platform Incremental Backup (<Note 1389592.1>)
12C - Reduce Transportable Tablespace Downtime using Cross Platform Incremental Backup (<Note 2005729.1>)

The Cross Platform Incremental Backup feature does not affect the amount of time it takes to perform other actions for XTTS, such as metadata export and import.  Hence, databases that have very large amounts of metadata (DDL) will see limited benefit from Cross Platform Incremental Backup because migration in these environments is typically dominated by metadata operations, not datafile transfer and conversion.


NOTE:  Only those database objects that are physically located in the tablespace(s) being transported will be copied to the destination system.   Other objects,  such as users, pl/sql objects, sequences, views etc., located in the SYSTEM tablespace will not be transported.  You will need to pre-create the users and copy such objects to the destination system, possibly using data pump.  

The following may help:

Oracle Database 12c: Full Transportable Export/Import


MAA paper Platform Migration Using Transportable Tablespaces: Oracle Database.

The high-level steps for Cross Platform Incremental Backup are:

1.  Initial setup

2.  Prepare phase (source data remains online)

    1. Backup (level=0) of tablespaces to be transported
    2. Transfer backup and other necessary setup files to destination system
    3. Restore datafiles on destination system endian format

3.  Roll Forward phase (source data remains online - Repeat this phase as many times as necessary to catch destination datafile copies up to source database)

    1. Create incremental backup on source system
    2. Transfer incremental backup and other necessary setup files to destination system
    3. Convert incremental backup to destination system endian format and apply the backup to the destination datafile copies
    4. Repeat steps until ready to transport the tablespace.  
NOTE:  In Version 4, added files will automatically be added in the destination with no additional intervention required.  I.e., if a datafile is added to the tablespace OR a new tablespace name is added to the file.

 4.  Transport phase (source data is READ ONLY)

    1. Alter the tablespaces in the source database to READ ONLY
    2. Repeat the Roll Forward phase one final time
      • This step makes destination datafile copies consistent with source database and generates necessary export.
      • Time for this step is significantly shorter than traditional XTTS method when dealing with large data because the incremental backup size is smaller.
    3. Import metadata of objects in the tablespaces into destination database using Data Pump
    4. Alter the tablespaces in the destination database to READ WRITE 


The source system may be any platform provided the prerequisites referenced and listed below for both platform and database are met. 

If you are migrating from a little endian platform to Oracle Linux, then the migration method that should receive first consideration is Data Guard.  See <Note 413484.1> for details about heterogeneous platform support for Data Guard between your current little endian platform and Oracle Linux.


To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!

In this Document
 NOTE:  Before proceeding with this procedure, review the following notes to understand all the restrictions and issues associated with the transportable tablespace feature (TTS). All such restrictions/limitations of TTS apply.
 Cross Platform Incremental Backup Supporting Scripts
 Known Issues
 V4 Transport Tablespaces with Reduced Downtime using Cross Platform Incremental Backup
 Conventions Used in This Document
 Phase 1 - Initial Setup
 Step 1.1 - Install the destination database software and create the destination database
 Step 1.2 - Identify tablespaces to be transported
 Step 1.3 - Install xttconvert scripts on the source system
 Step 1.4 - Create necessary directories
 Step 1.5 - Configure on the source system
 Step 1.6 - Copy xttconvert scripts and to the destination system<
 Step 1.7 - Set TMPDIR environment variable
 Phase 2 - Prepare Phase
 Step 2.1 - Run the backup on the source system
 Step 2.2 - Transfer the following files to the destination system:
 Step 2.3 - Restore the datafiles on the destination system
 Phase 3 - Roll Forward Phase
 Step 3.1 - Create an incremental backup of the tablespaces being transported on the source system
 Step 3.2 - Transfer incremental backups and res.txt to the destination system
 Step 3.3 - Apply the incremental backup to the datafile copies on the destination system
 Step 3.4 - Repeat the roll forward phase 3 (3.1 - 3.3) or proceed to phase 4, final incremental backup
 Phase 4 - Final Incremental Backup  -- If you are running 12c or higher, this step can be replaced by Phase 4 in <Note 2005729.1>:
 Step 4.1 - Alter source tablespace(s) to READ ONLY in the source database
 Step 4.2 - Create the final incremental backup of the tablespaces being transported on the source system:
 Step 4.3- Transfer incremental backups and res.txt to the destination system
 Step 4.4 - Apply last incremental backup to destination datafiles
 Phase 5 - Transport Phase:  Import Object Metadata into Destination Database
 OPTION #1.  Manually running export and import command.
 Option1.A:  Run datapump export on source database:
 Option1.B:  Transfer the export file to destination directory used by datapump

Option1.C:  Run datapump import on destination to plug in the tablespaces.  For example:
 OPTION #2.  Import across sqlnet. 
 Option2.A:  Create datapump directory and grant privilege:
 Option2.B:  Generate new xttplugin.txt for network import
 Option2.C:  Create a database link on destination database:
 Option2.D:   Modify and execute Impdp command:
 Step 6.1 Check tablespaces for corruption
 Step 6.2 - Alter the tablespace(s) READ WRITE in the destination database
 Phase 7 - Cleanup
 Description of Perl Script Options
 Description of Parameters in Configuration File
 Change History

My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.