PDBシードから新規PDBを作成する方法

この記事ではPDBシードから新規PDBを作成する方法について解説します。

 PDBシードからPDBを作成するコマンド

PDBシードからPDBを新規作成するにはCREATE PLUGGABLE DATABASEコマンドを使用します。

コマンドは以下のようになります。

CREATE PLUGGABLE DATABASE <PDB名> ADMIN USER <PDB管理者ユーザ名> 
IDENTIFIED BY <パスワード> CREATE_FILE_DEST='<データファイルのパス>';

CDB接続し、コマンドを実行するとPDBを作成することができます。


 PDBの作成

まずはPDBを作成するCDBに接続します。

$ sqlplus / as sysdba

「PDB1」という名前のPDBを作成します。

データファイルは/opt/oracle/oradataに配置します。

SQL> CREATE PLUGGABLE DATABASE pdb1 ADMIN USER pdbadmin IDENTIFIED BY password CREATE_FILE_DEST='/opt/oracle/oradata';

Pluggable database created.

PDBが作成されたか確認します。

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

PDB1が作成されマウント状態になっていることが確認できます。


 PDBの起動

作成後のPDBはマウント状態になっているため、起動します。

SQL> ALTER PLUGGABLE DATABASE PDB1 OPEN;
Pluggable database altered.

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

PDBが起動できました。


 tnsnames.oraの編集

tnsnames.oraに新規に作成したPDBのサービス名を追記します

$ cd $ORACLE_HOME/network/admin
$ vi tnsnames.ora

下記の内容を追記します。

PDB1 =
  (DESCRIPTION =
    (ADDRESS_LIST =       (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))     )     (CONNECT_DATA =       (SERVICE_NAME = pdb1)     )   )

登録したサービス名で接続を確認します。

$ sqlplus system@pdb1
無事に接続までできれば完了です。