My Oracle Support Banner

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

Last updated on JULY 06, 2023

Applies to:

Oracle Database Cloud Schema Service - Version N/A and later
Oracle Cloud Infrastructure - Database Service - Version N/A and later
Oracle Database Cloud Exadata Service - Version N/A and later
Oracle Database Backup Service - Version N/A and later
Gen 1 Exadata Cloud at Customer (Oracle Exadata Database Cloud Machine) - Version N/A and later
Linux x86-64
Updated 09-Nov-2018 -- Version 4
Updated 07-Jul-2022 - incorporated 12.2 last incremental backup functionality.


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:

Exadata databases migrating from Solaris (big endian) to Linux (little endian) or vice versa may face block corruptions due to invalid conversion of HCC tables.
ALERT: Possible Block Corruption After Migrating From Solaris to Linux Exadata using HCC (Doc ID 2888288.1)


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)

Although it is strongly recommended to use V4 of XTTs, the earlier versions of this procedure is available:

11G - Reduce Transportable Tablespace Downtime using Cross Platform Incremental Backup (Note 1389592.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
 OPTION #1  Take the final backup
 Option1.A:  Alter source tablespace(s) to READ ONLY in the source database
 Option1.B:  Create the final incremental backup of the tablespaces being transported on the source system
 Option1.C:  Transfer incremental backups and res.txt to the destination system
 Option1.D:  Apply last incremental backup to destination datafiles
 OPTION #2. Take last incremental backup with new 12c feature, which also runs the export
 Option2.A:  Alter source tablespace(s) READ ONLY in the source database
 Option2.B:  Create the final incremental backup and export file for transfer to the destination
 Option2.C:  Apply last incremental backup to destination datafiles
 Phase 5 - Transport Phase:  Export Metadata and Plug-in Tablespaces into Destination Database
 OPTION #1.  Run metadata export and import using export file
 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 using the export file on destination to plug in the tablespaces.  For example:
 OPTION #2.  Run 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
 Phase 6 - Validate the Transported Data
 Step 6.1 Check destination database for objects, pl/sql objects, sequences, views etc., are not transported by TTS
 Step 6.2 Check tablespaces for corruption
 Step 6.3 - 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.