3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[Autonomous AI Database]トランスポータブル表領域を利用した移行を試してみた

3
Last updated at Posted at 2026-02-03

はじめに

去年の年末にAutonomous Databaseでトランスポータブル表領域による移行が可能になりましたので、試してみました。
ドキュメントはこちらです。
なお、試したのは1月頭だったので、トランスポータブル表領域バックアップユーティリティの更新などで結果が違う表示のところもあるかもしれません。ご容赦ください。

環境

  • ソースはCompute上のOracle Linux7.9にインストールしたOracle Database19.3のPluggable Database。
  • ソースデータベースのホストのJavaバージョンは次の通り

    $ java -version
    openjdk version "1.8.0_472"
    OpenJDK Runtime Environment (build 1.8.0_472-b08)
    OpenJDK 64-Bit Server VM (build 25.472-b08, mixed mode)
    
  • ターゲットのADBのバージョンは19c

  • ターゲットのADBとバックアップに利用するObject Storageのバケットは同じコンパートメントに存在

表領域およびユーザーを作成したスクリプト
- -- 1. 表領域の作成
CREATE TABLESPACE SALES_TBS1 DATAFILE 'sales_tbs1_01.dbf' SIZE 50M AUTOEXTEND ON NEXT 10M;
CREATE TABLESPACE SALES_TBS2 DATAFILE 'sales_tbs2_01.dbf' SIZE 50M AUTOEXTEND ON NEXT 10M;
CREATE TABLESPACE PRODUCT_TBS DATAFILE 'product_tbs01.dbf' SIZE 50M AUTOEXTEND ON NEXT 10M;

-- 2. ユーザーの作成
CREATE USER SALES_USER IDENTIFIED BY "PASSWORD" DEFAULT TABLESPACE SALES_TBS1;
ALTER USER SALES_USER QUOTA UNLIMITED ON SALES_TBS1;
ALTER USER SALES_USER QUOTA UNLIMITED ON SALES_TBS2;
GRANT CONNECT, RESOURCE TO SALES_USER;

CREATE USER INVENTORY_USER IDENTIFIED BY "PASSWORD" DEFAULT TABLESPACE PRODUCT_TBS;
ALTER USER INVENTORY_USER QUOTA UNLIMITED ON PRODUCT_TBS;
GRANT CONNECT, RESOURCE TO INVENTORY_USER;

-- 3. SALES_USERのスキーマにテーブル等作成とデータ投入(SYSユーザーで実行可能)

-- 顧客(CUSTOMERS)
CREATE TABLE SALES_USER.CUSTOMERS (
  CUSTOMER_ID NUMBER PRIMARY KEY,
  CUSTOMER_NAME VARCHAR2(100) NOT NULL,
  EMAIL VARCHAR2(100) UNIQUE,
  CREATED_AT TIMESTAMP DEFAULT SYSTIMESTAMP
) TABLESPACE SALES_TBS1;

CREATE INDEX SALES_USER.IDX_CUSTOMERS_EMAIL ON SALES_USER.CUSTOMERS(EMAIL) TABLESPACE SALES_TBS1;

INSERT INTO SALES_USER.CUSTOMERS (CUSTOMER_ID, CUSTOMER_NAME, EMAIL) VALUES (1, '山田太郎', 'taro.yamada@example.com');
INSERT INTO SALES_USER.CUSTOMERS (CUSTOMER_ID, CUSTOMER_NAME, EMAIL) VALUES (2, '鈴木花子', 'hanako.suzuki@example.com');
INSERT INTO SALES_USER.CUSTOMERS (CUSTOMER_ID, CUSTOMER_NAME, EMAIL, CREATED_AT) VALUES (3, '佐藤次郎', 'jiro.sato@example.com', SYSTIMESTAMP - INTERVAL '2' DAY);

COMMIT;

-- 受注(ORDERS)
CREATE TABLE SALES_USER.ORDERS (
  ORDER_ID NUMBER PRIMARY KEY,
  CUSTOMER_ID NUMBER NOT NULL,
  ORDER_DATE TIMESTAMP DEFAULT SYSTIMESTAMP,
  AMOUNT NUMBER(10,2),
  CREATED_AT TIMESTAMP DEFAULT SYSTIMESTAMP,
  CONSTRAINT FK_ORDERS_CUSTOMER FOREIGN KEY (CUSTOMER_ID) REFERENCES SALES_USER.CUSTOMERS(CUSTOMER_ID)
) TABLESPACE SALES_TBS2;

CREATE INDEX SALES_USER.IDX_ORDERS_CUSTOMER_ID ON SALES_USER.ORDERS(CUSTOMER_ID) TABLESPACE SALES_TBS2;

INSERT INTO SALES_USER.ORDERS (ORDER_ID, CUSTOMER_ID, AMOUNT) VALUES (101, 1, 15000.00);
INSERT INTO SALES_USER.ORDERS (ORDER_ID, CUSTOMER_ID, AMOUNT) VALUES (102, 2, 30000.00);
INSERT INTO SALES_USER.ORDERS (ORDER_ID, CUSTOMER_ID, AMOUNT, CREATED_AT) VALUES (103, 3, 12000.00, SYSTIMESTAMP - INTERVAL '4' DAY);

COMMIT;

-- 商品(PRODUCTS)
CREATE TABLE INVENTORY_USER.PRODUCTS (
  PRODUCT_ID NUMBER PRIMARY KEY,
  PRODUCT_NAME VARCHAR2(100) NOT NULL,
  PRICE NUMBER(10,2),
  CREATED_AT TIMESTAMP DEFAULT SYSTIMESTAMP
) TABLESPACE PRODUCT_TBS;

CREATE INDEX INVENTORY_USER.IDX_PRODUCTS_NAME ON INVENTORY_USER.PRODUCTS(PRODUCT_NAME) TABLESPACE PRODUCT_TBS;

ALTER TABLE INVENTORY_USER.PRODUCTS ADD CONSTRAINT UK_PRODUCTS_NAME UNIQUE(PRODUCT_NAME);

INSERT INTO INVENTORY_USER.PRODUCTS (PRODUCT_ID, PRODUCT_NAME, PRICE) VALUES (201, 'ノートPC', 75000.00);
INSERT INTO INVENTORY_USER.PRODUCTS (PRODUCT_ID, PRODUCT_NAME, PRICE) VALUES (202, 'マウス', 1500.00);
INSERT INTO INVENTORY_USER.PRODUCTS (PRODUCT_ID, PRODUCT_NAME, PRICE, CREATED_AT) VALUES (203, 'ディスプレイ', 30000.00, SYSTIMESTAMP - INTERVAL '7' DAY);

COMMIT;

1.前提条件および制限の確認

前提条件および制限はドキュメントの次の項目を確認してください。

  • Prerequisites
  • Limitations on Transportable Tablespaces

2.ソース・データベースでトランスポータブル表領域による移行が可能か確認

前提条件にありますが、対象の表領域は自己完結的である必要があります。確認のため次のSQLを実行します。

EXEC DBMS_TTS.TRANSPORT_SET_CHECK('SALES_TBS1,SALES_TBS2,PRODUCT_TBS', TRUE);
SELECT * FROM TRANSPORT_SET_VIOLATIONS;

以下の通り、行が返されなければ自己完結しており転送ができます。

SQL> EXEC DBMS_TTS.TRANSPORT_SET_CHECK('USERS,SALES_TBS1,SALES_TBS2,PRODUCT_TBS', TRUE);

PL/SQL procedure successfully completed.

SQL> SELECT * FROM TRANSPORT_SET_VIOLATIONS;

no rows selected

3.Object Storageの準備

ソースデータベースのバックアップを取得するObject Storageのバケットを作成します。バックアップ用、メタデータ用に2つのバケットを準備します。ここではバックアップ用をtts_data_bucket、メタデータ用をtts_bucketとしました。

image.png

ターゲットのAutonomous AI Databaseでリソース・プリンシパルを使用してObject Storageのバケットにアクセスできるよう、動的グループ、ポリシーを作成します。
検証ということもあり動的グループに対してコンパートメントのリソースすべての権限を付与しています。

Allow dynamic-group <動的グループ名> to manage all-resources in compartment <コンパートメント名>

4.ソース・データベースのホストで必要な準備

ソース・データベースのホストにはOracle Cloud Backup ModuleとGitHubで公開しているトランスポータブル表領域バックアップユーティリティ関連ファイルをダウンロードする必要があります。

4-1.OCI コマンド・ライン・インタフェース(CLI)のインストール

Oracle Cloud Backup Moduleには、OCI CLIが必要です。以前の記事を参考にOCI CLIをインストールします。
・参考: Oracle Cloud : コマンド・ライン・インタフェース(CLI) をインストールしてみた

インストール後、作成したobject Storageのバケットにアクセスできるか確認します。
ここではoracleユーザーで実行しています。

sudo su - oracle
$ oci os object list -bn tts_bucket
{
  "prefixes": []
}
$ oci os object list -bn tts_data_bucket
{
  "prefixes": []
}

4-2.トランスポータブル表領域バックアップユーティリティ関連ファイルをダウンロード

ステージングに使うプロジェクト・ディレクトリを作成し、GitHubからトランスポータブル表領域バックアップユーティリティ関連ファイルをダウンロードします。関連ファイルは以下の通りです。

ファイル名 説明
README.md セットアップ手順、使用例、既知の考慮事項
tts-backup-env.txt バックアップ実行のパラメータファイル
tts-backup-env-sample.txt パラメータファイルのサンプル
ttsTemplate.txt パラメータのテンプレート
tts-backup.py Pythonベースのトランスポータブル表領域バックアップユーティリティ
sudo su - oracle
# ディレクトリを作成
mkdir -p /home/oracle/tts_project
# curlで各ファイルをダウンロード
curl https://raw.githubusercontent.com/oracle-devrel/oracle-autonomous-database-samples/refs/heads/main/migration-tools/tts-backup-python/tts-backup-env-sample.txt -o tts-backup-env-sample.txt 

curl https://raw.githubusercontent.com/oracle-devrel/oracle-autonomous-database-samples/refs/heads/main/migration-tools/tts-backup-python/README.md -o README.md 

curl https://raw.githubusercontent.com/oracle-devrel/oracle-autonomous-database-samples/refs/heads/main/migration-tools/tts-backup-python/tts-backup.py -o tts-backup.py

curl https://raw.githubusercontent.com/oracle-devrel/oracle-autonomous-database-samples/refs/heads/main/migration-tools/tts-backup-python/tts-backup-env.txt -o tts-backup-env.txt

curl https://raw.githubusercontent.com/oracle-devrel/oracle-autonomous-database-samples/refs/heads/main/migration-tools/tts-backup-python/ttsTemplate.txt -o ttsTemplate.txt

4-3.Oracle Database Backup Cloud Moduleの準備

ダウンロードサイトから任意の場所にダウンロードします。含まれているoci_install.jarをプロジェクト・ディレクトリにコピーします。トランスポータブル表領域バックアップユーティリティの実行時に、自動的にOracle Database Backup Cloud Moduleのインストールが行われます。

sudo su - oracle
$ unzip opc_installer.zip
Archive:  opc_installer.zip
cp /home/oracle/tmp/opc_installer/oci_installer/oci_install.jar /home/oracle/tts_project

5.非増分バックアップを使った移行

5-1.パラメータ・ファイルの設定

トランスポータブル表領域バックアップユーティリティのパラメータ・ファイルtts-backup-env.txtを編集します。

sudo su - oracle
cd /home/oracle/tts_project
vi tts-backup-env.txt

各パラメータについてはドキュメントやReadme.mdを確認してください。
以下の例では移行する表領域をsales_tbs1、sales_tbs2、product_tbsに指定し、非増分バックアップ(FINAL_BACKUP=TRUE)、実行前のチェックを行うよう(DRY_RUN=TRUE)にしています。

[DEFAULT]
### Project and Tablespace inputs
PROJECT_NAME=tts_project
DATABASE_NAME=pdb1
TABLESPACES=sales_tbs1,sales_tbs2,product_tbs
SCHEMAS=

