PR

Oracle Database CDBからPDBへの接続方法

スポンサーリンク
ORACLE

Oracle Database 12cからマルチテナントアーキテクチャ機能が追加されました。

今回はCDB(コンテナデータベース)からPDB(プラガブルデータベース)へ接続する方法を紹介します。

CDBにログイン

CDBへのログイン方法は、従来の方法と同様ですのでSYSDBA権限でログインします。

show con_name コマンドで現在接続しているデータベースを確認することができます。

[oracle@ol77 ~]$ sqlplus / as sysdba

SQL> show con_name

CON_NAME
------------------------------
CDB$ROOT

CDB$ROOT は CDB に接続している状態です。

PDB一覧の確認

show pdbs コマンドで、PDB一覧を確認できます。

SQL> show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 HOEGEPDB                       MOUNTED

PDB$SEED はデフォルトで作成されるPDBテンプレートですので、上記では HOEGEPDB というPDBが存在していることが確認できます。

PDBへ接続

以下のSQLで対象のPDBへ接続することができます。

alter session set container = <con_name>;

SQL> alter session set container = HOEGEPDB;

セッションが変更されました。

SQL> show con_name

CON_NAME
------------------------------
HOEGEPDB

show con_name で対象のPDBへ接続できていることが確認できました。

PDBのオープン

PDBがオープンされていなければ startup open コマンドでオープンしてあげます。

SQL> show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         3 HOEGEPDB                       MOUNTED    NO

SQL> startup open;
プラガブル・データベースがオープンされました。

SQL> show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         3 HOEGEPDB                       READ WRITE NO