Oracle12cのPDB自動起動設定方法

Oracle12cをインストールした後にPCを再起動して

sqlplus ora01/oracle@localhost:1521/pdborcl

で接続しようとしたら

ORA-01033: ORACLE initialization or shutdown in progress

と出て接続できませんでした。
どうやらデフォルトではPDBは自動起動されないようです。

そこでPDBの自動起動設定方法をご紹介します。

sqlplus system/oracle

でCDBに接続します。

CDBに接続されている事を確認します。
SQL> show con_name

CON_NAME
——————————
CDB$ROOT
SQL>

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

SQL> select name, open_mode from v$pdbs;

NAME OPEN_MODE
—————————— ———-
PDB$SEED READ ONLY
PDBORCL MOUNTED

READ WRITEモードになっていない場合は、プラガブルデータベースを起動します。

SQL> alter pluggable database pdborcl open;

ORA-01031: 権限が不足しています。

systemでは権限が不足しているようなのでsysdbaで接続します。

SQL> connect /as sysdba

再び実行します。

SQL> alter pluggable database pdborcl open;

今度はうまく行きました。

次のクエリを実行し、現在のコンテナをプラガブルデータベースに変更します。

SQL> alter session set container = pdborcl;

PDBに接続されている事を確認します。
SQL> show con_name

CON_NAME
——————————
PDBORCL

Oracle12.1.0.2以降ではPDBが起動し、且つ接続されている状態で下記コマンドを投入
する事でPDBの自動起動設定となります。

SQL>alter pluggable database pdborcl save state;


Comments are closed.