Oracle12cのプラガブル・データベース(PDB)は初期設定のままでは、毎回、手動で起動させる必要があります。
この記事ではOS起動時やOracle再起動時にPDBを自動起動にする方法を記載します。
PDBの自動起動設定
PDBの自動起動はOracle 12.1.0.2以降ではSQL文を使用して、12.1.0.1の環境ではトリガーを作成して自動起動設定をおこないます。
最初に現在の接続先を確認します。
現在の接続先がCDBの場合は「CDB$ROOT」と表示されます。
sqlplus / as sysdba SQL> SHOW CON_NAME CON_NAME ------------------------------ CDB$ROOT
接続するPDBの状態を確認します。
PDB(PDB$SEED以外)の状態が「MOUNTED」と表示される場合は、PDBを起動する必要があります。
SQL> SHOW PDBS CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 PDBORCL MOUNTED
PDBが停止している場合は、PDBを起動します。
PDBの状態が「READ WRITE」変わったことを確認します。
SQL> ALTER PLUGGABLE DATABASE <PDB名> OPEN; プラガブル・データベースが変更されました。 SQL> SHOW PDBS CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 PDBORCL READ WRITE NO
Oracle 12.1.0.2以降
自動起動設定のSQL文を実行します。
SQL> ALTER PLUGGABLE DATABASE <PDB名> SAVE STATE;
Oracle 12.1.0.1の場合
自動起動設定のトリガーを作成します。
CREATE OR REPLACE TRIGGER <トリガー名> AFTER STARTUP ON DATABASE BEGIN EXECUTE IMMEDIATE 'ALTER PLUGGABLE DATABASE <PDB名> OPEN'; END auto_start_pdbs; /
[amazonjs asin=”4798040940″ locale=”JP” tmpl=”Small” title=”図解入門よくわかる最新Oracleデータベースの基本と仕組み第4版 (How‐nual Visual Guide Book)”]