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;