#### Database connection inputs
HOSTNAME=db19c.private1.vcn1.oraclevcn.com
LSNR_PORT=1521
DB_SVC_NAME=pdb1.private1.vcn1.oraclevcn.com
ORAHOME=/u01/app/oracle/product/19.0.0/dbhome_1
DBUSER=sys
DB_VERSION=19c

#### Object Storage Service (OSS) inputs
#### OCI Installer inputs
OCI_INSTALLER_PATH=/home/oracle/oci_install.jar
CONFIG_FILE=/home/oracle/.oci/config
COMPARTMENT_OCID=ocid1.compartment.oc1..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
OCI_PROXY_HOST=
OCI_PROXY_PORT=


### File Storage Service (FSS) inputs
TTS_FSS_CONFIG=
TTS_FSS_MOUNT_DIR=


### Final backup inputs
FINAL_BACKUP=TRUE
:
### Performance inputs
PARALLELISM=1
USE_ALL_RAC_INSTANCES=


### Dry run inputs 
DRY_RUN=TRUE

5-2.対象の表領域を読み取り専用に変更

非増分バックアップの場合は、対象の表領域を読み取り専用にする必要があります。

sqlplus /nolog
connect / as sysdba
alter session set container=pdb1;
alter tablespace sales_tbs1 read only;
alter tablespace sales_tbs2 read only;
alter tablespace product_tbs read only;

5-3.DRY-RUNでの実行

DRY-RUNモードで実行します。
python3 /home/oracle/tts_project/tts-backup.py

成功しました。実行した結果は以下の通りです。

DRY-RUN実行結果
$  python3 /home/oracle/tts_project/tts-backup.py
Enter value for required variable DBPASSWORD:
Enter value for optional variable TDE_WALLET_STORE_PASSWORD
Required only if any of the tablespaces are TDE encrypted (leave empty and press Enter if not applicable):
Value Error for PARALLELISM: Missing required environment variable: PARALLELISM. Expected an integer.
Created project directory: /home/oracle/tts_project/tts_project

DRY_RUN : Skipping Create/Load of project manifest file...

Created project directory with backup level 0 : /home/oracle/tts_project/tts_project/tts_project_LEVEL_0_DRY_RUN.

* Run tablespace validations...

Start Time (UTC): 2026-01-03 13:37:30.901961
No schemas provided. Returning a list of required users.
Fetching required users...
Validating OLS policies...
Validating Redaction policies...
Checking Database Vault protection...
Checking Database Vault realms...
Validating schemas...
Fetching common users...
Fetching required users...
Validating tablespaces...
Validating tablespaces count...
Finding plsql objects that are not transported due to owner not in transport list
Object validations complete.

Validate if tablespace SALES_TBS1 is ready for transport...
Validate if tablespace PRODUCT_TBS is ready for transport...
Complete Time (UTC): 2026-01-03 13:37:46.452764
Elapsed Time: 0:00:15.550803

* Check backup and bundle storage buckets...

** Checking backup storage bucket... **
Validating storage bucket at URL: https://objectstorage.ap-tokyo-1.oraclecloud.com/n/xxxxxxxxxx/b/tts_data_bucket...
Successfully validated URI https://objectstorage.ap-tokyo-1.oraclecloud.com/n/xxxxxxxxxx/b/tts_data_bucket.
** Checking bundle storage bucket... **
Validating storage bucket at URL: https://objectstorage.ap-tokyo-1.oraclecloud.com/n/xxxxxxxxxx/b/tts_bucket...
Successfully validated URI https://objectstorage.ap-tokyo-1.oraclecloud.com/n/xxxxxxxxxx/b/tts_bucket.

* Add credential alias to backup wallet...

Oracle Database Cloud Backup Module Install Tool, build 19.3.0.0.0DBBKPCSBP_2019-10-16
Oracle Database Cloud Backup Module credentials are valid.
Backups would be sent to bucket tts_data_bucket.
Oracle Database Cloud Backup Module wallet created in directory /home/oracle/tts_project/tts_project/tts_project_LEVEL_0_DRY_RUN.
Oracle Database Cloud Backup Module initialization file /u01/app/oracle/product/19c/dbhome_1/dbs/opcDB19C.ora created.
Downloading Oracle Database Cloud Backup Module Software Library from Oracle Cloud Infrastructure.
Download complete.
OCI Backup Module installed successfully.
Oracle Database Cloud Backup Module installed successfully.


* Gather database, pdb and tablespace properties...

Executing SQL script to gather data into log file: /home/oracle/tts_project/tts_project/tts_project_LEVEL_0_DRY_RUN/tts_project_data.log...
Data gathering completed successfully.

* Create directory object...

Directory TTS_DUMP_DIR created successfully.

* Validation export for tablespaces metadata using datapump..

/u01/app/oracle/product/19c/dbhome_1/bin/expdp \"sys/PASSWORD@ computedb.private1.vcn1.oraclevcn.com:1521/pdb1 AS SYSDBA\" DIRECTORY=TTS_DUMP_DIR DUMPFILE=validate_tablespace.dmp TRANSPORT_TABLESPACES=SALES_TBS1,PRODUCT_TBS CLUSTER=NO LOGFILE=validate_export_tablespace.log TTS_CLOSURE_CHECK=TEST_MODE

Export: Release 19.0.0.0.0 - Production on Sat Jan 3 13:38:07 2026
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.

Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Starting "SYS"."SYS_EXPORT_TRANSPORTABLE_01":  "sys/********@computedb.private1.vcn1.oraclevcn.com:1521/pdb1 AS SYSDBA" DIRECTORY=TTS_DUMP_DIR DUMPFILE=validate_tablespace.dmp TRANSPORT_TABLESPACES=SALES_TBS1,PRODUCT_TBS CLUSTER=NO LOGFILE=validate_export_tablespace.log TTS_CLOSURE_CHECK=TEST_MODE
Processing object type TRANSPORTABLE_EXPORT/INDEX/STATISTICS/INDEX_STATISTICS
Processing object type TRANSPORTABLE_EXPORT/STATISTICS/TABLE_STATISTICS
Processing object type TRANSPORTABLE_EXPORT/STATISTICS/MARKER
Processing object type TRANSPORTABLE_EXPORT/PLUGTS_BLK
Processing object type TRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK
Processing object type TRANSPORTABLE_EXPORT/TABLE
Processing object type TRANSPORTABLE_EXPORT/INDEX/INDEX
Processing object type TRANSPORTABLE_EXPORT/CONSTRAINT/CONSTRAINT
Master table "SYS"."SYS_EXPORT_TRANSPORTABLE_01" successfully loaded/unloaded
******************************************************************************
Dump file set for SYS.SYS_EXPORT_TRANSPORTABLE_01 is:
  /home/oracle/tts_project/tts_project/tts_project_LEVEL_0_DRY_RUN/validate_tablespace.dmp
Dump file set is unusable. TEST_MODE requested.
******************************************************************************
Datafiles required for transportable tablespace PRODUCT_TBS:
  /u01/app/oracle/product/19c/dbhome_1/dbs/product_tbs01.dbf
Datafiles required for transportable tablespace SALES_TBS1:
  /u01/app/oracle/product/19c/dbhome_1/dbs/sales_tbs1_01.dbf
Job "SYS"."SYS_EXPORT_TRANSPORTABLE_01" successfully completed at Sat Jan 3 13:38:23 2026 elapsed 0 00:00:15

EXPDP executed successfully.
TTS BACKUP TOOL : Dry Run Completed Successfully...

5-4 実行

DRY-RUNモードでの実行が成功したので、パラメータファイルからDRY-RUNをFALSEにして実行します。
実行してみるとRMANの部分で次のエラーとなりました。DRY-RUNモードではRMANの実行チェックは行われていないようです。

  • Attribute Error: PARALLELISM is not a valid attribute in the environment configuration.

parallelismを設定しない(空白のまま)と発生しました。parallelismは明示的に指定する必要がありそうです。

エラーの対応をしてから再実行し、成功しました。結果はこちら。

非増分バックアップの実行結果
[oracle@computedb tts_project]$ python3 /home/oracle/tts_project/tts-backup.py
Enter value for required variable DBPASSWORD:
Enter value for optional variable TDE_WALLET_STORE_PASSWORD
Required only if any of the tablespaces are TDE encrypted (leave empty and press Enter if not applicable):
Loaded existing project manifest file: /home/oracle/tts_project/tts_project/tts_project.json

Moved existing failed directory '/home/oracle/tts_project/tts_project/tts_project_LEVEL_0' to '/home/oracle/tts_project/tts_project/tts_project_LEVEL_0_FAILED_3'
Created project directory with backup level 0 : /home/oracle/tts_project/tts_project/tts_project_LEVEL_0.

* Run tablespace validations...

Start Time (UTC): 2026-01-03 14:52:15.936875
No schemas provided. Returning a list of required users.
Fetching required users...
Validating OLS policies...
Validating Redaction policies...
Checking Database Vault protection...
Checking Database Vault realms...
Validating schemas...
Fetching common users...
Fetching required users...
Validating tablespaces...
Validating tablespaces count...
Finding plsql objects that are not transported due to owner not in transport list
Object validations complete.

Validate if tablespace SALES_TBS1 is ready for transport...
Validate if tablespace SALES_TBS2 is ready for transport...
Validate if tablespace PRODUCT_TBS is ready for transport...
Complete Time (UTC): 2026-01-03 14:52:35.507544
Elapsed Time: 0:00:19.570669

* Check backup and bundle storage buckets...

** Checking backup storage bucket... **
Validating storage bucket at URL: https://objectstorage.ap-tokyo-1.oraclecloud.com/n/xxxxxxxxxx/b/tts_data_bucket...
Successfully validated URI https://objectstorage.ap-tokyo-1.oraclecloud.com/n/xxxxxxxxxx/b/tts_data_bucket.
** Checking bundle storage bucket... **
Validating storage bucket at URL: https://objectstorage.ap-tokyo-1.oraclecloud.com/n/xxxxxxxxxx/b/tts_bucket...
Successfully validated URI https://objectstorage.ap-tokyo-1.oraclecloud.com/n/xxxxxxxxxx/b/tts_bucket.

* Add credential alias to backup wallet...

Oracle Database Cloud Backup Module Install Tool, build 19.3.0.0.0DBBKPCSBP_2019-10-16
Oracle Database Cloud Backup Module credentials are valid.
Backups would be sent to bucket tts_data_bucket.
Oracle Database Cloud Backup Module wallet created in directory /home/oracle/tts_project/tts_project/tts_project_LEVEL_0.
Oracle Database Cloud Backup Module initialization file /u01/app/oracle/product/19c/dbhome_1/dbs/opcDB19C.ora created.
Downloading Oracle Database Cloud Backup Module Software Library from Oracle Cloud Infrastructure.
Download complete.
OCI Backup Module installed successfully.
Oracle Database Cloud Backup Module installed successfully.


* Gather database, pdb and tablespace properties...

Executing SQL script to gather data into log file: /home/oracle/tts_project/tts_project/tts_project_LEVEL_0/tts_project_data.log...
Data gathering completed successfully.

* Create directory object...

Directory TTS_DUMP_DIR created successfully.

* Copy wallet into the host list...

Parsing host string: computedb:DB19C.
Copy wallet into the host list : ['computedb:DB19C'].
Skipping wallet copy to current host: computedb.

* Get SCNS for next incremental backup...

SCNs gathered: ['2553058', '2160021'].

* Construct channel string...

Channel string constructed with 2 channels.

* Perform RMAN backup of sales_tbs1,sales_tbs2,product_tbs tablespace datafiles and schema...

Start Time (UTC): 2026-01-03 14:52:58.526699
Backup for unencrypted tablespaces started


Recovery Manager: Release 19.0.0.0.0 - Production on Sat Jan 3 14:52:58 2026
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.

RMAN>
echo set on


RMAN> connect target *;
connected to target database: DB19C:PDB1 (DBID=1567301)


RMAN> set command id to 'tts_project_unencrypted';
executing command: SET COMMAND ID


RMAN>

