0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

PDB のクローン時に使用するリソースについて

0
Posted at

はじめに

Oracle AI Database のマルチテナント・アーキテクチャにおけるPDBのクローン作成はDatabaseの可搬性を高める重要かつ有益な技術ですが、実行する場合にはどのようなリソースに影響がでるか未確認でした。基本的に PDBのクローンの実体はリカバリ処理なので、インフラが使用するリソースはDisk I/Oが主だと推測できるのですが、実機で確かめました。

環境と手順について

2つの環境を準備し、2つのパターンでPDBクローンを実行します。最初は1つのCDBでローカル環境でのクローン、もう1つは2つの物理的に異なるCDBを準備し、リモートクローンを実行します。後者でもVersionは同一のものを使用しました。
Q35-01.png
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;

Q35-02.png

Q35-03.png
20GB程度のLOBデータを生成、格納した。

Case:1 ローカル環境でのPDBクローン作成

SQL Developer によるプラガブル・データベースのクローン作成を実施
Q35-04.png
クローンの開始 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

Q35-05.png
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リソース推移
Q35-06.png
CPUおよびメモリの変動は殆どなく、Local Disk の I/O (Read)がスパイクしているのがわかる。
次にNode2のOSリソース推移
Q35-07.png
CPUおよびメモリの変動は殆どなく、Local Disk の I/O (Write)がスパイクしているのがわかる。
Local Disk の Read I/Oにも負荷がかかっている様に見えるが(オレンジの枠内)、グラフのスケールから判断して大きな負荷ではないと判断できる。
また、リモート・クローンなのでNetwork については当然ながら Node1側では送信の負荷が、
Q35-08.png
Node2側では受信の負荷が確認できる。
Q35-09.png
参考までに、以下が 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リソースに対する負荷がかかる事の認識できました。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?