はじめに
Oracle AI Database のマルチテナント・アーキテクチャにおけるPDBのクローン作成はDatabaseの可搬性を高める重要かつ有益な技術ですが、実行する場合にはどのようなリソースに影響がでるか未確認でした。基本的に PDBのクローンの実体はリカバリ処理なので、インフラが使用するリソースはDisk I/Oが主だと推測できるのですが、実機で確かめました。
環境と手順について
2つの環境を準備し、2つのパターンでPDBクローンを実行します。最初は1つのCDBでローカル環境でのクローン、もう1つは2つの物理的に異なるCDBを準備し、リモートクローンを実行します。後者でもVersionは同一のものを使用しました。

AHFは25.11 / Oracle Database は 19c 19.29を使用
[root@node1 ~]# ahf -v
AHF version: 25.11.0
Build Timestamp: 20251215070451
TFA version: 25.11.0
Compliance version: 25.11.0
Compliance metadata version: 20251215
SQL*Plus: Release 19.0.0.0.0 - Production on 火 1月 6 13:05:35 2026
Version 19.29.0.0.0
- scott と schema object の作成 + LOBデータによるそれなりに大きなデータを作成
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB READ WRITE NO
INSERT INTO t1 values ('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa');
INSERT INTO t1 Select * from t1;
INSERT INTO t1 Select * from t1;
INSERT INTO t1 Select * from t1;
UPDATE t1 SET col1=col1||col1||col1||col1||col1||col1||col1||col1;
commit;
Case:1 ローカル環境でのPDBクローン作成
SQL Developer によるプラガブル・データベースのクローン作成を実施

クローンの開始 12:31 Clone 開始 ⇨ 12:34 完了 (約3分)
AHF Insight で OSのリソース推移のグラフを取得(直近1時間)
[root@node1 ~]# ahf analysis create --type insights --last 1h
Starting analysis and collecting data for insights
Collecting data for AHF Insights (This may take a few minutes per node)
AHF Insights report contains information of 1:00:00 hrs
From Date : 12/16/2025 11:35:36 - To Date : 12/16/2025 12:35:36
Report is generated at : /root/AHF/AHF_DATA/oracle.ahf/data/repository/collection_Tue_Dec_16_12_35_43_JST_2025_node_all/node1_insights_2025_12_16_12_36_35.zip

CPUおよびメモリの変動は殆どなく、Local Disk の I/O (Read および Write)がスパイクしているのがわかる。
Case:2 リモート環境でのPDBクローン作成
SQL Developer によるDatabase Link経由でプラガブル・データベースのクローン作成を実施
クローンの開始 17:25 開始 ⇨ 17:28 で完了(約3分)
Node1 および Node2 においてAHF Insight で OSのリソース推移のグラフを取得(1時間)
Node1のOSリソース推移

CPUおよびメモリの変動は殆どなく、Local Disk の I/O (Read)がスパイクしているのがわかる。
次にNode2のOSリソース推移

CPUおよびメモリの変動は殆どなく、Local Disk の I/O (Write)がスパイクしているのがわかる。
Local Disk の Read I/Oにも負荷がかかっている様に見えるが(オレンジの枠内)、グラフのスケールから判断して大きな負荷ではないと判断できる。
また、リモート・クローンなのでNetwork については当然ながら Node1側では送信の負荷が、

Node2側では受信の負荷が確認できる。

