CDB や PDB (データベース)への接続と起動・停止など( Oracle 19c )
マルチテナントという多段階の構成になったので、データベースの接続方法なども若干気を付ける部分があります。
接続先の変更方法やデータベースの起動・停止方法などをメモしておきます。
動作環境:
- Windows Server 2019
- Oracle Database 19c(Version:19.3)
接続中のコンテナ名表示と切り替え
ルートコンテナの接続とコンテナ名の確認
接続しているコンテナの名前を確認するには、「 show 」コマンドに「 con_name 」オプションを指定して確認できます。
まず、 SYSDBA 権限で SqlPlus を使って接続します。
ルートコンテナに接続されるので、次のコマンドを実行すると接続しているコンテナ名が確認できます。
SQL> show con_name
CON_NAME
-------------------------
CDB$ROOT
プラガブルデータベース( PDB )に切り替える
プラガブルデータベース( PDB )に切り替えるには、次のコマンドを実行します。
SQL> alter session set container=PDBの名前;
セッションが変更されました。
ルートコンテナと同様に次のコマンドで接続コンテナ名が確認できます。
SQL> show con_name
CON_NAME
-------------------------
PDBの名前
ルートコンテナに切り替える
ルートコンテナに切り替える場合も同様に次のコマンドを実行します。 container の部分は、「CDB$ROOT」となります。
SQL> alter session set container=CDB$ROOT;
セッションが変更されました。
起動と停止
プラガブルデータベース( PDB )の状態確認
PDB の状態を確認するには、「 show 」コマンドに「 pdbs 」を指定します。 PDB を起動すると、 OPEN MODE が READ ONLY や READ WRITE になり、停止すると MOUNTED となります。
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 DARS MOUNTED
プラガブルデータベース( PDB )の起動
PDB の起動は、 CDB に接続した状態で次のコマンドを実行します。
ALTER PLUGGABLE DATABASE [ALL | [PDBの名前]] OPEN [READ WRITE | READ ONLY];
-- または
STARTUP PLUGGABLE DATABASE [PDBの名前] OPEN [READ WRITE | READ ONLY]
プラガブルデータベース( PDB )の停止
PDB の停止は、次のコマンドを実行します。 OPEN MODE は、マウント( MOUNTED )になります。
ALTER PLUGGABLE DATABASE [ALL | [PDBの名前]] CLOSE [IMMEDIATE | ABORT];
プラガブルデータベース( PDB )の自動起動(状態の保存)
初期状態では、CDB 起動時 PDB はマウントモード( MOUNTED )の状態になっています。次のコマンドを READ WRITE の状態で使うと、その状態を保持することができるようになり PDB が起動した状態で動作します。
ALTER PLUGGABLE DATABASE [ALL | [PDBの名前]] SAVE STATE;
状態の保持を取りやめたい場合は、次のコマンドを実行します。
ALTER PLUGGABLE DATABASE [ALL | [PDBの名前]] DISCARD STATE;
CDB の起動
CDB の起動は、次のコマンドで実行します。
STARTUP [OPEN [db_name] | MOUNT [db_name] | NOMOUNT]
※ STARTUP と STARTUP MOUNT コマンドで [db_name] を省略した場合、初期化パラメータ・ファイルの DB_NAME のデータベース名が使用されます。
モード | 説明 |
---|---|
OPNE | Oracle インスタンスを起動し、データベースをマウントしてオープンします。 オンライン REDO ログ・ファイル、およびデータファイルが開かれ、データへのアクセスができるようになります。 |
MOUNT | Oracle インスタンスを起動し、データベースのマウントを行いオープンはしません。 制御ファイルが開かれた状態で、データファイルは開かれていません。 |
NOMOUNT | Oracle インスタンスのみ起動し、データベースはマウントされません。 初期化パラメータ・ファイルは読み込み込まれ、制御ファイルは開いていない状態。 |
CDB の停止
CDB の停止は、次のコマンドで実行します。
SHUTDOWN [NORMAL | IMMEDIATE | TRANSACTIONAL | ABORT]
モード | 説明 |
---|---|
NORMAL | 新規接続はできない状態で、接続中の全ユーザーセッションが終了するまで待機します。 |
IMMEDIATE | アクティブな全てのトランザクションをロールバックし、接続中の全ユーザのセッションを切断してデータベースを即時停止します。 |
TRANSACTIONAL | アクティブな全てのトランザクションが完了後、接続中の全ユーザのセッションを切断してデータベースを停止します。 |
ABORT | アクティブなトランザクションのロールバックを行わず、接続中の全ユーザのセッションを接続してデータベースを強制的に停止します。 |