小さい頃はエラ呼吸

いつのまにやら肺で呼吸をしています。


Oracle12cでプラガブル・データベース(PDB)に接続しなおす方法

はじめに

Oracle12でコンテナ・データベース(CDB)に接続したあと、プラガブル・データベース(PDB)に接続しなおす方法をまとめました。

Oracle Enterprise Manager 12cによるシステム運用ガイド
篠田 典良
富士通エフ・オー・エム
売り上げランキング: 223,973

プラガブル・データベース(PDB)に接続しなおす

1.コマンドプロンプトを起動して、Oracleに接続します。

sqlplus system/password as sysdba

2.show con_nameコマンドで、接続先のコンテナ名を確認します。CDB$ROOTとなっていた場合、CDBに接続しています。

show con_name;

3.以下のクエリを実行し、PDBの名前とopen_modeがREAD WRITEとなっているかを確認します。

select name, open_mode from v$pdbs;


4.alter sessionコマンドで接続先コンテナを変更します。

alter session set container = pdb名;

5.show con_nameコマンドで、接続先のコンテナ名を確認します。データベース作成時に指定したPDB名と同じ名前が表示されれば、OKです。

show con_name;


直接プラガブル・データベース(PDB)に接続する場合

CDBを経由せず、PDBに直接接続するにはtnsnames.oraを編集します。tnsnames.oraは、以下のフォルダに格納されています。

  • ORACLE_HOME\product\12.1.0\dbhome_1\NETWORK\ADMIN

1.tnsnames.oraに以下の定義を追加します。

ORCLPDB(任意の名前) =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = IPアドレス)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = pdbの名前)
    )
  )

2.以下のログインコマンドで、追加したORCLPDBに接続します。

sqlplus system/password@ORCLPDB as sysdba

3.show con_nameコマンドで、接続先のコンテナ名を確認します。データベース作成時に指定したPDB名と同じ名前が表示されれば、OKです。

show con_name;
トラブルシュート

PDBのopen_modeがREAD WRITEになっていない場合は、以下のコマンドでPDBをオープンします。

alter pluggable database pdbの名前 open;