参考までに、以下が Case:2のalert.logの一部となるが、リモートでのPDBクローン作成も media recovery に端を発するものと判断した。
2025-12-19T13:08:41.469239+09:00
2025-12-19T13:16:06.935625+09:00
CREATE PLUGGABLE DATABASE "PDBCLOB1" FROM "PDBCLOB1"@"DBL4NODE1"
STORAGE UNLIMITED TEMPFILE REUSE
FILE_NAME_CONVERT=(
'/u01/app/oracle/oradata2/ORCL19C/PDBCLOB1', '/u01/app/oracle/oradata2/ORCL19C/PDBCLOB1'
)
2025-12-19T13:18:17.804666+09:00
PDBCLOB1(4):Endian type of dictionary set to little
****************************************************************
Pluggable Database PDBCLOB1 with pdb id - 4 is created as UNUSABLE.
If any errors are encountered before the pdb is marked as NEW,
then the pdb must be dropped
local undo-1, localundoscn-0x0000000000000118
****************************************************************
2025-12-19T13:18:20.676658+09:00
Applying media recovery for pdb-4099 from SCN 4510087 to SCN 4510198
Remote log information: count-1
PDBCLOB1(4):Media Recovery Start
2025-12-19T13:18:20.687093+09:00
PDBCLOB1(4):Serial Media Recovery started
PDBCLOB1(4):max_pdb is 5
2025-12-19T13:18:20.751144+09:00
PDBCLOB1(4):Media Recovery Log /u01/app/oracle/product/19.0.0/dbhome_1/dbs/archparlog_1_203_ccd9dcc9_1219440958.arc
2025-12-19T13:18:21.146591+09:00
PDBCLOB1(4):Incomplete Recovery applied until change 4510198 time 12/19/2025 13:18:17
2025-12-19T13:18:21.153101+09:00
PDBCLOB1(4):Media Recovery Complete (orcl19c)
PDBCLOB1(4):Pluggable database PDBCLOB1 pseudo opening
PDBCLOB1(4):SUPLOG: Initialize PDB SUPLOG SGA, old value 0x0, new value 0x18
PDBCLOB1(4):Autotune of undo retention is turned on.
2025-12-19T13:18:21.701428+09:00
PDBCLOB1(4):Undo initialization recovery: Parallel FPTR failed: start:162834759 end:162834764 diff:5 ms (0.0 seconds)
PDBCLOB1(4):Undo initialization recovery: err:0 start: 162834758 end: 162834800 diff: 42 ms (0.0 seconds)
PDBCLOB1(4):[1614149] Successfully onlined Undo Tablespace 2.
PDBCLOB1(4):Database Characterset for PDBCLOB1 is AL32UTF8
PDBCLOB1(4):Pluggable database PDBCLOB1 pseudo closing
PDBCLOB1(4):JIT: pid 1614149 requesting stop
PDBCLOB1(4):Buffer Cache flush finished: 4
Completed: CREATE PLUGGABLE DATABASE "PDBCLOB1" FROM "PDBCLOB1"@"DBL4NODE1"
STORAGE UNLIMITED TEMPFILE REUSE
)
2025-12-19T13:21:20.734893+09:00
alter pluggable database PDBCLOB1 open
PDBCLOB1(4):SUPLOG: Initialize PDB SUPLOG SGA, old value 0x0, new value 0x18
PDBCLOB1(4):Autotune of undo retention is turned on.
PDBCLOB1(4):Endian type of dictionary set to little
PDBCLOB1(4):[1611418] Successfully onlined Undo Tablespace 2.
PDBCLOB1(4):Undo initialization online undo segments: err:0 start: 163014265 end: 163014385 diff: 120 ms (0.1 seconds)
PDBCLOB1(4):Undo initialization finished serial:0 start:163014257 end:163014392 diff:135 ms (0.1 seconds)
PDBCLOB1(4):Deleting old file#23 from file$
PDBCLOB1(4):Deleting old file#24 from file$
PDBCLOB1(4):Adding new file#23 to file$(old file#21). fopr-1, newblks-61440, oldblks-19200
PDBCLOB1(4):Adding new file#26 to file$(old file#24). fopr-1, newblks-2581600, oldblks-640
PDBCLOB1(4):Successfully created internal service PDBCLOB1 at open
****************************************************************
Post plug operations are now complete.
Pluggable database PDBCLOB1 with pdb id - 4 is now marked as NEW.
****************************************************************
PDBCLOB1(4):Database Characterset for PDBCLOB1 is AL32UTF8
PDBCLOB1(4):Run administer key management set encryption key for the PDB in the primary database.
2025-12-19T13:21:21.885991+09:00
Violations: Type: 1, Count: 1
PDBCLOB1(4):***************************************************************
PDBCLOB1(4):WARNING: Pluggable Database PDBCLOB1 with pdb id - 4 is
PDBCLOB1(4): altered with errors or warnings. Please look into
PDBCLOB1(4): PDB_PLUG_IN_VIOLATIONS view for more details.
PDBCLOB1(4):***************************************************************
PDBCLOB1(4):SUPLOG: Set PDB SUPLOG SGA at PDB OPEN, old 0x18, new 0x0 (no suplog)
2025-12-19T13:21:29.831714+09:00
PDBCLOB1(4):Opening pdb with no Resource Manager plan active
Pluggable database PDBCLOB1 opened read write
Completed: alter pluggable database PDBCLOB1 open
2025-12-19T13:23:55.704960+09:00
ALTER PLUGGABLE DATABASE "PDBCLOB1" CLOSE IMMEDIATE INSTANCES=ALL
2025-12-19T13:23:55.705982+09:00
PDBCLOB1(4):Pluggable database PDBCLOB1 closing
PDBCLOB1(4):JIT: pid 1614149 requesting stop
2025-12-19T13:23:55.713087+09:00
PDBCLOB1(4):Process termination requested for pid 1619715 [source = rdbms], [info = 2] [request issued by pid: 1614149, uid: 54321]
2025-12-19T13:23:55.763144+09:00
PDBCLOB1(4):KILL SESSION for sid=(131, 6039):
PDBCLOB1(4): Reason = PDB close immediate
PDBCLOB1(4): Mode = KILL HARD FORCE -/-/-
PDBCLOB1(4): Requestor = USER (orapid = 65, ospid = 1614149, inst = 1)
PDBCLOB1(4): Owner = Process: USER (orapid = 109, ospid = 1619715)
PDBCLOB1(4): Result = ORA-0
2025-12-19T13:23:56.869205+09:00
PDBCLOB1(4):Closing sequence subsystem (163169932340).
PDBCLOB1(4):Buffer Cache flush started: 4
PDBCLOB1(4):Buffer Cache flush finished: 4
Pluggable database PDBCLOB1 closed
Completed: ALTER PLUGGABLE DATABASE "PDBCLOB1" CLOSE IMMEDIATE INSTANCES=ALL
DROP PLUGGABLE DATABASE "PDBCLOB1"
INCLUDING DATAFILES
Deleted file /u01/app/oracle/oradata2/ORCL19C/PDBCLOB1/users01.dbf
Deleted file /u01/app/oracle/oradata2/ORCL19C/PDBCLOB1/temp01.dbf
Deleted file /u01/app/oracle/oradata2/ORCL19C/PDBCLOB1/undotbs01.dbf
Deleted file /u01/app/oracle/oradata2/ORCL19C/PDBCLOB1/sysaux01.dbf
Deleted file /u01/app/oracle/oradata2/ORCL19C/PDBCLOB1/system01.dbf
2025-12-19T13:23:57.681244+09:00
Stopped service pdbclob1
最後に
推測はできていたものの、実際に試していない事の1つとしてPDBクローンが使用するリソースの問題がありました。基本的に動作としてはメディア・リカバリとも言えるものであり、CPUやメモリなどのリソースではなく 、ローカル・クローンであれば DiskのI/O負荷、リモート・クローンであればそれぞれの I/O負荷に加えて転送に伴う N/Wリソースに対する負荷がかかる事の認識できました。

