Oracle 12c からの機能であるプラガブルデータベースでは、PDBの名前を変更できます。
今回はPDB名の変更方法を紹介します。
プラガブルデータベース(PDB)の名前を変更する方法
現状のPDB名を確認します。以下の例では”HOEGEPDB”という名前になっていることが確認できます。
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 HOEGEPDB MOUNTED
PDB名を変更するには、RESTRICTED モードでなければ変更できないので、RESTRICTED モードに変更します。
もしopen(READ WRITE)している場合は、一回CLOSEしてからRESTRICTED モードに変更してください。
SQL> alter pluggable database HOEGEPDB open restricted;
Pluggable database altered.
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 HOEGEPDB READ WRITE YES
変更対象のPDBに接続します。
SQL> alter session set container=HOEGEPDB;
Session altered.
以下のSQLを実行し、PDB名を”HOEGEPDB”から”HOGEPDB”に変更します。
ALTER PLUGGABLE DATABASE RENAME GLOBAL_NAME TO <新しいPDB名>;
SQL> alter pluggable database rename global_name to HOGEPDB;
Pluggable database altered.
show pdbs コマンドで確認すると名前が変更されています。
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
3 HOGEPDB READ WRITE YES
注意
Oracle内部のPDBは変更されますが、OS上のPDBのディレクトリ名は変更されないので、注意してください。
[oracle@ol77 ~]$ ls -ld /u01/app/oracle/oradata/HOGE/hoegepdb/
drwxr-x--- 2 oracle oinstall 104 Apr 28 20:56 /u01/app/oracle/oradata/HOGE/hoegepdb/