RMAN> set nocfau;
executing command: SET NOCFAU
using target database control file instead of recovery catalog


RMAN> set encryption on identified by * only;
executing command: SET encryption


RMAN> run {
2>
3>         allocate channel c_DB19C_1 device type sbt
4>         connect *
5>
6>       parms='SBT_LIBRARY=/home/oracle/tts_project/tts_project/libopc.so,
7>       ENV=(OPC_WALLET="LOCATION=file:/home/oracle/tts_project/tts_project/tts_project_LEVEL_0 CREDENTIAL_ALIAS=alias_oci",
8>       OPC_HOST=https://objectstorage.ap-tokyo-1.oraclecloud.com/n/xxxxxxxxxx,
9>       OPC_CONTAINER=tts_data_bucket,
10>       OPC_AUTH_SCHEME=BMC,
11>       OPC_CHUNK_SIZE=524288000,
12>       _OPC_BUFFER_WRITE=TRUE,
13>       _OPC_BUFFER_READ=TRUE,
14>       _OPC_TAG_METERING=FALSE)';
15>
16>
17>         allocate channel c_DB19C_2 device type sbt
18>         connect *
19>
20>       parms='SBT_LIBRARY=/home/oracle/tts_project/tts_project/libopc.so,
21>       ENV=(OPC_WALLET="LOCATION=file:/home/oracle/tts_project/tts_project/tts_project_LEVEL_0 CREDENTIAL_ALIAS=alias_oci",
22>       OPC_HOST=https://objectstorage.ap-tokyo-1.oraclecloud.com/n/xxxxxxxxxx,
23>       OPC_CONTAINER=tts_data_bucket,
24>       OPC_AUTH_SCHEME=BMC,
25>       OPC_CHUNK_SIZE=524288000,
26>       _OPC_BUFFER_WRITE=TRUE,
27>       _OPC_BUFFER_READ=TRUE,
28>       _OPC_TAG_METERING=FALSE)';
29>
30>
31> backup as  backupset for transport  incremental from scn 0 tablespace PRODUCT_TBS,SALES_TBS1,SALES_TBS2 format 'tts_project_%d_%U' datapump format 'tts_project_DATAPUMP_%d_%U' dump file 'tablespace.dmp' destination '/home/oracle/tts_project/tts_project/tts_project_LEVEL_0';
32> }
allocated channel: c_DB19C_1
channel c_DB19C_1: SID=276 device type=SBT_TAPE
channel c_DB19C_1: Oracle Database Backup Service Library VER=19.0.0.1

allocated channel: c_DB19C_2
channel c_DB19C_2: SID=39 device type=SBT_TAPE
channel c_DB19C_2: Oracle Database Backup Service Library VER=19.0.0.1

Starting backup at 03-JAN-26
Running TRANSPORT_SET_CHECK on specified tablespaces
TRANSPORT_SET_CHECK completed successfully

Performing export of metadata for specified tablespaces...
   EXPDP> Starting "SYS"."TRANSPORT_EXP_DB19C_Ftby":
   EXPDP> Processing object type TRANSPORTABLE_EXPORT/INDEX/STATISTICS/INDEX_STATISTICS
   EXPDP> Processing object type TRANSPORTABLE_EXPORT/STATISTICS/TABLE_STATISTICS
   EXPDP> Processing object type TRANSPORTABLE_EXPORT/STATISTICS/MARKER
   EXPDP> Processing object type TRANSPORTABLE_EXPORT/PLUGTS_BLK
   EXPDP> Processing object type TRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK
   EXPDP> Processing object type TRANSPORTABLE_EXPORT/TABLE
   EXPDP> Processing object type TRANSPORTABLE_EXPORT/INDEX/INDEX
   EXPDP> Processing object type TRANSPORTABLE_EXPORT/CONSTRAINT/CONSTRAINT
   EXPDP> Processing object type TRANSPORTABLE_EXPORT/CONSTRAINT/REF_CONSTRAINT
   EXPDP> Master table "SYS"."TRANSPORT_EXP_DB19C_Ftby" successfully loaded/unloaded
   EXPDP> ******************************************************************************
   EXPDP> Dump file set for SYS.TRANSPORT_EXP_DB19C_Ftby is:
   EXPDP>   /home/oracle/tts_project/tts_project/tts_project_LEVEL_0/tablespace.dmp
   EXPDP> ******************************************************************************
   EXPDP> Datafiles required for transportable tablespace PRODUCT_TBS:
   EXPDP>   /u01/app/oracle/product/19c/dbhome_1/dbs/product_tbs01.dbf
   EXPDP> Datafiles required for transportable tablespace SALES_TBS1:
   EXPDP>   /u01/app/oracle/product/19c/dbhome_1/dbs/sales_tbs1_01.dbf
   EXPDP> Datafiles required for transportable tablespace SALES_TBS2:
   EXPDP>   /u01/app/oracle/product/19c/dbhome_1/dbs/sales_tbs2_01.dbf
   EXPDP> Job "SYS"."TRANSPORT_EXP_DB19C_Ftby" successfully completed at Sat Jan 3 14:53:25 2026 elapsed 0 00:00:18
Export completed

channel c_DB19C_1: starting full datafile backup set
channel c_DB19C_1: specifying datafile(s) in backup set
input datafile file number=00014 name=/u01/app/oracle/product/19c/dbhome_1/dbs/product_tbs01.dbf
input datafile file number=00013 name=/u01/app/oracle/product/19c/dbhome_1/dbs/sales_tbs2_01.dbf
channel c_DB19C_1: starting piece 1 at 03-JAN-26
channel c_DB19C_2: starting full datafile backup set
channel c_DB19C_2: specifying datafile(s) in backup set
input datafile file number=00012 name=/u01/app/oracle/product/19c/dbhome_1/dbs/sales_tbs1_01.dbf
channel c_DB19C_2: starting piece 1 at 03-JAN-26
channel c_DB19C_1: finished piece 1 at 03-JAN-26
piece handle=tts_project_DB19C_0a4cvi36_1_1 tag=TAG20260103T145301 comment=API Version 2.0,MMS Version 19.0.0.1
channel c_DB19C_1: backup set complete, elapsed time: 00:00:03
channel c_DB19C_2: finished piece 1 at 03-JAN-26
piece handle=tts_project_DB19C_0b4cvi36_1_1 tag=TAG20260103T145301 comment=API Version 2.0,MMS Version 19.0.0.1
channel c_DB19C_2: backup set complete, elapsed time: 00:00:03
channel c_DB19C_1: starting full datafile backup set
input Data Pump dump file=/home/oracle/tts_project/tts_project/tts_project_LEVEL_0/tablespace.dmp
channel c_DB19C_1: starting piece 1 at 03-JAN-26
channel c_DB19C_1: finished piece 1 at 03-JAN-26
piece handle=tts_project_DATAPUMP_DB19C_0c4cvi39_1_1 tag=TAG20260103T145301 comment=API Version 2.0,MMS Version 19.0.0.1
channel c_DB19C_1: backup set complete, elapsed time: 00:00:01
Finished backup at 03-JAN-26
released channel: c_DB19C_1
released channel: c_DB19C_2


RMAN>

Recovery Manager complete.
RMAN executed successfully.
Backup for unencrypted tablespaces completed successfully

Complete Time (UTC): 2026-01-03 14:53:31.079935
Elapsed Time: 0:00:32.553236

* Export INVENTORY_USER,SALES_USER schema using data pump...


Export: Release 19.0.0.0.0 - Production on Sat Jan 3 14:53:31 2026
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.

Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Starting "SYS"."SYS_EXPORT_SCHEMA_01":  "sys/********@computedb.private1.vcn1.oraclevcn.com:1521/pdb1 AS SYSDBA" SCHEMAS=INVENTORY_USER,SALES_USER DIRECTORY=TTS_DUMP_DIR DUMPFILE=schema.dmp CONTENT=METADATA_ONLY CLUSTER=NO EXCLUDE=TABLE,INDEX LOGFILE=export.log
Processing object type SCHEMA_EXPORT/USER
Processing object type SCHEMA_EXPORT/ROLE_GRANT
Processing object type SCHEMA_EXPORT/DEFAULT_ROLE
Processing object type SCHEMA_EXPORT/TABLESPACE_QUOTA
Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
Master table "SYS"."SYS_EXPORT_SCHEMA_01" successfully loaded/unloaded
******************************************************************************
Dump file set for SYS.SYS_EXPORT_SCHEMA_01 is:
  /home/oracle/tts_project/tts_project/tts_project_LEVEL_0/schema.dmp
Job "SYS"."SYS_EXPORT_SCHEMA_01" successfully completed at Sat Jan 3 14:53:45 2026 elapsed 0 00:00:13

EXPDP executed successfully.

* Export SALES_TBS1,SALES_TBS2,PRODUCT_TBS tablespaces schema using data pump...

/u01/app/oracle/product/19c/dbhome_1/bin/expdp \"sys/PASSWORD@ computedb.private1.vcn1.oraclevcn.com:1521/pdb1 AS SYSDBA\" DIRECTORY=TTS_DUMP_DIR DUMPFILE=tablespace.dmp TRANSPORT_TABLESPACES=SALES_TBS1,SALES_TBS2,PRODUCT_TBS CLUSTER=NO LOGFILE=export_tablespace.log

Export: Release 19.0.0.0.0 - Production on Sat Jan 3 14:53:47 2026
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.

Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Starting "SYS"."SYS_EXPORT_TRANSPORTABLE_01":  "sys/********@computedb.private1.vcn1.oraclevcn.com:1521/pdb1 AS SYSDBA" DIRECTORY=TTS_DUMP_DIR DUMPFILE=tablespace.dmp TRANSPORT_TABLESPACES=SALES_TBS1,SALES_TBS2,PRODUCT_TBS CLUSTER=NO LOGFILE=export_tablespace.log
Processing object type TRANSPORTABLE_EXPORT/INDEX/STATISTICS/INDEX_STATISTICS
Processing object type TRANSPORTABLE_EXPORT/STATISTICS/TABLE_STATISTICS
Processing object type TRANSPORTABLE_EXPORT/STATISTICS/MARKER
Processing object type TRANSPORTABLE_EXPORT/PLUGTS_BLK
Processing object type TRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK
Processing object type TRANSPORTABLE_EXPORT/TABLE
Processing object type TRANSPORTABLE_EXPORT/INDEX/INDEX
Processing object type TRANSPORTABLE_EXPORT/CONSTRAINT/CONSTRAINT
Processing object type TRANSPORTABLE_EXPORT/CONSTRAINT/REF_CONSTRAINT
Master table "SYS"."SYS_EXPORT_TRANSPORTABLE_01" successfully loaded/unloaded
******************************************************************************
Dump file set for SYS.SYS_EXPORT_TRANSPORTABLE_01 is:
  /home/oracle/tts_project/tts_project/tts_project_LEVEL_0/tablespace.dmp
******************************************************************************
Datafiles required for transportable tablespace PRODUCT_TBS:
  /u01/app/oracle/product/19c/dbhome_1/dbs/product_tbs01.dbf
Datafiles required for transportable tablespace SALES_TBS1:
  /u01/app/oracle/product/19c/dbhome_1/dbs/sales_tbs1_01.dbf
Datafiles required for transportable tablespace SALES_TBS2:
  /u01/app/oracle/product/19c/dbhome_1/dbs/sales_tbs2_01.dbf
Job "SYS"."SYS_EXPORT_TRANSPORTABLE_01" successfully completed at Sat Jan 3 14:54:04 2026 elapsed 0 00:00:17

EXPDP executed successfully.

* Create manifest...

Manifest creation successful.
Updated /home/oracle/tts_project/tts_project/tts_project.json Successful.

* Create transport bundle...

Creating bundle file: /home/oracle/tts_project/tts_project/tts_project_LEVEL_0.tgz.
Bundle created successfully: /home/oracle/tts_project/tts_project/tts_project_LEVEL_0.tgz.
Cleaned up the bundle directory: tts_project_LEVEL_0.

* Final Backup, Dropped the project manifest json file...


