PDB名の変更

この記事ではPDB名の変更について解説します。

 PDB名を変更する方法

マルチテナント環境ではPDB名を変更することができます。

PDB名の変更はALTER PLUGGABLE DATABASEを使用して行うことができます。

PDBに接続し下記を実行します。

ALTER PLUGGABLE DATABASE RENAME GLOBAL_NAME TO <新しいPDB名>;

PDB名を変更する際には変更するPDBをRESTRICTEDモードに変更する必要があります。

PDBがオープンしている場合は一度クローズしてRESTRICTEDモードに変更します。


 PDB名の変更例

「PDB1」のPDB名を「PDB2」に変更します。

まずはPDBの状態を確認します。

SQL> show pdbs
    CON_ID CON_NAME			  OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
	 2 PDB$SEED			  READ ONLY  NO
	 3 FREEPDB1			  READ WRITE NO
	 4 PDB1 			  READ WRITE NO

PDB1がREAD WRITEでオープンしており、RESTRICTEDがNOになっていることが確認できます。

PDB1をRESTRICTEDモードに変更します。

SQL> ALTER PLUGGABLE DATABASE PDB1 CLOSE IMMEDIATE;
Pluggable database altered.
SQL> ALTER PLUGGABLE DATABASE PDB1 OPEN RESTRICTED;
Pluggable database altered.
SQL> show pdbs
    CON_ID CON_NAME			  OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
	 2 PDB$SEED			  READ ONLY  NO
	 3 FREEPDB1			  READ WRITE NO
	 4 PDB1 			  READ WRITE YES

PDB1がRESTRICTEDモードに変更されました。

PDB1に接続し、PDB名を変更します。

SQL> alter session set container=pdb1;
Session altered.
SQL> ALTER PLUGGABLE DATABASE RENAME GLOBAL_NAME TO PDB2;
Pluggable database altered.
SQL> show con_name
CON_NAME
------------------------------
PDB2

RESTRICTEDモードを解除するために再度PDBをクローズして起動します。

SQL> ALTER PLUGGABLE DATABASE CLOSE IMMEDIATE;
Pluggable database altered.
SQL> ALTER PLUGGABLE DATABASE OPEN;
Pluggable database altered.

これにてPDB名の変更は完了になります。

tnsnames.oraのサービス名は変更されないので手動で変更する必要があります。

また、ディレクトリ名なども変更されないので注意が必要です。