この記事では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
無事に接続までできれば完了です。