* Dropped the TTS_DIR_NAME directory object...

Directory TTS_DUMP_DIR dropped successfully.

* Upload transport bundle to object storage...

Bundle uploaded successfully to https://objectstorage.ap-tokyo-1.oraclecloud.com/n/xxxxxxxxxx/b/tts_bucket/o/tts_project_LEVEL_0.tgz.
---------
Create a database in ADB-S cloud with minimum storage size of 0.1953125GB
Specify tag name/value as
ADB$TTS_BUNDLE_URL: https://objectstorage.ap-tokyo-1.oraclecloud.com/n/xxxxxxxxxx/b/tts_bucket/o/tts_project_LEVEL_0.tgz
---------

5-5.ADBの作成

ADBを作成します。拡張オプションに移行があり、そこでトランスポータブル表領域バックアップユーティリティで取得したバックアップのURL(ADB$TTS_BUNDLE_URL)を指定します。ECPUは2にしました。
image.png

待つこと、1時間くらいで作成できました。

image.png

内容を確認してみます。データファイルや表領域は新規に作成したADBと変わりないようです。

select * from dba_data_files;
FILE_NAME                                                                                               FILE_ID TABLESPACE_NAME      BYTES BLOCKS STATUS    RELATIVE_FNO AUTOEXTENSIBLE       MAXBYTES  MAXBLOCKS INCREMENT_BY USER_BYTES USER_BLOCKS ONLINE_STATUS LOST_WRITE_PROTECT 
------------------------------------------------------------------------------------------------------- ------- --------------- ---------- ------ --------- ------------ -------------- -------------- ---------- ------------ ---------- ----------- ------------- ------------------ 
/u01/app/oracle/oradata/DMPFTURX/477F709D5DDF1B70E063AF55000AB588/datafile/o1_mf_system_nolkg1ts_.dbf         2 SYSTEM          1752170496 213888 AVAILABLE         1024 YES            35184372064256 4294967293         1280 1751121920      213760 SYSTEM        OFF                
/u01/app/oracle/oradata/DMPFTURX/477F709D5DDF1B70E063AF55000AB588/datafile/o1_mf_sysaux_nolkg1vg_.dbf         4 SYSAUX          1237319680 151040 AVAILABLE         1024 YES            35184372064256 4294967293         1280 1230995456      150268 ONLINE        OFF                
/u01/app/oracle/oradata/DMPFTURX/477F709D5DDF1B70E063AF55000AB588/datafile/o1_mf_undotbs1_nolkg1vn_.dbf       5 UNDOTBS1        1609564160 196480 AVAILABLE         1024 YES                2147483648     262144       262144 1608515584      196352 ONLINE        OFF                
/u01/app/oracle/oradata/DMPFTURX/477F709D5DDF1B70E063AF55000AB588/datafile/o1_mf_data_nolkg1vs_.dbf           6 DATA             419430400  51200 AVAILABLE         1024 YES            35184372064256 4294967293       262144  413106176       50428 ONLINE        OFF                
/u01/app/oracle/oradata/DMPFTURX/477F709D5DDF1B70E063AF55000AB588/datafile/o1_mf_dbfs_dat_nollgn87_.dbf      15 DBFS_DATA       2252341248 274944 AVAILABLE         1024 YES            35184371040256 4294967168       262144 2246017024      274172 ONLINE        OFF                

ユーザーや表は移行されています。

select segment_name,segment_type,tablespace_name from dba_segments where owner in ('SALES_USER','INVENTORY_USER');

SEGMENT_NAME           SEGMENT_TYPE TABLESPACE_NAME 
---------------------- ------------ --------------- 
PRODUCTS               TABLE        DATA            
CUSTOMERS              TABLE        DATA            
ORDERS                 TABLE        DATA            
SYS_C0018616           INDEX        DATA            
SYS_C0018617           INDEX        DATA            
IDX_PRODUCTS_NAME      INDEX        DATA            
IDX_ORDERS_CUSTOMER_ID INDEX        DATA            
SYS_C0018618           INDEX        DATA            
SYS_C0018619           INDEX        DATA            

6.増分バックアップを使った移行

増分バックアップを試してみます。わかりやすいようにバケットは後ろに1を付けた名前で新しく作成しました。

image.png

6-1.パラメータ・ファイルの変更

tts-backup-env.txtで次のパラメータを変更しました。プロジェクト名も後ろに1を付けました。

[DEFAULT]
### Project and Tablespace inputs
PROJECT_NAME=tts_project1
:
#### OCI Installer inputs
TTS_BACKUP_URL=https://objectstorage.ap-tokyo-1.oraclecloud.com/n/xxxxxxxxxx/b/tts_data_bucket1
TTS_BUNDLE_URL=https://objectstorage.ap-tokyo-1.oraclecloud.com/n/xxxxxxxxxx/b/tts_bucket1
:

### Final backup inputs
FINAL_BACKUP=FALSE
:

6-2.表領域を書き込みできるように変更

増分バックアップは対象の表領域が読み取り専用である必要はないため、書き込みできるように戻します。

alter tablespace sales_tbs1 read write;
alter tablespace sales_tbs2 read write;
alter tablespace product_tbs read write;

6-3.実行

DRY-RUNはせずに実行しました。成功した結果は以下のとおりです。

level0の増分バックアップの実行結果
[oracle@computedb tts_project]$ python3 /home/oracle/tts_project/tts-backup.py
Enter value for required variable DBPASSWORD:
Enter value for optional variable TDE_WALLET_STORE_PASSWORD
Required only if any of the tablespaces are TDE encrypted (leave empty and press Enter if not applicable):
Created project directory: /home/oracle/tts_project/tts_project1

Created project manifest file: /home/oracle/tts_project/tts_project1/tts_project1.json

Created project directory with backup level 0 : /home/oracle/tts_project/tts_project1/tts_project1_LEVEL_0.

* Run tablespace validations...

Start Time (UTC): 2026-01-04 04:59:18.552986
No schemas provided. Returning a list of required users.
Fetching required users...
Validating OLS policies...
Validating Redaction policies...
Checking Database Vault protection...
Checking Database Vault realms...
Validating schemas...
Fetching common users...
Fetching required users...
Validating tablespaces...
Validating tablespaces count...
Finding plsql objects that are not transported due to owner not in transport list
Object validations complete.

Validate if tablespace SALES_TBS1 is ready for transport...
Validate if tablespace SALES_TBS2 is ready for transport...
Validate if tablespace PRODUCT_TBS is ready for transport...
Complete Time (UTC): 2026-01-04 04:59:38.148566
Elapsed Time: 0:00:19.595580

* Check backup and bundle storage buckets...

** Checking backup storage bucket... **
Validating storage bucket at URL: https://objectstorage.ap-tokyo-1.oraclecloud.com/n/xxxxxxxxxx/b/tts_data_bucket1...
Successfully validated URI https://objectstorage.ap-tokyo-1.oraclecloud.com/n/xxxxxxxxxx/b/tts_data_bucket1.
** Checking bundle storage bucket... **
Validating storage bucket at URL: https://objectstorage.ap-tokyo-1.oraclecloud.com/n/xxxxxxxxxx/b/tts_bucket1...
Successfully validated URI https://objectstorage.ap-tokyo-1.oraclecloud.com/n/xxxxxxxxxx/b/tts_bucket1.

* Add credential alias to backup wallet...

Oracle Database Cloud Backup Module Install Tool, build 19.3.0.0.0DBBKPCSBP_2019-10-16
Oracle Database Cloud Backup Module credentials are valid.
Backups would be sent to bucket tts_data_bucket1.
Oracle Database Cloud Backup Module wallet created in directory /home/oracle/tts_project/tts_project1/tts_project1_LEVEL_0.
Oracle Database Cloud Backup Module initialization file /u01/app/oracle/product/19c/dbhome_1/dbs/opcDB19C.ora created.
Downloading Oracle Database Cloud Backup Module Software Library from Oracle Cloud Infrastructure.
Download complete.
OCI Backup Module installed successfully.
Oracle Database Cloud Backup Module installed successfully.


* Gather database, pdb and tablespace properties...

Executing SQL script to gather data into log file: /home/oracle/tts_project/tts_project1/tts_project1_LEVEL_0/tts_project1_data.log...
Data gathering completed successfully.

* Create directory object...

Directory TTS_DUMP_DIR created successfully.

* Copy wallet into the host list...

Parsing host string: computedb:DB19C.
Copy wallet into the host list : ['computedb:DB19C'].
Skipping wallet copy to current host: computedb.

* Get SCNS for next incremental backup...

SCNs gathered: ['2680803', '2680610'].

* Construct channel string...

Channel string constructed with 2 channels.

* Perform RMAN backup of sales_tbs1,sales_tbs2,product_tbs tablespace datafiles and schema...

Start Time (UTC): 2026-01-04 05:00:00.929044
Backup for unencrypted tablespaces started


Recovery Manager: Release 19.0.0.0.0 - Production on Sun Jan 4 05:00:00 2026
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.

RMAN>
echo set on


RMAN> connect target *;
connected to target database: DB19C:PDB1 (DBID=1567301)


RMAN> set command id to 'tts_project1_unencrypted';
executing command: SET COMMAND ID


RMAN>

RMAN> set nocfau;
executing command: SET NOCFAU
using target database control file instead of recovery catalog


RMAN> set encryption on identified by * only;
executing command: SET encryption


RMAN> run {
2>
3>         allocate channel c_DB19C_1 device type sbt
4>         connect *
5>
6>       parms='SBT_LIBRARY=/home/oracle/tts_project/tts_project1/libopc.so,
7>       ENV=(OPC_WALLET="LOCATION=file:/home/oracle/tts_project/tts_project1/tts_project1_LEVEL_0 CREDENTIAL_ALIAS=alias_oci",
8>       OPC_HOST=https://objectstorage.ap-tokyo-1.oraclecloud.com/n/xxxxxxxxxx,
9>       OPC_CONTAINER=tts_data_bucket1,
10>       OPC_AUTH_SCHEME=BMC,
11>       OPC_CHUNK_SIZE=524288000,
12>       _OPC_BUFFER_WRITE=TRUE,
13>       _OPC_BUFFER_READ=TRUE,
14>       _OPC_TAG_METERING=FALSE)';
15>
16>
17>         allocate channel c_DB19C_2 device type sbt
18>         connect *
19>
20>       parms='SBT_LIBRARY=/home/oracle/tts_project/tts_project1/libopc.so,
21>       ENV=(OPC_WALLET="LOCATION=file:/home/oracle/tts_project/tts_project1/tts_project1_LEVEL_0 CREDENTIAL_ALIAS=alias_oci",
22>       OPC_HOST=https://objectstorage.ap-tokyo-1.oraclecloud.com/n/xxxxxxxxxx,
23>       OPC_CONTAINER=tts_data_bucket1,
24>       OPC_AUTH_SCHEME=BMC,
25>       OPC_CHUNK_SIZE=524288000,
26>       _OPC_BUFFER_WRITE=TRUE,
27>       _OPC_BUFFER_READ=TRUE,
28>       _OPC_TAG_METERING=FALSE)';
29>
30>
31> backup as compressed backupset for transport allow inconsistent incremental from scn 0 tablespace PRODUCT_TBS,SALES_TBS1,SALES_TBS2 format 'tts_project1_%d_%U' ;
32> }
allocated channel: c_DB19C_1
channel c_DB19C_1: SID=41 device type=SBT_TAPE
channel c_DB19C_1: Oracle Database Backup Service Library VER=19.0.0.1

allocated channel: c_DB19C_2
channel c_DB19C_2: SID=285 device type=SBT_TAPE
channel c_DB19C_2: Oracle Database Backup Service Library VER=19.0.0.1

