Oracle12c以降はCDB(グローバルデータベース)、PDB(プラガブル・データベース)の概念が追加となった。
CDB、PDBの操作を試した操作ログの内容を紹介します。
CDB、PDBのデータベース名
コンテナ | データベース名 |
---|---|
CDB | ORCL |
PDB | ORCLPDB |
1. CDBへ接続(OS認証)
C:\app\oracle>sqlplus /nolog
SQL*Plus: Release 18.0.0.0.0 - Production on 月 9月 16 13:59:40 2019
Version 18.3.0.0.0
Copyright (c) 1982, 2018, Oracle. All rights reserved.
SQL> connect / as sysdba -- OS認証で接続
接続されました。
SQL> select instance_name,status from v$instance; -- インスタンスの確認
INSTANCE_NAME STATUS
-------------------------------- ------------------------
orcl OPEN
SQL> show con_name -- 接続先の確認
CON_NAME
------------------------------
CDB$ROOT
SQL> disconnect -- 切断
Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production
Version 18.3.0.0.0との接続が切断されました。
SQL>
2. CDBにローカル接続(パスワード認証)
SQL> connect system/password --パスワード認証で接続
接続されました。
SQL> show con_name -- 接続先の確認
CON_NAME
------------------------------
CDB$ROOT
SQL> disconnect -- 切断
Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production
Version 18.3.0.0.0との接続が切断されました。
SQL>
3. PDBにリモート接続(パスワード認証)
SQL> connect system/password@localhost:1521/ORCLPDB --パスワード認証(リモート)で接続
接続されました。
SQL> show con_name -- 接続先の確認
CON_NAME
------------------------------
ORCLPDB
SQL> disconnect -- 切断
Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production
Version 18.3.0.0.0との接続が切断されました。
SQL>
4. CDBにローカル接続(OS認証)後、PDBに接続
SQL> connect / as sysdba -- OS認証で接続
接続されました。
SQL> show con_name -- 接続先の確認
CON_NAME
------------------------------
CDB$ROOT
SQL> alter session set container=ORCLPDB; -- PDBに接続
セッションが変更されました。
SQL> show con_name -- 接続先の確認
CON_NAME
------------------------------
ORCLPDB
SQL>
5. PDBに接続後、CDBに接続
SQL> show con_name -- 接続先の確認
CON_NAME
------------------------------
ORCLPDB
SQL> alter session set container=CDB$ROOT; -- CDBに接続
セッションが変更されました。
SQL> show con_name -- 接続先の確認
CON_NAME
------------------------------
CDB$ROOT
SQL>
6. PDB情報確認
SQL> show pdbs -- PDB情報確認
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 ORCLPDB READ WRITE NO
SQL> select con_id,name,open_mode,restricted from v$pdbs; -- PDB情報確認
CON_ID NAME OPEN_MODE RESTRI
---------- ------------------------------- -------------------- ------
2 PDB$SEED READ ONLY NO
3 ORCLPDB READ WRITE NO
SQL> select pdb_name,status from cdb_pdbs; -- PDB情報確認
PDB_NAME STATUS
------------------------ --------------------
ORCLPDB NORMAL
PDB$SEED NORMAL
SQL>
7. CDB停止、起動
SQL> show con_name -- 接続先の確認
CON_NAME
------------------------------
CDB$ROOT
SQL> shutdown immediate; -- CDB停止
データベースがクローズされました。
データベースがディスマウントされました。
ORACLEインスタンスがシャットダウンされました。
SQL> startup -- CDB起動
ORACLEインスタンスが起動しました。
Total System Global Area 805304184 bytes
Fixed Size 9033592 bytes
Variable Size 562036736 bytes
Database Buffers 226492416 bytes
Redo Buffers 7741440 bytes
データベースがマウントされました。
データベースがオープンされました。
SQL>
8. PDB停止、起動
SQL> show pdbs -- PDBの状態確認
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 ORCLPDB READ WRITE NO
SQL> alter pluggable database ORCLPDB close immediate; -- PDB(ORCLPDB)の停止(ORCLPDBをallにすると全てのPDBを停止)
プラガブル・データベースが変更されました。
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 ORCLPDB MOUNTED
SQL> alter pluggable database ORCLPDB open; -- PDB(ORCLPDB)の起動(ORCLPDBをallにすると全てのPDBを起動)
プラガブル・データベースが変更されました。
SQL> show pdbs -- PDBの状態確認
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 ORCLPDB READ WRITE NO
SQL>
9. PDBに接続した状態でのPDB停止、起動
SQL> alter session set container=ORCLPDB; -- PDBに接続
セッションが変更されました。
SQL> show con_name -- 接続先の確認
CON_NAME
------------------------------
ORCLPDB
SQL> shutdown immediate; -- PDBの停止
プラガブル・データベースがクローズされました。
SQL> select instance_name,status from v$instance; -- インスタンスの確認
INSTANCE_NAME STATUS
-------------------------------- ------------------------
orcl MOUNTED
SQL> show pdbs -- PDBの状態確認
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
3 ORCLPDB MOUNTED
SQL> alter database open; -- PDBの起動
データベースが変更されました。
SQL> show pdbs -- PDBの状態確認
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
3 ORCLPDB READ WRITE NO
SQL>
10. 現在のPDB起動状態を保存
SQL> alter session set container=CDB$ROOT; -- CDBに接続
セッションが変更されました。
SQL> show con_name -- 接続先の確認
CON_NAME
------------------------------
CDB$ROOT
SQL> alter pluggable database all save state; -- 現在のPDB起動状態を保存(allはPDB名としてもよい)
プラガブル・データベースが変更されました。
SQL>
以上