As mentioned in my previous blog post, you can now use Transportable Tablespaces to migrate data to Oracle AI Autonomous Database Serverless.
You can refer to the documentation for all the steps here.
You can refer to this blog post if you plan to use Object Storage.
For this test, I will use an Oracle Database 19c and a non-incremental backup. In a real-world, critical production migration, you should use incremental backups instead.

Configure OCI File System
Create a File System by providing Export and Mount Target information. Refer to How to Attach a File System to your Autonomous AI Database and use the guidelines for creating the file system. User has to mount the File System to the source database host(s) using the Mount Commands provided by the File System -> Export. Refer to Mounting File Systems From UNIX-Style Instances for detailed instructions.
Make sure you have the right rules on your VCN:


Let’s build some sample data on the PDB1 to use on the migration:
create tablespace TBS_AZ_DATA datafile size 10M;
create tablespace TBS_AZ_INDEX datafile size 10M;
create user az identified by MySupperPasswd2026## default tablespace tbs_az_data;
grant create session,create table to az;
ALTER USER az QUOTA UNLIMITED ON tbs_az_data;
ALTER USER az QUOTA UNLIMITED ON tbs_az_index;
create table az.tb_az(id number) tablespace tbs_az_data;
alter table az.tb_az add constraint tb_az_pk primary key(id) using index tablespace tbs_az_index;
insert into az.tb_az values(1);
commit;
To determine whether a set of tablespaces is self-contained, invoke the TRANSPORT_SET_CHECK procedure in the Oracle-supplied DBMS_TTS package. In a future release, CPAT will perform this check automatically:

Let’s create a project directory on the host where the source database is running:

Download the Oracle Database Cloud Backup Module for OCI and follow the installation steps.
Also, install the OCI CLI; it will make your life easier.
If you get this error when trying to configure the backup, install the JDK 1.8:
Oracle Database Cloud Backup Module Install Tool, build 19.3.0.0.0DBBKPCSBP_2019-10-16
Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter

Let’s create our configuration file:

Let’s change the tablespaces to read-only and run the script to back up our database:



Everything worked as expected, and the files were created in the file system:


Now, let’s create our Autonomous AI Database Instance.
For this test, I am using a non-incremental tablespace backup from the source database. During Oracle AI Autonomous Database creation, you must specify the path where the backups were written:

The Autonomous AI Database creation took longer than a regular creation (around 40 minutes):

Let’s check if the user was created. It exists, but is locked:

There are no new tablespaces available:

Let’s check the tablespaces for our table:

It appears that there is a process for moving objects to the DATA tablespace.
Let’s check the data:

The migration worked fine!
What I’m missing:
- A precheck mechanism to validate that the Autonomous AI Database can access the FSS and files before the creation starts (for example, confirming the VCN rules are correctly configured).
- More detailed and transparent logs during the provisioning and migration process.
- Most importantly, access to the
impdplogs after database creation, which is critical to verify whether any objects failed or were skipped during the import.
Happy Testing!