Starting backup at 04-JAN-26
channel c_DB19C_1: starting compressed full datafile backup set
channel c_DB19C_1: specifying datafile(s) in backup set
input datafile file number=00014 name=/u01/app/oracle/product/19c/dbhome_1/dbs/product_tbs01.dbf
input datafile file number=00013 name=/u01/app/oracle/product/19c/dbhome_1/dbs/sales_tbs2_01.dbf
channel c_DB19C_1: starting piece 1 at 04-JAN-26
channel c_DB19C_2: starting compressed full datafile backup set
channel c_DB19C_2: specifying datafile(s) in backup set
input datafile file number=00012 name=/u01/app/oracle/product/19c/dbhome_1/dbs/sales_tbs1_01.dbf
channel c_DB19C_2: starting piece 1 at 04-JAN-26
channel c_DB19C_1: finished piece 1 at 04-JAN-26
piece handle=tts_project1_DB19C_0g4d13mj_1_1 tag=TAG20260104T050003 comment=API Version 2.0,MMS Version 19.0.0.1
channel c_DB19C_1: backup set complete, elapsed time: 00:00:03
channel c_DB19C_2: finished piece 1 at 04-JAN-26
piece handle=tts_project1_DB19C_0h4d13mj_1_1 tag=TAG20260104T050003 comment=API Version 2.0,MMS Version 19.0.0.1
channel c_DB19C_2: backup set complete, elapsed time: 00:00:03
Finished backup at 04-JAN-26
released channel: c_DB19C_1
released channel: c_DB19C_2


RMAN>

Recovery Manager complete.
RMAN executed successfully.
Backup for unencrypted tablespaces completed successfully

Complete Time (UTC): 2026-01-04 05:00:07.263851
Elapsed Time: 0:00:06.334807

* Create manifest...

Manifest creation successful.
Updated /home/oracle/tts_project/tts_project1/tts_project1.json Successful.

* Create transport bundle...

Creating bundle file: /home/oracle/tts_project/tts_project1/tts_project1_LEVEL_0.tgz.
Bundle created successfully: /home/oracle/tts_project/tts_project1/tts_project1_LEVEL_0.tgz.
Cleaned up the bundle directory: tts_project1_LEVEL_0.

* Upload transport bundle to object storage...

Bundle uploaded successfully to https://objectstorage.ap-tokyo-1.oraclecloud.com/n/xxxxxxxxxx/b/tts_bucket1/o/tts_project1_LEVEL_0.tgz.
---------
Create a database in ADB-S cloud with minimum storage size of 0.1953125GB
Specify tag name/value as
ADB$TTS_BUNDLE_URL: https://objectstorage.ap-tokyo-1.oraclecloud.com/n/xxxxxxxxxx/b/tts_bucket1/o/tts_project1_LEVEL_0.tgz
---------

6-3.ADBを作成する

image.png

作成できました。

image.png

SQLで情報を確認してみます。

select * from dba_data_files;

FILE_NAME                                                                                               FILE_ID TABLESPACE_NAME      BYTES BLOCKS STATUS    RELATIVE_FNO AUTOEXTENSIBLE       MAXBYTES  MAXBLOCKS INCREMENT_BY USER_BYTES USER_BLOCKS ONLINE_STATUS LOST_WRITE_PROTECT 
------------------------------------------------------------------------------------------------------- ------- --------------- ---------- ------ --------- ------------ -------------- -------------- ---------- ------------ ---------- ----------- ------------- ------------------ 
/u01/app/oracle/oradata/DMPFYF3V/478A55E0D2DE1B58E063514E000A88F6/datafile/o1_mf_system_nomz4fxq_.dbf         2 SYSTEM          1741684736 212608 AVAILABLE         1024 YES            35184372064256 4294967293         1280 1740636160      212480 SYSTEM        OFF                
/u01/app/oracle/oradata/DMPFYF3V/478A55E0D2DE1B58E063514E000A88F6/datafile/o1_mf_sysaux_nomz4fyb_.dbf         4 SYSAUX          1226833920 149760 AVAILABLE         1024 YES            35184372064256 4294967293         1280 1220509696      148988 ONLINE        OFF                
/u01/app/oracle/oradata/DMPFYF3V/478A55E0D2DE1B58E063514E000A88F6/datafile/o1_mf_undotbs1_nomz4fyk_.dbf       5 UNDOTBS1        1609564160 196480 AVAILABLE         1024 YES                2147483648     262144       262144 1608515584      196352 ONLINE        OFF                
/u01/app/oracle/oradata/DMPFYF3V/478A55E0D2DE1B58E063514E000A88F6/datafile/o1_mf_data_nomz4fyo_.dbf           6 DATA             419430400  51200 AVAILABLE         1024 YES            35184372064256 4294967293       262144  413106176       50428 ONLINE        OFF                
/u01/app/oracle/oradata/DMPFYF3V/478A55E0D2DE1B58E063514E000A88F6/datafile/o1_mf_dbfs_dat_nomz4fyt_.dbf       8 DBFS_DATA        419430400  51200 AVAILABLE         1024 YES            35184372064256 4294967293       262144  413106176       50428 ONLINE        OFF                


Elapsed: 00:00:00.025
5行が選択されました。

SQL> select segment_name,segment_type,tablespace_name from dba_segments where owner in ('SALES_USER','INVENTORY_USER');

no rows selected

増分バックアップの場合は、ドキュメントのTransport using an incremental tablespace backup of the source databaseで記載されているように、最終増分バックアップが適用されるまでスキーマなどは作成されません。

6-4.データを更新

INVENTORY_USER.PRODUCTのデータを削除して入れ直しました。

SQL> select product_id,product_name,created_at from inventory_user.product;
PRODUCT_ID PRODUCT_NAME         CREATED_AT
---------- -------------------- ------------------------------
       201 ノートPC             26-01-04 05:37:35.133234
       202 マウス               26-01-04 05:37:35.135001
       203 ディスプレイ         25-12-28 05:37:35.135637

6-5.バックアップを実行

増分バックアップを取得します。Level1の増分バックアップが取得されました。

増分バックアップはlevel0で指定した表領域リストと同じリストで取得します。

level1の増分バックアップ取得実行結果
[oracle@computedb tts_project]$  python3 /home/oracle/tts_project/tts-backup.py
Enter value for required variable DBPASSWORD:
Enter value for optional variable TDE_WALLET_STORE_PASSWORD
Required only if any of the tablespaces are TDE encrypted (leave empty and press Enter if not applicable):
Loaded existing project manifest file: /home/oracle/tts_project/tts_project1/tts_project1.json

Created project directory with backup level 1 : /home/oracle/tts_project/tts_project1/tts_project1_LEVEL_1.

* Run tablespace validations...

Start Time (UTC): 2026-01-04 05:59:08.619875
No schemas provided. Returning a list of required users.
Fetching required users...
Validating OLS policies...
Validating Redaction policies...
Checking Database Vault protection...
Checking Database Vault realms...
Validating schemas...
Fetching common users...
Fetching required users...
Validating tablespaces...
Validating tablespaces count...
Finding plsql objects that are not transported due to owner not in transport list
Object validations complete.

Validate if tablespace SALES_TBS1 is ready for transport...
Validate if tablespace SALES_TBS2 is ready for transport...
Validate if tablespace PRODUCT_TBS is ready for transport...
Complete Time (UTC): 2026-01-04 05:59:23.194652
Elapsed Time: 0:00:14.574777

* Check backup and bundle storage buckets...

** Checking backup storage bucket... **
Validating storage bucket at URL: https://objectstorage.ap-tokyo-1.oraclecloud.com/n/xxxxxxxxxx/b/tts_data_bucket1...
Successfully validated URI https://objectstorage.ap-tokyo-1.oraclecloud.com/n/xxxxxxxxxx/b/tts_data_bucket1.
** Checking bundle storage bucket... **
Validating storage bucket at URL: https://objectstorage.ap-tokyo-1.oraclecloud.com/n/xxxxxxxxxx/b/tts_bucket1...
Successfully validated URI https://objectstorage.ap-tokyo-1.oraclecloud.com/n/xxxxxxxxxx/b/tts_bucket1.

* Add credential alias to backup wallet...

Oracle Database Cloud Backup Module Install Tool, build 19.3.0.0.0DBBKPCSBP_2019-10-16
Oracle Database Cloud Backup Module credentials are valid.
Backups would be sent to bucket tts_data_bucket1.
Oracle Database Cloud Backup Module wallet created in directory /home/oracle/tts_project/tts_project1/tts_project1_LEVEL_1.
Oracle Database Cloud Backup Module initialization file /u01/app/oracle/product/19c/dbhome_1/dbs/opcDB19C.ora created.
Downloading Oracle Database Cloud Backup Module Software Library from Oracle Cloud Infrastructure.
Download complete.
OCI Backup Module installed successfully.
Oracle Database Cloud Backup Module installed successfully.


* Gather database, pdb and tablespace properties...

Executing SQL script to gather data into log file: /home/oracle/tts_project/tts_project1/tts_project1_LEVEL_1/tts_project1_data.log...
Data gathering completed successfully.

* Create directory object...

Directory TTS_DUMP_DIR created successfully.

* Copy wallet into the host list...

Parsing host string: computedb:DB19C.
Copy wallet into the host list : ['computedb:DB19C'].
Skipping wallet copy to current host: computedb.

* Get SCNS for next incremental backup...

SCNs gathered: ['2685166', '2680841'].

* Construct channel string...

Channel string constructed with 2 channels.

* Perform RMAN backup of sales_tbs1,sales_tbs2,product_tbs tablespace datafiles and schema...

Start Time (UTC): 2026-01-04 05:59:46.188293
Backup for unencrypted tablespaces started


Recovery Manager: Release 19.0.0.0.0 - Production on Sun Jan 4 05:59:46 2026
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.

RMAN>
echo set on


RMAN> connect target *;
connected to target database: DB19C:PDB1 (DBID=1567301)


RMAN> set command id to 'tts_project1_unencrypted';
executing command: SET COMMAND ID


RMAN>

RMAN> set nocfau;
executing command: SET NOCFAU
using target database control file instead of recovery catalog


RMAN> set encryption on identified by * only;
executing command: SET encryption


RMAN> run {
2>
3>         allocate channel c_DB19C_1 device type sbt
4>         connect *
5>
6>       parms='SBT_LIBRARY=/home/oracle/tts_project/tts_project1/libopc.so,
7>       ENV=(OPC_WALLET="LOCATION=file:/home/oracle/tts_project/tts_project1/tts_project1_LEVEL_1 CREDENTIAL_ALIAS=alias_oci",
8>       OPC_HOST=https://objectstorage.ap-tokyo-1.oraclecloud.com/n/xxxxxxxxxx,
9>       OPC_CONTAINER=tts_data_bucket1,
10>       OPC_AUTH_SCHEME=BMC,
11>       OPC_CHUNK_SIZE=524288000,
12>       _OPC_BUFFER_WRITE=TRUE,
13>       _OPC_BUFFER_READ=TRUE,
14>       _OPC_TAG_METERING=FALSE)';
15>
16>
17>         allocate channel c_DB19C_2 device type sbt
18>         connect *
19>
20>       parms='SBT_LIBRARY=/home/oracle/tts_project/tts_project1/libopc.so,
21>       ENV=(OPC_WALLET="LOCATION=file:/home/oracle/tts_project/tts_project1/tts_project1_LEVEL_1 CREDENTIAL_ALIAS=alias_oci",
22>       OPC_HOST=https://objectstorage.ap-tokyo-1.oraclecloud.com/n/xxxxxxxxxx,
23>       OPC_CONTAINER=tts_data_bucket1,
24>       OPC_AUTH_SCHEME=BMC,
25>       OPC_CHUNK_SIZE=524288000,
26>       _OPC_BUFFER_WRITE=TRUE,
27>       _OPC_BUFFER_READ=TRUE,
28>       _OPC_TAG_METERING=FALSE)';
29>
30>
31> backup as compressed backupset for transport allow inconsistent incremental from scn 2680803 tablespace PRODUCT_TBS,SALES_TBS1,SALES_TBS2 format 'tts_project1_%d_%U' ;
32> }
allocated channel: c_DB19C_1
channel c_DB19C_1: SID=42 device type=SBT_TAPE
channel c_DB19C_1: Oracle Database Backup Service Library VER=19.0.0.1

