技術ブログ
Oracle Databaseエンジニアみんな大好きSQL*Plusで、いくつかのコマンドが マルチテナント・アーキテクチャ向けに拡張されています。
なお、以下の記述における内部的に実行しているコマンドは、SQLトレースを使用して確認しました。
SHOWコマンドにいくつか機能が追加されています。
SQL> SHOW CON_ID CON_ID ------------------------------ 3 SQL> SHOW CON_NAME CON_NAME ------------------------------ PDB1 SQL> alter session set container=cdb$root; セッションが変更されました。 SQL> SHOW CON_ID CON_ID ------------------------------ 1 SQL> SHOW CON_NAME CON_NAME ------------------------------ CDB$ROOT SQL> SHOW PDBS CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 PDB1 MOUNTED
OPENされていない(対応するインスタンスが起動していない)CDBでstartupコマンドを実行すると、従来型データベースと同様にインスタンスが起動して、データベース(=CDB)がOPENされます。
CDBがOPENされた状態でPDBに接続して、startupコマンドを実行すると、PDBがOPENされます。内部的には
ALTER PLUGGABLE DATABASE OPEN; が実行されます。
また、CDBに接続した状態でPDBを起動するコマンドとして、startup pluggable database OPENされている(対応するインスタンスが起動している)CDBでshutdownコマンドを実行すると、従来型データベースと同様にインスタンスが停止して、データベース(=CDB)がCLOSEされます。
CDBがOPENされた状態でPDBに接続して、shutdownコマンドを実行すると、PDBがCLOSEされます。内部的には
ALTER PLUGGABLE DATABASE CLOSE; が実行されます。また、shutdown immediateを実行すると、ALTER PLUGGABLE DATABASE CLOSE IMMEDIATE;が実行されれます。
なお、shutdown transactional、shutdown abortは キーワードに対応した処理が実行されません。内部的にはそれぞれ ALTER PLUGGABLE DATABASE CLOSE; 、ALTER PLUGGABLE DATABASE CLOSE IMMEDIATE;が実行されます。shutdownコマンド