どうなるんだろうね?ということでやってみたメモ。結論、できそう。
使っているのはどちらも 19.19。
Standard Edition からPDBをアンプラグ
PDB名は「sepdb」。適当なディレクトリにアーカイブベースでアンプラグする。アンプラグしたら元のCDBからはdropしておく。
SQL> alter pluggable database sepdb close;
プラガブル・データベースが変更されました。
SQL> alter pluggable database sepdb unplug into '/home/oracle/sepdb/sepdb.pdb';
プラガブル・データベースが変更されました。
SQL> drop pluggable database sepdb including datafiles;
プラガブル・データベースが削除されました。
Enterprise Edition にPDBをプラグ
プラグ先のデータファイル格納ディレクトリを作成しておく。
$ mkdir /u01/app/oracle/oradata/EEDB/sepdb
アーカイブしたPDBをプラグして、OPENする。何事もなく、すんなりOPENできた。
SQL> create pluggable database sepdb using '/home/oracle/sepdb/sepdb.pdb'
2 file_name_convert=('/home/oracle/sepdb/','/u01/app/oracle/oradata/EEDB/sepdb/');
プラガブル・データベースが作成されました。
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 EEPDB READ WRITE NO
4 SEPDB MOUNTED ← 追加された
SQL> alter pluggable database sepdb open;
プラガブル・データベースが変更されました。
もともと入っていたデータも問題なく参照可能。
SQL> alter session set container=sepdb;
セッションが変更されました。
SQL> select * from testuser.testtab;
COL1
----------
1
WARNINGは出ているけれど…
表面上は問題なく動いているように見えるが、アラートログを見るとこんなメッセージが。
SEPDB(4):***************************************************************
SEPDB(4):WARNING: Pluggable Database SEPDB with pdb id - 4 is
SEPDB(4): altered with errors or warnings. Please look into
SEPDB(4): PDB_PLUG_IN_VIOLATIONS view for more details.
SEPDB(4):***************************************************************
PDB_PLUG_IN_VIOLATIONS を見てみると、いくつかWARNINGが出ている。
SQL> select name, cause, type, message, status from PDB_PLUG_IN_VIOLATIONS where name = 'SEPDB';
NAME CAUSE TYPE MESSAGE STATUS
------ ------------------------------ --------- ---------------------------------------------------------------------------------------------------- ---------
SEPDB DB Release Edition WARNING CDB is Enterprise Edition (8), but PDB is not Enterprise Edition (4) RESOLVED
SEPDB OPTION WARNING Database option APS mismatch: PDB installed version NULL. CDB installed version 19.0.0.0.0. PENDING
SEPDB OPTION WARNING Database option DV mismatch: PDB installed version NULL. CDB installed version 19.0.0.0.0. PENDING
SEPDB OPTION WARNING Database option OLS mismatch: PDB installed version NULL. CDB installed version 19.0.0.0.0. PENDING
SEPDB OPTION WARNING Database option XOQ mismatch: PDB installed version NULL. CDB installed version 19.0.0.0.0. PENDING
エディション違いというところもWARNINGにはなっているけれど、STATUSはRESOLVEDなのでおそらくそこは問題ない。内部でうまいこと変換して解決してくれていると推測。
オプションについてのWARNINGは、SEにはなかった機能がEEのCDBに存在するために出力されているのだろう。あくまでもWARNINGであってERRORではないし、対象の機能を使わないのであれば無視してよいと思われるが、確かなところはサポートに聞いてみたほうがいいのかもしれない。
コメント