allocated channel: c_DB19C_2
channel c_DB19C_2: SID=273 device type=SBT_TAPE
channel c_DB19C_2: Oracle Database Backup Service Library VER=19.0.0.1

Starting backup at 04-JAN-26
channel c_DB19C_1: starting compressed full datafile backup set
channel c_DB19C_1: specifying datafile(s) in backup set
input datafile file number=00014 name=/u01/app/oracle/product/19c/dbhome_1/dbs/product_tbs01.dbf
input datafile file number=00013 name=/u01/app/oracle/product/19c/dbhome_1/dbs/sales_tbs2_01.dbf
channel c_DB19C_1: starting piece 1 at 04-JAN-26
channel c_DB19C_2: starting compressed full datafile backup set
channel c_DB19C_2: specifying datafile(s) in backup set
input datafile file number=00012 name=/u01/app/oracle/product/19c/dbhome_1/dbs/sales_tbs1_01.dbf
channel c_DB19C_2: starting piece 1 at 04-JAN-26
channel c_DB19C_1: finished piece 1 at 04-JAN-26
piece handle=tts_project1_DB19C_0j4d176k_1_1 tag=TAG20260104T055948 comment=API Version 2.0,MMS Version 19.0.0.1
channel c_DB19C_1: backup set complete, elapsed time: 00:00:03
channel c_DB19C_2: finished piece 1 at 04-JAN-26
piece handle=tts_project1_DB19C_0k4d176k_1_1 tag=TAG20260104T055948 comment=API Version 2.0,MMS Version 19.0.0.1
channel c_DB19C_2: backup set complete, elapsed time: 00:00:03
Finished backup at 04-JAN-26
released channel: c_DB19C_1
released channel: c_DB19C_2


RMAN>

Recovery Manager complete.
RMAN executed successfully.
Backup for unencrypted tablespaces completed successfully

Complete Time (UTC): 2026-01-04 05:59:51.947193
Elapsed Time: 0:00:05.758900

* Create manifest...

Manifest creation successful.
Updated /home/oracle/tts_project/tts_project1/tts_project1.json Successful.

* Create transport bundle...

Creating bundle file: /home/oracle/tts_project/tts_project1/tts_project1_LEVEL_1.tgz.
Bundle created successfully: /home/oracle/tts_project/tts_project1/tts_project1_LEVEL_1.tgz.
Cleaned up the bundle directory: tts_project1_LEVEL_1.

* Upload transport bundle to object storage...

Bundle uploaded successfully to https://objectstorage.ap-tokyo-1.oraclecloud.com/n/xxxxxxxxxx/b/tts_bucket1/o/tts_project1_LEVEL_1.tgz.
---------
Create a database in ADB-S cloud with minimum storage size of 0.1953125GB
Specify tag name/value as
ADB$TTS_BUNDLE_URL: https://objectstorage.ap-tokyo-1.oraclecloud.com/n/xxxxxxxxxx/b/tts_bucket1/o/tts_project1_LEVEL_1.tgz
---------

6-6.ADBに適用する

アクションメニューからデータの移行を選択します。

image.png

取得したバックアップを指定します。

image.png

移行をクリックすると、ステータスが不明になりましたが作業リクエストは実行中です。

image.png

すぐに完了しました。
image.png

6-7.データを更新

INVENTORY_USER.PRODUCTのデータを追加してみます。

SQL>  select product_id,product_name,created_at from inventory_user.products;

PRODUCT_ID PRODUCT_NAME         CREATED_AT
---------- -------------------- ------------------------------
       201 ノートPC             26-01-04 05:37:35.133234
       202 マウス               26-01-04 05:37:35.135001
       203 ディスプレイ         25-12-28 05:37:35.135637
       204 メモリ               26-01-04 06:15:35.459716
       205 ネットワークカード   26-01-04 06:15:35.466087

6-8.パラメータファイルを変更

最終増分バックアップの設定をします。

:
### Final backup inputs
FINAL_BACKUP=TRUE
:

6-9.対象表領域を読み取り専用に変更

最終増分バックアップの場合は、表領域を読み取り専用にする必要があります。

sqlplus /nolog
connect / as sysdba
alter session set container=pdb1;
alter tablespace sales_tbs1 read only;
alter tablespace sales_tbs2 read only;
alter tablespace product_tbs read only;

6-10.バックアップを実行

最終増分バックアップを実行しました。結果は以下の通りです。

最終増分バックアップの実行結果
[oracle@computedb tts_project]$ python3 /home/oracle/tts_project/tts-backup.py
Enter value for required variable DBPASSWORD:
Enter value for optional variable TDE_WALLET_STORE_PASSWORD
Required only if any of the tablespaces are TDE encrypted (leave empty and press Enter if not applicable):
Loaded existing project manifest file: /home/oracle/tts_project/tts_project1/tts_project1.json

Moved existing failed directory '/home/oracle/tts_project/tts_project1/tts_project1_LEVEL_2' to '/home/oracle/tts_project/tts_project1/tts_project1_LEVEL_2_FAILED'
Created project directory with backup level 2 : /home/oracle/tts_project/tts_project1/tts_project1_LEVEL_2.

* Run tablespace validations...

Start Time (UTC): 2026-01-04 06:23:01.814273
No schemas provided. Returning a list of required users.
Fetching required users...
Validating OLS policies...
Validating Redaction policies...
Checking Database Vault protection...
Checking Database Vault realms...
Validating schemas...
Fetching common users...
Fetching required users...
Validating tablespaces...
Validating tablespaces count...
Finding plsql objects that are not transported due to owner not in transport list
Object validations complete.

Validate if tablespace SALES_TBS1 is ready for transport...
Validate if tablespace SALES_TBS2 is ready for transport...
Validate if tablespace PRODUCT_TBS is ready for transport...
Complete Time (UTC): 2026-01-04 06:23:16.388053
Elapsed Time: 0:00:14.573780

* Check backup and bundle storage buckets...

** Checking backup storage bucket... **
Validating storage bucket at URL: https://objectstorage.ap-tokyo-1.oraclecloud.com/n/xxxxxxxxxx/b/tts_data_bucket1...
Successfully validated URI https://objectstorage.ap-tokyo-1.oraclecloud.com/n/xxxxxxxxxx/b/tts_data_bucket1.
** Checking bundle storage bucket... **
Validating storage bucket at URL: https://objectstorage.ap-tokyo-1.oraclecloud.com/n/xxxxxxxxxx/b/tts_bucket1...
Successfully validated URI https://objectstorage.ap-tokyo-1.oraclecloud.com/n/xxxxxxxxxx/b/tts_bucket1.

* Add credential alias to backup wallet...

Oracle Database Cloud Backup Module Install Tool, build 19.3.0.0.0DBBKPCSBP_2019-10-16
Oracle Database Cloud Backup Module credentials are valid.
Backups would be sent to bucket tts_data_bucket1.
Oracle Database Cloud Backup Module wallet created in directory /home/oracle/tts_project/tts_project1/tts_project1_LEVEL_2.
Oracle Database Cloud Backup Module initialization file /u01/app/oracle/product/19c/dbhome_1/dbs/opcDB19C.ora created.
Downloading Oracle Database Cloud Backup Module Software Library from Oracle Cloud Infrastructure.
Download complete.
OCI Backup Module installed successfully.
Oracle Database Cloud Backup Module installed successfully.


* Gather database, pdb and tablespace properties...

Executing SQL script to gather data into log file: /home/oracle/tts_project/tts_project1/tts_project1_LEVEL_2/tts_project1_data.log...
Data gathering completed successfully.

* Create directory object...

Directory TTS_DUMP_DIR created successfully.

* Copy wallet into the host list...

Parsing host string: computedb:DB19C.
Copy wallet into the host list : ['computedb:DB19C'].
Skipping wallet copy to current host: computedb.

* Get SCNS for next incremental backup...

SCNs gathered: ['2694602', '2694497'].

* Construct channel string...

Channel string constructed with 2 channels.

* Perform RMAN backup of sales_tbs1,sales_tbs2,product_tbs tablespace datafiles and schema...

Start Time (UTC): 2026-01-04 06:23:38.716243
Backup for unencrypted tablespaces started


Recovery Manager: Release 19.0.0.0.0 - Production on Sun Jan 4 06:23:38 2026
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.

RMAN>
echo set on


RMAN> connect target *;
connected to target database: DB19C:PDB1 (DBID=1567301)


RMAN> set command id to 'tts_project1_unencrypted';
executing command: SET COMMAND ID


RMAN>

RMAN> set nocfau;
executing command: SET NOCFAU
using target database control file instead of recovery catalog


RMAN> set encryption on identified by * only;
executing command: SET encryption


RMAN> run {
2>
3>         allocate channel c_DB19C_1 device type sbt
4>         connect *
5>
6>       parms='SBT_LIBRARY=/home/oracle/tts_project/tts_project1/libopc.so,
7>       ENV=(OPC_WALLET="LOCATION=file:/home/oracle/tts_project/tts_project1/tts_project1_LEVEL_2 CREDENTIAL_ALIAS=alias_oci",
8>       OPC_HOST=https://objectstorage.ap-tokyo-1.oraclecloud.com/n/xxxxxxxxxx,
9>       OPC_CONTAINER=tts_data_bucket1,
10>       OPC_AUTH_SCHEME=BMC,
11>       OPC_CHUNK_SIZE=524288000,
12>       _OPC_BUFFER_WRITE=TRUE,
13>       _OPC_BUFFER_READ=TRUE,
14>       _OPC_TAG_METERING=FALSE)';
15>
16>
17>         allocate channel c_DB19C_2 device type sbt
18>         connect *
19>
20>       parms='SBT_LIBRARY=/home/oracle/tts_project/tts_project1/libopc.so,
21>       ENV=(OPC_WALLET="LOCATION=file:/home/oracle/tts_project/tts_project1/tts_project1_LEVEL_2 CREDENTIAL_ALIAS=alias_oci",
22>       OPC_HOST=https://objectstorage.ap-tokyo-1.oraclecloud.com/n/xxxxxxxxxx,
23>       OPC_CONTAINER=tts_data_bucket1,
24>       OPC_AUTH_SCHEME=BMC,
25>       OPC_CHUNK_SIZE=524288000,
26>       _OPC_BUFFER_WRITE=TRUE,
27>       _OPC_BUFFER_READ=TRUE,
28>       _OPC_TAG_METERING=FALSE)';
29>
30>
31> backup as  backupset for transport  incremental from scn 2685166 tablespace PRODUCT_TBS,SALES_TBS1,SALES_TBS2 format 'tts_project1_%d_%U' datapump format 'tts_project1_DATAPUMP_%d_%U' dump file 'tablespace.dmp' destination '/home/oracle/tts_project/tts_project1/tts_project1_LEVEL_2';
32> }
allocated channel: c_DB19C_1
channel c_DB19C_1: SID=47 device type=SBT_TAPE
channel c_DB19C_1: Oracle Database Backup Service Library VER=19.0.0.1

allocated channel: c_DB19C_2
channel c_DB19C_2: SID=273 device type=SBT_TAPE
channel c_DB19C_2: Oracle Database Backup Service Library VER=19.0.0.1

Starting backup at 04-JAN-26
Running TRANSPORT_SET_CHECK on specified tablespaces
TRANSPORT_SET_CHECK completed successfully

