1
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?

More than 3 years have passed since last update.

Oracle Multitenant 2 PDBの削除

Last updated at Posted at 2020-12-07

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
1
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
1
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?