リフレッシュ可能なPDBをさわってみる
この記事は、 JPOUG Advent Calendar 2023 10日目の記事です。
9日目は 明治そして大正昭和平成令和 さんの記事『最新のSQL標準(SQL:2023)とFirebird/MySQL/PostgreSQL』でした。
はじめに
23cの新機能ベースでブログを記載したいと思い、ネタ探ししていました。
マルチテナント初心者なのでリフレッシュ可能なPDBに興味を持ったのでテーマにしてみました。
ただ、よくよく調べると12.2から使えるとのことがわかったので手元にあった19c環境で試していきます。
リフレッシュ可能なPDBができること
- スイッチオーバー
- 自動および手動リフレッシュ
初めはマテリアライズドビューのDB版なのかなと思っていました。
スイッチオーバーも使えるということで、リフレッシュ間隔を調整すればData Guardや基本スタンバイのようにDR用途にも使えるかもしれませんね。
結論
- 関連するマニュアルは複数読みましょう。
- その機能がどのライセンス形態で使えるか事前に確認しましょう。
- 作成するDBリンクはCDBを参照するようにしましょう。
さわってみる
環境
[oracle@db1901 ~]$ opatch lspatches 35643107;Database Release Update : 19.21.0.0.231017 (35643107) 29585399;OCW RELEASE UPDATE 19.3.0.0.0 (29585399)
構築
今回は検証のため1つのCDBにソースPDBとクローンPDBを作成します。
手順は以下を参考に進めます。手順上ソース、クローン側と書き分けますが、今回は一緒のDBで実施します。
ソース側
- アーカイブログであることを確認
SQL> archive log list データベース・ログ・モード アーカイブ・モード 自動アーカイブ 有効 アーカイブ先 /oradata/cdb19/arch 最も古いオンライン・ログ順序 23 アーカイブする次のログ順序 25 現行のログ順序 25
- ローカルUNDOモードであること
SQL> show parameter UNDO_MANAGEMENT NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ undo_management string AUTO
- Oracle Managed Filesが有効化であること(要件の中からこれを選択しました。)
SQL> show parameter DB_CREATE_FILE_DEST NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ db_create_file_dest string /oradata
- PDB作業用ユーザの作成
CREATE USER C##PDBUSER IDENTIFIED BY "P@ssw0rd"; GRANT CREATE SESSION TO C##PDBUSER CONTAINER=ALL; GRANT SET CONTAINER TO C##PDBUSER CONTAINER=ALL; GRANT CREATE PLUGGABLE DATABASE TO C##PDBUSER CONTAINER=ALL;
クローン側DB
- tnsnames.ora(DBリンク用)
PDB1 = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = db1901.lab.local)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = pdb1) ) )
- PDB作業用ユーザの作成
※同じユーザ想定で進めます。
- DBリンク作成
CREATE PUBLIC DATABASE LINK PDB1_LINK CONNECT TO C##PDBUSER IDENTIFIED BY "P@ssw0rd" USING 'PDB1';
→このDBリンクでもうまくいくんですが、CDBを参照したDBリンクの方が良さそうです。
- リフレッシュ可能なPDB作成
conn C##PDBUSER/"P@ssw0rd" CREATE PLUGGABLE DATABASE pdb1_ref_cln FROM PDB1@PDB1_LINK REFRESH MODE EVERY 60 MINUTES; プラガブル・データベースが作成されました。
確認
- PDBの状態を確認してみます。
SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 PDB1 READ WRITE NO 4 PDB1_REF_CLN MOUNTED SQL> SQL> select PDB_NAME||','||REFRESH_MODE||','||REFRESH_INTERVAL||','||LAST_REFRESH_SCN from dba_pdbs where PDB_NAME='PDB1_REF_CLN'; PDB_NAME||','||REFRESH_MODE||','||REFRESH_INTERVAL||','||LAST_REFRESH_SCN -------------------------------------------------------------------------------- PDB1_REF_CLN,AUTO,60,1648312
- alert logを確認してみます。
ジョブの実行エラーが出ていますが、PDB1_REF_CLNはMOUNT状態なので問題なしですかね。
2023-12-09T14:16:30.473206+09:00 CREATE PLUGGABLE DATABASE pdb1_ref_cln FROM PDB1@PDB1_LINK REFRESH MODE EVERY 60 MINUTES 2023-12-09T14:16:30.884217+09:00 PDB1(3): AUDSYS.AUD$UNIFIED (SQL_TEXT) - CLOB populated 2023-12-09T14:16:38.170158+09:00 **************************************************************** Pluggable Database PDB1_REF_CLN 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-0x000000000000012e **************************************************************** 2023-12-09T14:16:41.192727+09:00 Applying media recovery for pdb-3 from SCN 1648255 to SCN 1648312 Remote log information: count-1 thr-1,seq-26,logfile-/oradata/cdb19/arch/parlog_1_26_a880de4d_1154562853.arc,los-1643947,nxs-18446744073709551615,maxblks-34090 PDB1_REF_CLN(4):Media Recovery Start 2023-12-09T14:16:41.193534+09:00 PDB1_REF_CLN(4):Serial Media Recovery started PDB1_REF_CLN(4):max_pdb is 6 2023-12-09T14:16:41.240936+09:00 PDB1_REF_CLN(4):Media Recovery Log /oradata/cdb19/arch/parlog_1_26_a880de4d_1154562853.arc 2023-12-09T14:16:41.364009+09:00 PDB1_REF_CLN(4):Incomplete Recovery applied until change 1648312 time 12/09/2023 14:16:38 2023-12-09T14:16:41.366047+09:00 PDB1_REF_CLN(4):Media Recovery Complete (cdb19) Completed: CREATE PLUGGABLE DATABASE pdb1_ref_cln FROM PDB1@PDB1_LINK REFRESH MODE EVERY 60 MINUTES 2023-12-09T14:16:41.510849+09:00 Errors in file /u01/app/oracle/diag/rdbms/cdb19/cdb19/trace/cdb19_j000_23289.trc: ORA-12012: ジョブ"SYS"."PDB1_REF_CLN_595637595_REFRESH"の自動実行エラーが発生し ました ORA-65024: プラガブル・データベースPDB1_REF_CLNはオープンしていません。 ORA-06512: "SYS.DBMS_SQL", 行2995 ORA-06512: 行1
リフレッシュについて
事前にソースPDBでテストデータを作成します。
SQL> SQL> alter session set container = PDB1; セッションが変更されました。 SQL> SQL> show con_name; CON_NAME ------------------------------ PDB1 SQL> SQL> create table test (id number); 表が作成されました。 SQL> insert into test (id) values (1); 1行が作成されました。 SQL> insert into test (id) values (2); 1行が作成されました。 SQL> SQL> SQL> select * from test; ID ---------- 1 2 SQL> SQL> commit; コミットが完了しました。
- クローン側でテーブルが存在しないことを確認します。作業後はMOUNT状態に戻します。
SQL> ALTER PLUGGABLE DATABASE PDB1_REF_CLN OPEN READ ONLY; プラガブル・データベースが変更されました。 SQL> ALTER SESSION SET CONTAINER = PDB1_REF_CLN; セッションが変更されました。 SQL> SQL> show con_name; CON_NAME ------------------------------ PDB1_REF_CLN SQL> SQL> select * from test; select * from test * 行1でエラーが発生しました。: ORA-00942: 表またはビューが存在しません。 SQL> SQL> ALTER SESSION SET CONTAINER = CDB$ROOT; セッションが変更されました。 SQL> ALTER PLUGGABLE DATABASE PDB1_REF_CLN CLOSE IMMEDIATE; プラガブル・データベースが変更されました。 SQL> SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 PDB1 READ WRITE NO 4 PDB1_REF_CLN MOUNTED
手動リフレッシュ
やってみます。
SQL> show con_name CON_NAME ------------------------------ CDB$ROOT SQL> SQL> ALTER PLUGGABLE DATABASE PDB1_REF_CLN REFRESH; プラガブル・データベースが変更されました。 SQL>
データも想定通り連携されていますね。
SQL> show con_name; CON_NAME ------------------------------ PDB1_REF_CLN SQL> SQL> select PDB_NAME||','||REFRESH_MODE||','||REFRESH_INTERVAL||','||LAST_REFRESH_SCN from dba_pdbs where PDB_NAME='PDB1_REF_CLN'; PDB_NAME||','||REFRESH_MODE||','||REFRESH_INTERVAL||','||LAST_REFRESH_SCN -------------------------------------------------------------------------------- PDB1_REF_CLN,AUTO,60,1651574 SQL> SQL> select * from test; ID ---------- 1 2 SQL>
alertログではこんな感じで出力されます。
2023-12-09T15:15:28.617572+09:00 PDB1_REF_CLN(4):ALTER PLUGGABLE DATABASE PDB1_REF_CLN REFRESH 2023-12-09T15:15:30.293307+09:00 Applying media recovery for pdb-3 from SCN 1650756 to SCN 1651574 Remote log information: count-1 thr-1,seq-26,logfile-/oradata/cdb19/arch/parlog_1_26_a880de4d_1154562853.arc,los-1643947,nxs-18446744073709551615,maxblks-44422 PDB1_REF_CLN(4):Media Recovery Start 2023-12-09T15:15:30.294114+09:00 PDB1_REF_CLN(4):Serial Media Recovery started PDB1_REF_CLN(4):max_pdb is 6 2023-12-09T15:15:30.321190+09:00 PDB1_REF_CLN(4):Media Recovery Log /oradata/cdb19/arch/parlog_1_26_a880de4d_1154562853.arc 2023-12-09T15:15:30.418689+09:00 PDB1_REF_CLN(4):Incomplete Recovery applied until change 1651574 time 12/09/2023 15:15:28 2023-12-09T15:15:30.420904+09:00 PDB1_REF_CLN(4):Media Recovery Complete (cdb19) PDB1_REF_CLN(4):Completed: ALTER PLUGGABLE DATABASE PDB1_REF_CLN REFRESH
自動リフレッシュ
1時間ごとの更新が待てないので、間隔を短くしてみます。
SQL> ALTER PLUGGABLE DATABASE PDB1_REF_CLN REFRESH MODE EVERY 3 MINUTES; ★このタイミングで一度同期されていました。 プラガブル・データベースが変更されました。 SQL> SQL> ALTER SESSION SET CONTAINER = CDB$ROOT; セッションが変更されました。 SQL> select PDB_NAME||','||REFRESH_MODE||','||REFRESH_INTERVAL||','||LAST_REFRESH_SCN from dba_pdbs where PDB_NAME='PDB1_REF_CLN'; PDB_NAME||','||REFRESH_MODE||','||REFRESH_INTERVAL||','||LAST_REFRESH_SCN -------------------------------------------------------------------------------- PDB1_REF_CLN,AUTO,3,1674585
自動更新された場合もalertログとしては同じ内容です。
2023-12-09T21:16:34.824626+09:00 PDB1_REF_CLN(4):alter pluggable database refresh 2023-12-09T21:16:37.053287+09:00 Applying media recovery for pdb-3 from SCN 1674585 to SCN 1674706 Remote log information: count-1 thr-1,seq-26,logfile-/oradata/cdb19/arch/parlog_1_26_a880de4d_1154562853.arc,los-1643947,nxs-18446744073709551615,maxblks-150458 PDB1_REF_CLN(4):Media Recovery Start 2023-12-09T21:16:37.054244+09:00 PDB1_REF_CLN(4):Serial Media Recovery started PDB1_REF_CLN(4):max_pdb is 6 2023-12-09T21:16:37.091550+09:00 PDB1_REF_CLN(4):Media Recovery Log /oradata/cdb19/arch/parlog_1_26_a880de4d_1154562853.arc 2023-12-09T21:16:37.226036+09:00 PDB1_REF_CLN(4):Incomplete Recovery applied until change 1674706 time 12/09/2023 21:16:34 2023-12-09T21:16:37.228165+09:00 PDB1_REF_CLN(4):Media Recovery Complete (cdb19) PDB1_REF_CLN(4):Completed: alter pluggable database refresh
※リフレッシュが動いた時にREAD ONLYでOPENしていると失敗します。
2023-12-09T20:16:41.231298+09:00 PDB1_REF_CLN(4):alter pluggable database refresh 2023-12-09T20:16:41.231506+09:00 PDB1_REF_CLN(4):PDB1_REF_CLN(4):ERROR:PDB needs to be closed for auto refresh PDB1_REF_CLN(4):Completed: alter pluggable database refresh
スイッチオーバーについて
準備
スイッチオーバーの理解のためにドキュメントを読みます。
ALTER PLUGGABLE DATABASE - pdb_refresh_switchover_clause
ALTER PLUGGABLE DATABASE REFRESH MODE MANUAL FROM new_source_pdb@dblink SWITCHOVER;
以下がポイントですかね。
- スイッチオーバーはプライマリPDBから実行する
- DBリンクは、リフレッシュ可能なクローンPDBが現在存在するCDBのRootを指す必要がある。
- リフレッシュ可能なクローンが別のCDBに存在する場合、DBリンク・ユーザはプライマリPDBに存在しなければなりません。(今回は関係なし)
CDB$ROOTを指すDBリンクを作成します。後でマニュアル見て判明するんですが、追加で権限つけておきます。
CREATE PUBLIC DATABASE LINK CDB19_LINK CONNECT TO C##PDBUSER IDENTIFIED BY "P@ssw0rd" USING 'CDB19'; GRANT RESOURCE, CREATE ANY TABLE, UNLIMITED TABLESPACE TO C##PDBUSER CONTAINER=ALL; GRANT SYSOPER TO C##PDBUSER CONTAINER=ALL;
現状の状態を整理します。
SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 PDB1 READ WRITE NO 4 PDB1_REF_CLN MOUNTED SQL> SQL> select PDB_NAME||','||STATUS||','||REFRESH_MODE||','||REFRESH_INTERVAL||','||LAST_REFRESH_SCN from dba_pdbs; PDB_NAME||','||STATUS||','||REFRESH_MODE||','||REFRESH_INTERVAL||','||LAST_REFRE -------------------------------------------------------------------------------- PDB$SEED,NORMAL,NONE,, PDB1,NORMAL,NONE,, ★ソースPDB PDB1_REF_CLN,REFRESHING,AUTO,60,1675752 ★リフレッシュ可能なPDB
失うものはなにもないのでスイッチオーバーします。
SQL> conn C##PDBUSER/"P@ssw0rd" 接続されました。 SQL> SQL> ALTER SESSION SET CONTAINER = PDB1; セッションが変更されました。 SQL> SQL> ALTER PLUGGABLE DATABASE REFRESH MODE EVERY 60 MINUTES FROM PDB1_REF_CLN@CDB19_LINK SWITCHOVER; ALTER PLUGGABLE DATABASE REFRESH MODE EVERY 60 MINUTES FROM PDB1_REF_CLN@CDB19_LINK SWITCHOVER * 行1でエラーが発生しました。: ORA-12754: 機能PDB REFRESH SWITCHOVERは、機能がないため無効化されています。 SQL>
19cではEEだけだと、実施できずExadata,ODAから対象みたいです。
23cではFreeとOCIだけですね。
19c Database Licensing Information User Manual
23c Database Licensing Information User Manual
ここまで来て引けないので、ググって見つけたパラメータ"_exadata_feature_on"を設定して、動きを確認します。
... その後、どうしてもSWITCHOVERできず
以下のドキュメントを見つけました。
19c Switching Over a Refreshable Clone PDB
結論としては、クローンPDBを作成するときにPDBへのDBリンクを使っていましたが
CDBへ接続するDBリンクを指定してクローンPDBを作り直したところ何事もなくスイッチオーバーできました。
SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 PDB1 MOUNTED 5 PDB1_REF_CLN READ WRITE NO SQL> SQL> select PDB_NAME||','||STATUS||','||REFRESH_MODE||','||REFRESH_INTERVAL||','||LAST_REFRESH_SCN from dba_pdbs; PDB_NAME||','||STATUS||','||REFRESH_MODE||','||REFRESH_INTERVAL||','||LAST_REFRE -------------------------------------------------------------------------------- PDB$SEED,NORMAL,NONE,, PDB1,REFRESHING,AUTO,60,1709559 ★リフレッシュ可能なPDB PDB1_REF_CLN,NORMAL,NONE,, ★ソースPDB
alertログはこんな感じになりました。
2023-12-10T00:15:41.219246+09:00 PDB1(3):ALTER PLUGGABLE DATABASE REFRESH MODE EVERY 60 MINUTES FROM pdb1_ref_cln@CDB19_LINK SWITCHOVER 2023-12-10T00:15:41.446138+09:00 PDB1_REF_CLN(5): AUDSYS.AUD$UNIFIED (SQL_TEXT) - CLOB populated 2023-12-10T00:15:41.472027+09:00 PDB1(3):Pluggable database PDB1 closing PDB1(3):JIT: pid 24637 requesting stop 2023-12-10T00:15:41.478093+09:00 Process termination requested for pid 25659 [source = rdbms], [info = 2] [request issued by pid: 24637, uid: 54321] 2023-12-10T00:15:41.527373+09:00 KILL SESSION for sid=(146, 63746): Reason = PDB close immediate Mode = KILL HARD FORCE -/-/- Requestor = USER (orapid = 56, ospid = 24637, inst = 1) Owner = Process: Q005 (orapid = 69, ospid = 25659) Result = ORA-0 2023-12-10T00:15:42.613787+09:00 PDB1(3):Closing sequence subsystem (559893756181). PDB1(3):Buffer Cache flush started: 3 PDB1(3):Buffer Cache flush finished: 3 Pluggable database PDB1 closed 2023-12-10T00:15:43.123651+09:00 PDB1_REF_CLN(5):Pluggable database PDB1_REF_CLN closing PDB1_REF_CLN(5):JIT: pid 27376 requesting stop PDB1_REF_CLN(5):Buffer Cache flush started: 5 PDB1_REF_CLN(5):Buffer Cache flush finished: 5 Pluggable database PDB1_REF_CLN closed 2023-12-10T00:15:44.196342+09:00 Applying media recovery for pdb-3 from SCN 1708630 to SCN 1709099 Remote log information: count-1 thr-1,seq-26,logfile-/oradata/cdb19/arch/parlog_1_26_a880de4d_1154562853.arc,los-1643947,nxs-18446744073709551615,maxblks-329140 PDB1_REF_CLN(5):Media Recovery Start 2023-12-10T00:15:44.197164+09:00 PDB1_REF_CLN(5):Serial Media Recovery started PDB1_REF_CLN(5):max_pdb is 6 2023-12-10T00:15:44.231864+09:00 PDB1_REF_CLN(5):Media Recovery Log /oradata/cdb19/arch/parlog_1_26_a880de4d_1154562853.arc 2023-12-10T00:15:44.478151+09:00 PDB1_REF_CLN(5):Incomplete Recovery applied until change 1709099 time 12/10/2023 00:15:43 2023-12-10T00:15:44.482014+09:00 PDB1_REF_CLN(5):Media Recovery Complete (cdb19) PDB1_REF_CLN(5):Pluggable database PDB1_REF_CLN pseudo opening PDB1_REF_CLN(5):Undo initialization recovery: Parallel FPTR complete: start:559895739 end:559895741 diff:2 ms (0.0 seconds) PDB1_REF_CLN(5):Undo initialization recovery: err:0 start: 559895739 end: 559895741 diff: 2 ms (0.0 seconds) PDB1_REF_CLN(5):[27376] Successfully onlined Undo Tablespace 2. PDB1_REF_CLN(5):Undo initialization online undo segments: err:0 start: 559895741 end: 559895754 diff: 13 ms (0.0 seconds) PDB1_REF_CLN(5):Undo initialization finished serial:0 start:559895739 end:559895757 diff:18 ms (0.0 seconds) PDB1_REF_CLN(5):Database Characterset for PDB1_REF_CLN is AL32UTF8 PDB1_REF_CLN(5):Pluggable database PDB1_REF_CLN pseudo closing PDB1_REF_CLN(5):Closing sequence subsystem (559895870456). PDB1_REF_CLN(5):Buffer Cache flush started: 5 PDB1_REF_CLN(5):Buffer Cache flush finished: 5 2023-12-10T00:15:44.930512+09:00 Deleted Oracle managed file /oradata/CDB19/0C159397F492603DE0631528A8C00091/datafile/o1_mf_users_lq8zzfwt_.dbf Deleted Oracle managed file /oradata/CDB19/0C159397F492603DE0631528A8C00091/datafile/o1_mf_temp_lq8zzfws_.dbf Deleted Oracle managed file /oradata/CDB19/0C159397F492603DE0631528A8C00091/datafile/o1_mf_undotbs1_lq8zzfwr_.dbf Deleted Oracle managed file /oradata/CDB19/0C159397F492603DE0631528A8C00091/datafile/o1_mf_sysaux_lq8zzfwr_.dbf Deleted Oracle managed file /oradata/CDB19/0C159397F492603DE0631528A8C00091/datafile/o1_mf_system_lq8zzfwp_.dbf 2023-12-10T00:15:45.055963+09:00 PDB1_REF_CLN(5):Pluggable database PDB1_REF_CLN opening in read write PDB1_REF_CLN(5):Undo initialization recovery: Parallel FPTR complete: start:559896218 end:559896219 diff:1 ms (0.0 seconds) PDB1_REF_CLN(5):Undo initialization recovery: err:0 start: 559896218 end: 559896220 diff: 2 ms (0.0 seconds) PDB1_REF_CLN(5):[27376] Successfully onlined Undo Tablespace 2. PDB1_REF_CLN(5):Undo initialization online undo segments: err:0 start: 559896220 end: 559896261 diff: 41 ms (0.0 seconds) PDB1_REF_CLN(5):Undo initialization finished serial:0 start:559896218 end:559896264 diff:46 ms (0.0 seconds) PDB1_REF_CLN(5):Deleting old file#24 from file$ PDB1_REF_CLN(5):Deleting old file#25 from file$ PDB1_REF_CLN(5):Deleting old file#26 from file$ PDB1_REF_CLN(5):Deleting old file#27 from file$ PDB1_REF_CLN(5):Adding new file#28 to file$(old file#24). fopr-1, newblks-48640, oldblks-26880 PDB1_REF_CLN(5):Adding new file#29 to file$(old file#25). fopr-1, newblks-27520, oldblks-21120 PDB1_REF_CLN(5):Adding new file#30 to file$(old file#26). fopr-1, newblks-24320, oldblks-7680 PDB1_REF_CLN(5):Adding new file#31 to file$(old file#27). fopr-1, newblks-640, oldblks-640 2023-12-10T00:15:45.199604+09:00 PDB1_REF_CLN(5):Successfully created internal service PDB1_REF_CLN at open **************************************************************** Post plug operations are now complete. Pluggable database PDB1_REF_CLN with pdb id - 5 is now marked as NEW. **************************************************************** PDB1_REF_CLN(5):Database Characterset for PDB1_REF_CLN is AL32UTF8 PDB1_REF_CLN(5):SUPLOG: Set PDB SUPLOG SGA at PDB OPEN, old 0x0, new 0x0 (no suplog) PDB1_REF_CLN(5):Opening pdb with no Resource Manager plan active PDB1_REF_CLN(5):joxcsys_required_dirobj_exists: directory object exists with required path /u01/app/oracle/product/19.3.0/dbhome_1/javavm/admin/, pid 27376 cid 5 2023-12-10T00:15:46.051865+09:00 Pluggable database PDB1_REF_CLN opened read write 2023-12-10T00:15:46.179461+09:00 PDB1_REF_CLN(5): AUDSYS.AUD$UNIFIED (SQL_TEXT) - CLOB populated 2023-12-10T00:15:52.272969+09:00 PDB1(3):Endian type of dictionary set to little **************************************************************** Pluggable Database PDB1 with pdb id - 3 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-0x000000000000012e **************************************************************** 2023-12-10T00:15:54.935197+09:00 Applying media recovery for pdb-5 from SCN 1709449 to SCN 1709533 Remote log information: count-1 thr-1,seq-26,logfile-/oradata/cdb19/arch/parlog_1_26_39742b57_1154562853.arc,los-1643947,nxs-18446744073709551615,maxblks-329629 PDB1(3):Media Recovery Start 2023-12-10T00:15:54.936003+09:00 PDB1(3):Serial Media Recovery started PDB1(3):max_pdb is 6 2023-12-10T00:15:54.962876+09:00 PDB1(3):Media Recovery Log /oradata/cdb19/arch/parlog_1_26_39742b57_1154562853.arc 2023-12-10T00:15:55.259903+09:00 PDB1(3):Incomplete Recovery applied until change 1709533 time 12/10/2023 00:15:52 2023-12-10T00:15:55.262904+09:00 PDB1(3):Media Recovery Complete (cdb19) PDB1(3):Completed: ALTER PLUGGABLE DATABASE REFRESH MODE EVERY 60 MINUTES FROM pdb1_ref_cln@CDB19_LINK SWITCHOVER 2023-12-10T00:15:55.322476+09:00 PDB1(3):alter pluggable database refresh 2023-12-10T00:15:57.912705+09:00 Applying media recovery for pdb-5 from SCN 1709533 to SCN 1709559 Remote log information: count-1 thr-1,seq-26,logfile-/oradata/cdb19/arch/parlog_1_26_39742b57_1154562853.arc,los-1643947,nxs-18446744073709551615,maxblks-329658 PDB1(3):Media Recovery Start 2023-12-10T00:15:57.913543+09:00 PDB1(3):Serial Media Recovery started PDB1(3):max_pdb is 6 2023-12-10T00:15:57.959885+09:00 PDB1(3):Media Recovery Log /oradata/cdb19/arch/parlog_1_26_39742b57_1154562853.arc 2023-12-10T00:15:58.125490+09:00 PDB1(3):Incomplete Recovery applied until change 1709559 time 12/10/2023 00:15:55 2023-12-10T00:15:58.130780+09:00 PDB1(3):Media Recovery Complete (cdb19) PDB1(3):Completed: alter pluggable database refresh
まとめ
まだ製品との組み合わせなどで、19cで非CDBを扱う場面が多いのですが
便利な機能はたくさんあるので、23cへのDB移行も見据えて情報仕入れていきたいと感じました。