Performing export of metadata for specified tablespaces...
   EXPDP> Starting "SYS"."TRANSPORT_EXP_DB19C_qhgz":
   EXPDP> Processing object type TRANSPORTABLE_EXPORT/INDEX/STATISTICS/INDEX_STATISTICS
   EXPDP> Processing object type TRANSPORTABLE_EXPORT/STATISTICS/TABLE_STATISTICS
   EXPDP> Processing object type TRANSPORTABLE_EXPORT/STATISTICS/MARKER
   EXPDP> Processing object type TRANSPORTABLE_EXPORT/PLUGTS_BLK
   EXPDP> Processing object type TRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK
   EXPDP> Processing object type TRANSPORTABLE_EXPORT/TABLE
   EXPDP> Processing object type TRANSPORTABLE_EXPORT/INDEX/INDEX
   EXPDP> Processing object type TRANSPORTABLE_EXPORT/CONSTRAINT/CONSTRAINT
   EXPDP> Processing object type TRANSPORTABLE_EXPORT/CONSTRAINT/REF_CONSTRAINT
   EXPDP> Master table "SYS"."TRANSPORT_EXP_DB19C_qhgz" successfully loaded/unloaded
   EXPDP> ******************************************************************************
   EXPDP> Dump file set for SYS.TRANSPORT_EXP_DB19C_qhgz is:
   EXPDP>   /home/oracle/tts_project/tts_project1/tts_project1_LEVEL_2/tablespace.dmp
   EXPDP> ******************************************************************************
   EXPDP> Datafiles required for transportable tablespace PRODUCT_TBS:
   EXPDP>   /u01/app/oracle/product/19c/dbhome_1/dbs/product_tbs01.dbf
   EXPDP> Datafiles required for transportable tablespace SALES_TBS1:
   EXPDP>   /u01/app/oracle/product/19c/dbhome_1/dbs/sales_tbs1_01.dbf
   EXPDP> Datafiles required for transportable tablespace SALES_TBS2:
   EXPDP>   /u01/app/oracle/product/19c/dbhome_1/dbs/sales_tbs2_01.dbf
   EXPDP> Job "SYS"."TRANSPORT_EXP_DB19C_qhgz" successfully completed at Sun Jan 4 06:24:05 2026 elapsed 0 00:00:18
Export completed

channel c_DB19C_1: starting full datafile backup set
channel c_DB19C_1: specifying datafile(s) in backup set
input datafile file number=00014 name=/u01/app/oracle/product/19c/dbhome_1/dbs/product_tbs01.dbf
input datafile file number=00013 name=/u01/app/oracle/product/19c/dbhome_1/dbs/sales_tbs2_01.dbf
channel c_DB19C_1: starting piece 1 at 04-JAN-26
channel c_DB19C_2: starting full datafile backup set
channel c_DB19C_2: specifying datafile(s) in backup set
input datafile file number=00012 name=/u01/app/oracle/product/19c/dbhome_1/dbs/sales_tbs1_01.dbf
channel c_DB19C_2: starting piece 1 at 04-JAN-26
channel c_DB19C_2: finished piece 1 at 04-JAN-26
piece handle=tts_project1_DB19C_0m4d18k6_1_1 tag=TAG20260104T062341 comment=API Version 2.0,MMS Version 19.0.0.1
channel c_DB19C_2: backup set complete, elapsed time: 00:00:01
channel c_DB19C_1: finished piece 1 at 04-JAN-26
piece handle=tts_project1_DB19C_0l4d18k6_1_1 tag=TAG20260104T062341 comment=API Version 2.0,MMS Version 19.0.0.1
channel c_DB19C_1: backup set complete, elapsed time: 00:00:03
channel c_DB19C_1: starting full datafile backup set
input Data Pump dump file=/home/oracle/tts_project/tts_project1/tts_project1_LEVEL_2/tablespace.dmp
channel c_DB19C_1: starting piece 1 at 04-JAN-26
channel c_DB19C_1: finished piece 1 at 04-JAN-26
piece handle=tts_project1_DATAPUMP_DB19C_0n4d18k9_1_1 tag=TAG20260104T062341 comment=API Version 2.0,MMS Version 19.0.0.1
channel c_DB19C_1: backup set complete, elapsed time: 00:00:01
Finished backup at 04-JAN-26
released channel: c_DB19C_1
released channel: c_DB19C_2


RMAN>

Recovery Manager complete.
RMAN executed successfully.
Backup for unencrypted tablespaces completed successfully

Complete Time (UTC): 2026-01-04 06:24:10.829699
Elapsed Time: 0:00:32.113456

* Export INVENTORY_USER,SALES_USER schema using data pump...


Export: Release 19.0.0.0.0 - Production on Sun Jan 4 06:24:10 2026
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.

Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Starting "SYS"."SYS_EXPORT_SCHEMA_01":  "sys/********@computedb.private1.vcn1.oraclevcn.com:1521/pdb1 AS SYSDBA" SCHEMAS=INVENTORY_USER,SALES_USER DIRECTORY=TTS_DUMP_DIR DUMPFILE=schema.dmp CONTENT=METADATA_ONLY CLUSTER=NO EXCLUDE=TABLE,INDEX LOGFILE=export.log
Processing object type SCHEMA_EXPORT/USER
Processing object type SCHEMA_EXPORT/ROLE_GRANT
Processing object type SCHEMA_EXPORT/DEFAULT_ROLE
Processing object type SCHEMA_EXPORT/TABLESPACE_QUOTA
Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
Master table "SYS"."SYS_EXPORT_SCHEMA_01" successfully loaded/unloaded
******************************************************************************
Dump file set for SYS.SYS_EXPORT_SCHEMA_01 is:
  /home/oracle/tts_project/tts_project1/tts_project1_LEVEL_2/schema.dmp
Job "SYS"."SYS_EXPORT_SCHEMA_01" successfully completed at Sun Jan 4 06:24:25 2026 elapsed 0 00:00:14

EXPDP executed successfully.

* Export SALES_TBS1,SALES_TBS2,PRODUCT_TBS tablespaces schema using data pump...

/u01/app/oracle/product/19c/dbhome_1/bin/expdp \"sys/PASSWORD@ computedb.private1.vcn1.oraclevcn.com:1521/pdb1 AS SYSDBA\" DIRECTORY=TTS_DUMP_DIR DUMPFILE=tablespace.dmp TRANSPORT_TABLESPACES=SALES_TBS1,SALES_TBS2,PRODUCT_TBS CLUSTER=NO LOGFILE=export_tablespace.log

Export: Release 19.0.0.0.0 - Production on Sun Jan 4 06:24:26 2026
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.

Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Starting "SYS"."SYS_EXPORT_TRANSPORTABLE_01":  "sys/********@computedb.private1.vcn1.oraclevcn.com:1521/pdb1 AS SYSDBA" DIRECTORY=TTS_DUMP_DIR DUMPFILE=tablespace.dmp TRANSPORT_TABLESPACES=SALES_TBS1,SALES_TBS2,PRODUCT_TBS CLUSTER=NO LOGFILE=export_tablespace.log
Processing object type TRANSPORTABLE_EXPORT/INDEX/STATISTICS/INDEX_STATISTICS
Processing object type TRANSPORTABLE_EXPORT/STATISTICS/TABLE_STATISTICS
Processing object type TRANSPORTABLE_EXPORT/STATISTICS/MARKER
Processing object type TRANSPORTABLE_EXPORT/PLUGTS_BLK
Processing object type TRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK
Processing object type TRANSPORTABLE_EXPORT/TABLE
Processing object type TRANSPORTABLE_EXPORT/INDEX/INDEX
Processing object type TRANSPORTABLE_EXPORT/CONSTRAINT/CONSTRAINT
Processing object type TRANSPORTABLE_EXPORT/CONSTRAINT/REF_CONSTRAINT
Master table "SYS"."SYS_EXPORT_TRANSPORTABLE_01" successfully loaded/unloaded
******************************************************************************
Dump file set for SYS.SYS_EXPORT_TRANSPORTABLE_01 is:
  /home/oracle/tts_project/tts_project1/tts_project1_LEVEL_2/tablespace.dmp
******************************************************************************
Datafiles required for transportable tablespace PRODUCT_TBS:
  /u01/app/oracle/product/19c/dbhome_1/dbs/product_tbs01.dbf
Datafiles required for transportable tablespace SALES_TBS1:
  /u01/app/oracle/product/19c/dbhome_1/dbs/sales_tbs1_01.dbf
Datafiles required for transportable tablespace SALES_TBS2:
  /u01/app/oracle/product/19c/dbhome_1/dbs/sales_tbs2_01.dbf
Job "SYS"."SYS_EXPORT_TRANSPORTABLE_01" successfully completed at Sun Jan 4 06:24:44 2026 elapsed 0 00:00:17

EXPDP executed successfully.

* Create manifest...

Manifest creation successful.
Updated /home/oracle/tts_project/tts_project1/tts_project1.json Successful.

* Create transport bundle...

Creating bundle file: /home/oracle/tts_project/tts_project1/tts_project1_LEVEL_2.tgz.
Bundle created successfully: /home/oracle/tts_project/tts_project1/tts_project1_LEVEL_2.tgz.
Cleaned up the bundle directory: tts_project1_LEVEL_2.

* Final Backup, Dropped the project manifest json file...


* Dropped the TTS_DIR_NAME directory object...

Directory TTS_DUMP_DIR dropped successfully.

* Upload transport bundle to object storage...

Bundle uploaded successfully to https://objectstorage.ap-tokyo-1.oraclecloud.com/n/xxxxxxxxxx/b/tts_bucket1/o/tts_project1_LEVEL_2.tgz.
---------
Create a database in ADB-S cloud with minimum storage size of 0.1953125GB
Specify tag name/value as
ADB$TTS_BUNDLE_URL: https://objectstorage.ap-tokyo-1.oraclecloud.com/n/xxxxxxxxxx/b/tts_bucket1/o/tts_project1_LEVEL_2.tgz
---------

6-11.ADBで適用する

最終増分バックアップのファイルを指定します。
image.png

やはりステータスが不明になりましたが、作業リクエストが実行されています。
image.png

完了しました。
image.png

正しくデータを確認することが出来ました。

select * from dba_data_files;
FILE_NAME                                                                                               FILE_ID TABLESPACE_NAME      BYTES BLOCKS STATUS    RELATIVE_FNO AUTOEXTENSIBLE       MAXBYTES  MAXBLOCKS INCREMENT_BY USER_BYTES USER_BLOCKS ONLINE_STATUS LOST_WRITE_PROTECT 
------------------------------------------------------------------------------------------------------- ------- --------------- ---------- ------ --------- ------------ -------------- -------------- ---------- ------------ ---------- ----------- ------------- ------------------ 
/u01/app/oracle/oradata/DMPFYF3V/478A55E0D2DE1B58E063514E000A88F6/datafile/o1_mf_system_nomz4fxq_.dbf         2 SYSTEM          1752170496 213888 AVAILABLE         1024 YES            35184372064256 4294967293         1280 1751121920      213760 SYSTEM        OFF                
/u01/app/oracle/oradata/DMPFYF3V/478A55E0D2DE1B58E063514E000A88F6/datafile/o1_mf_sysaux_nomz4fyb_.dbf         4 SYSAUX          1237319680 151040 AVAILABLE         1024 YES            35184372064256 4294967293         1280 1230995456      150268 ONLINE        OFF                
/u01/app/oracle/oradata/DMPFYF3V/478A55E0D2DE1B58E063514E000A88F6/datafile/o1_mf_undotbs1_nomz4fyk_.dbf       5 UNDOTBS1        1609564160 196480 AVAILABLE         1024 YES                2147483648     262144       262144 1608515584      196352 ONLINE        OFF                
/u01/app/oracle/oradata/DMPFYF3V/478A55E0D2DE1B58E063514E000A88F6/datafile/o1_mf_data_nomz4fyo_.dbf           6 DATA             419430400  51200 AVAILABLE         1024 YES            35184372064256 4294967293       262144  413106176       50428 ONLINE        OFF                
/u01/app/oracle/oradata/DMPFYF3V/478A55E0D2DE1B58E063514E000A88F6/datafile/o1_mf_dbfs_dat_non3078y_.dbf      15 DBFS_DATA       2252341248 274944 AVAILABLE         1024 YES            35184371040256 4294967168       262144 2246017024      274172 ONLINE        OFF                


Elapsed: 00:00:00.011
5行が選択されました。

select segment_name,segment_type,tablespace_name from dba_segments where owner in ('SALES_USER','INVENTORY_USER');

SEGMENT_NAME           SEGMENT_TYPE TABLESPACE_NAME 
---------------------- ------------ --------------- 
PRODUCTS               TABLE        DATA            
CUSTOMERS              TABLE        DATA            
ORDERS                 TABLE        DATA            
SYS_C0018618           INDEX        DATA            
SYS_C0018619           INDEX        DATA            
IDX_PRODUCTS_NAME      INDEX        DATA            
IDX_ORDERS_CUSTOMER_ID INDEX        DATA            
SYS_C0018620           INDEX        DATA            
SYS_C0018621           INDEX        DATA            


