https://docs.oracle.com/cd/E96517_01/multi/removing-a-pdb.html#GUID-75C46F1B-00D8-4FB9-A8E7-6F7FE3DE4CA0
方法としては、xml出力するか、xml+データファイル含んだ圧縮ファイルで出力するかのどちらか
今回はxml出力での切断をする
con_id確認
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
2 PDB$SEED READ ONLY NO
3 ORCLPDB1$SEED MOUNTED
4 ORCLPDB1 READ WRITE NO
5 ORCLPDB2 READ WRITE NO
削除対象のPDBのデータファイルパスを確認
アンプラグ時のxmlをここに置く想定
SQL> select name from v$datafile where con_id=5;
NAME
/opt/oracle/oradata/ORCLCDB/orclpdb3/system01.dbf
/opt/oracle/oradata/ORCLCDB/orclpdb3/sysaux01.dbf
/opt/oracle/oradata/ORCLCDB/orclpdb3/undotbs01.dbf
/opt/oracle/oradata/ORCLCDB/orclpdb3/users01.dbf
PDB停止
SQL> alter pluggable database orclpdb2 close;
Pluggable database altered.
xml出力して切断
SQL> alter pluggable database orclpdb2 unplug into '/opt/oracle/oradata/ORCLCDB/orclpdb3/orclpdb3.xml';
Pluggable database altered.
切断確認 > 反映されてない
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
2 PDB$SEED READ ONLY NO
3 ORCLPDB1$SEED MOUNTED
4 ORCLPDB1 READ WRITE NO
5 ORCLPDB2 MOUNTED
SQL> select con_id, name, open_mode from v$pdbs;
CON_ID NAME OPEN_MODE
2 PDB$SEED READ ONLY
3 ORCLPDB1$SEED MOUNTED
4 ORCLPDB1 READ WRITE
5 ORCLPDB2 MOUNTED
アラートログの出力これだけ
時間も出ない
Completed: alter pluggable database orclpdb2 unplug into '/opt/oracle/oradata/ORCLCDB/orclpdb3/orclpdb3.xml'
DB名とデータファイルパスがずれてる良くないパターン
がちゃがちゃ試しててこうなったみたい
外したPDB、アプリケーションPDBだった
アプリケーションルートから切断する必要がある??
アプリケーションルートに接続し直してorclpdb2の切断を再実行
SQL> alter pluggable database orclpdb2 unplug into '/opt/oracle/oradata/ORCLCDB/orclpdb3/orclpdb3-2.xml';
alter pluggable database orclpdb2 unplug into '/opt/oracle/oradata/ORCLCDB/orclpdb3/orclpdb3-2.xml'
*
ERROR at line 1:
ORA-65343: cannot unplug pluggable database ORCLPDB2
そういうわけではないらしい
PDBの切断はやはりCDBからしか実行できなそう
open_modeで確認するのは違った
statusで確認できる
#再度CDBに接続
SQL> select PDB_ID, PDB_NAME, STATUS from dba_pdbs;
PDB_ID PDB_NAME STATUS
2 PDB$SEED NORMAL
3 ORCLPDB1$SEED NORMAL
4 ORCLPDB1 NORMAL
5 ORCLPDB2 UNPLUGGED
v$pdbsにstatus列欲しいところ..
切断後、削除する
SQL> drop pluggable database orclpdb2 keep datafiles;
Pluggable database dropped.
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
2 PDB$SEED READ ONLY NO
3 ORCLPDB1$SEED MOUNTED
4 ORCLPDB1 READ WRITE NO