Elapsed: 00:00:00.061
9行が選択されました。

select product_id,product_name,created_at from inventory_user.products;
PRODUCT_ID PRODUCT_NAME CREATED_AT                  
---------- ------------ --------------------------- 
       204 メモリ          2026-01-04T06:15:35.459716Z 
       205 ネットワークカード    2026-01-04T06:15:35.466087Z 
       201 ノートPC        2026-01-04T05:37:35.133234Z 
       202 マウス          2026-01-04T05:37:35.135001Z 
       203 ディスプレイ       2025-12-28T05:37:35.135637Z 


Elapsed: 00:00:00.005
5行が選択されました。

気づいたことなど

参照整合性制約もチェックされる

バックアップの前にトランスポータブル表領域で転送可能かチェックが行われます。

Starting backup at 03-JAN-26
Running TRANSPORT_SET_CHECK on specified tablespaces
The following errors need to be fixed before peforming this command
     Violation: ORA-39906: Constraint FK_ORDERS_CUSTOMER between table SALES_USER.CUSTOMERS in tablespace SALES_TBS1 and table SALES_USER.ORDERS in tablespace SALES_TBS2.

適用はどのようにされているのか探ってみる

増分バックアップのパターンの最終増分バックアップでdba_data_filesを確認すると、途中で新しい表領域が作成されていました。作成後はDBFS_DATAは途中で作成された新しいファイルになっています。

-- 最初
FILE_NAME                                                                                               FILE_ID TABLESPACE_NAME      BYTES BLOCKS STATUS    RELATIVE_FNO AUTOEXTENSIBLE       MAXBYTES  MAXBLOCKS INCREMENT_BY USER_BYTES USER_BLOCKS ONLINE_STATUS LOST_WRITE_PROTECT 
------------------------------------------------------------------------------------------------------- ------- --------------- ---------- ------ --------- ------------ -------------- -------------- ---------- ------------ ---------- ----------- ------------- ------------------ 
/u01/app/oracle/oradata/DMP4SG6C/479EDF564A471B45E0632F54000A592D/datafile/o1_mf_system_nopo8vfo_.dbf         2 SYSTEM          1741684736 212608 AVAILABLE         1024 YES            35184372064256 4294967293         1280 1740636160      212480 SYSTEM        OFF                
/u01/app/oracle/oradata/DMP4SG6C/479EDF564A471B45E0632F54000A592D/datafile/o1_mf_sysaux_nopo8vg8_.dbf         4 SYSAUX          1226833920 149760 AVAILABLE         1024 YES            35184372064256 4294967293         1280 1220509696      148988 ONLINE        OFF                
/u01/app/oracle/oradata/DMP4SG6C/479EDF564A471B45E0632F54000A592D/datafile/o1_mf_undotbs1_nopo8vgg_.dbf       5 UNDOTBS1        1609564160 196480 AVAILABLE         1024 YES              109951164416   13421773      1310720 1608515584      196352 ONLINE        OFF                
/u01/app/oracle/oradata/DMP4SG6C/479EDF564A471B45E0632F54000A592D/datafile/o1_mf_data_nopo8vgm_.dbf           6 DATA             419430400  51200 AVAILABLE         1024 YES            35184372064256 4294967293      1310720  413106176       50428 ONLINE        OFF                
/u01/app/oracle/oradata/DMP4SG6C/479EDF564A471B45E0632F54000A592D/datafile/o1_mf_dbfs_dat_nopo8vgr_.dbf       8 DBFS_DATA        419430400  51200 AVAILABLE         1024 YES            35184372064256 4294967293      1310720  413106176       50428 ONLINE        OFF                


Elapsed: 00:00:00.025
5行が選択されました。

--途中
FILE_NAME                                                                                               FILE_ID TABLESPACE_NAME      BYTES BLOCKS STATUS    RELATIVE_FNO AUTOEXTENSIBLE       MAXBYTES  MAXBLOCKS INCREMENT_BY USER_BYTES USER_BLOCKS ONLINE_STATUS LOST_WRITE_PROTECT 
------------------------------------------------------------------------------------------------------- ------- --------------- ---------- ------ --------- ------------ -------------- -------------- ---------- ------------ ---------- ----------- ------------- ------------------ 
/u01/app/oracle/oradata/DMP4SG6C/479EDF564A471B45E0632F54000A592D/datafile/o1_mf_system_nopo8vfo_.dbf         2 SYSTEM          1752170496 213888 AVAILABLE         1024 YES            35184372064256 4294967293         1280 1751121920      213760 SYSTEM        OFF                
/u01/app/oracle/oradata/DMP4SG6C/479EDF564A471B45E0632F54000A592D/datafile/o1_mf_sysaux_nopo8vg8_.dbf         4 SYSAUX          1237319680 151040 AVAILABLE         1024 YES            35184372064256 4294967293         1280 1230995456      150268 ONLINE        OFF                
/u01/app/oracle/oradata/DMP4SG6C/479EDF564A471B45E0632F54000A592D/datafile/o1_mf_undotbs1_nopo8vgg_.dbf       5 UNDOTBS1        1609564160 196480 AVAILABLE         1024 YES              109951164416   13421773      1310720 1608515584      196352 ONLINE        OFF                
/u01/app/oracle/oradata/DMP4SG6C/479EDF564A471B45E0632F54000A592D/datafile/o1_mf_data_nopo8vgm_.dbf           6 DATA             419430400  51200 AVAILABLE         1024 YES            35184372064256 4294967293      1310720  413106176       50428 ONLINE        OFF                
/u01/app/oracle/oradata/DMP4SG6C/479EDF564A471B45E0632F54000A592D/datafile/o1_mf_dbfs_dat_nopo8vgr_.dbf       8 DBFS_DATA        419430400  51200 AVAILABLE         1024 YES            35184372064256 4294967293      1310720  413106176       50428 ONLINE        OFF                
/u01/app/oracle/oradata/DMP4SG6C/479EDF564A471B45E0632F54000A592D/datafile/o1_mf_data_2_n_nopprrj8_.dbf      12 DATA_2           104857600  12800 AVAILABLE         1024 YES            35184371040256 4294967168      1310720   98533376       12028 ONLINE        OFF                
/u01/app/oracle/oradata/DMP4SG6C/479EDF564A471B45E0632F54000A592D/datafile/o1_mf_data_3_n_nopq2drp_.dbf      13 DATA_3           104857600  12800 AVAILABLE         1024 YES            35184371040256 4294967168       131072   98533376       12028 ONLINE        OFF                
/u01/app/oracle/oradata/DMP4SG6C/479EDF564A471B45E0632F54000A592D/datafile/o1_mf_data_4_n_nopqcxd0_.dbf      14 DATA_4           104857600  12800 AVAILABLE         1024 YES            35184371040256 4294967168       131072   98533376       12028 ONLINE        OFF                
/u01/app/oracle/oradata/DMP4SG6C/479EDF564A471B45E0632F54000A592D/datafile/o1_mf_dbfs_dat_nopqog07_.dbf      15 DBFS_DATA_NEW    104857600  12800 AVAILABLE         1024 YES            35184371040256 4294967168      1310720   98533376       12028 ONLINE        OFF                


Elapsed: 00:00:00.010
9行が選択されました。

--成功後
FILE_NAME                                                                                               FILE_ID TABLESPACE_NAME      BYTES BLOCKS STATUS    RELATIVE_FNO AUTOEXTENSIBLE       MAXBYTES  MAXBLOCKS INCREMENT_BY USER_BYTES USER_BLOCKS ONLINE_STATUS LOST_WRITE_PROTECT 
------------------------------------------------------------------------------------------------------- ------- --------------- ---------- ------ --------- ------------ -------------- -------------- ---------- ------------ ---------- ----------- ------------- ------------------ 
/u01/app/oracle/oradata/DMP4SG6C/479EDF564A471B45E0632F54000A592D/datafile/o1_mf_system_nopo8vfo_.dbf         2 SYSTEM          1752170496 213888 AVAILABLE         1024 YES            35184372064256 4294967293         1280 1751121920      213760 SYSTEM        OFF                
/u01/app/oracle/oradata/DMP4SG6C/479EDF564A471B45E0632F54000A592D/datafile/o1_mf_sysaux_nopo8vg8_.dbf         4 SYSAUX          1237319680 151040 AVAILABLE         1024 YES            35184372064256 4294967293         1280 1230995456      150268 ONLINE        OFF                
/u01/app/oracle/oradata/DMP4SG6C/479EDF564A471B45E0632F54000A592D/datafile/o1_mf_undotbs1_nopo8vgg_.dbf       5 UNDOTBS1        1609564160 196480 AVAILABLE         1024 YES              109951164416   13421773      1310720 1608515584      196352 ONLINE        OFF                
/u01/app/oracle/oradata/DMP4SG6C/479EDF564A471B45E0632F54000A592D/datafile/o1_mf_data_nopo8vgm_.dbf           6 DATA             419430400  51200 AVAILABLE         1024 YES            35184372064256 4294967293      1310720  413106176       50428 ONLINE        OFF                
/u01/app/oracle/oradata/DMP4SG6C/479EDF564A471B45E0632F54000A592D/datafile/o1_mf_dbfs_dat_nopqog07_.dbf      15 DBFS_DATA        104857600  12800 AVAILABLE         1024 YES            35184371040256 4294967168      1310720   98533376       12028 ONLINE        OFF                


Elapsed: 00:00:00.011
5行が選択されました。

さらに最終増分バックアップ適用時のAWRを確認したところ、以下のようにALTER TABLE xxx MOVE TABLESPACE分がたくさん実行されていました。

image.png

1つ取り出すとこちら。

ALTER TABLE "TTS_USER1"."TEST_TABLE24" MOVE /* migrate_all_from_tbs: src DATA_2,  dst DATA */ TABLESPACE "DATA" ONLINE PARALLEL 4  INCLUDING ALL LOBS  UPDATE INDEXES("TTS_USER1"."TEST_TABLE24_COL1_IDX" TABLESPACE "DATA",  "TTS_USER1"."TEST_TABLE24_COL2_IDX" TABLESPACE "DATA",  "TTS_USER1"."TEST_TABLE24_COL3_IDX" TABLESPACE "DATA",  "TTS_USER1"."TEST_TABLE24_COL4_IDX" TABLESPACE "DATA",  "TTS_USER1"."TEST_TABLE24_COL5_IDX" TABLESPACE "DATA",  "TTS_USER1"."TEST_TABLE24_COL6_IDX" TABLESPACE "DATA",  "TTS_USER1"."TEST_TABLE24_COL7_IDX" TABLESPACE "DATA",  "TTS_USER1"."TEST_TABLE24_COL8_IDX" TABLESPACE 
"DATA",  "TTS_USER1"."TEST_TABLE24_COL9_IDX" TABLESPACE "DATA",  "TTS_USER1"."TEST_TABLE24_ID_IDX" TABLESPACE "DATA")

これらから推測すると、最終増分バックアップの適用では以下が実行されているのではないかと思います。

1.最終増分バックアップを適用
2.表領域として登録。表領域がDATAnという名前で作成されている
3.作成された表領域から表がALTER TABLE MOVE TABLESPACEでDATAに移動される

今回ECPU=2なのでParallel処理は利用されません。ECPUをあげると適用は早くなると考えられます。
また非増分バックアップによる移行も最終増分バックアップのときの同じ動作になると思いますが、Level0のバックアップにあるため、最終増分バックアップのときよりもバックアップの取得の時間、リストアの時間が増分バックアップよりも大きくなると思います。

おわりに

Autonomous AI Databaseでトランスポータブル表領域を使用した移行を試してみました。
Autonomous AI Databaseは19cで記事は書いていますが、26aiへの移行もできることを確認できています。(増分バックアップのパターンで試しました)

参考資料

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?