マルチテナント用語
| 用語 | 説明 |
|---|---|
| マルチテナント・アーキテクチャ | Oracleのコンテナ型データベースの実装技術 |
| CDB | コンテナ型のDBインスタンス、文脈によりルートを指す場合もあり |
| 非CDB | 非コンテナ型(従来型)のDB |
| コンテナID/名 | インスタンス内のコンテナを一意に識別するIDと名前 |
| ルート(CDB$ROOT) | 共通オブジェクトを持つコンテナ。インスタンス名で接続するとCDB$ROOTに繋がる。 |
| PDB | ユーザデータベースとなるコンテナ。PDB名はNET接続時のサービス名となる。 |
| シード(PDB$SEED) | PDBのテンプレートとなる読取専用PDB。コンテナ名はPDB$SEED。 |
主要ファイル
| 用語 | ルート | PDB | 補足説明 |
|---|---|---|---|
| 制御ファイル | ◎CDB全体 | ― | |
| REDOログファイル | ◎CDB全体 | ― | |
| UNDO表領域 | ◎共通 | △ローカル(12.2~) | |
| TEMP(一時)表領域 | ◎デフォルト | 〇ローカル | 基本はコンテナ毎のTEMPを使う |
| SYSTEM,SYSAUX | ◎共通部 | ◎個別部 | |
| ユーザ表領域 | 〇USERS | 〇USERS | PDB$SEEDにはない |
| <凡例>◎必須、〇作成、△作成可、-無 |
sqlplusからPDBへの接続
# 1.ROOTへ接続した後、PDBに接続変更(共通ユーザ)
# DB作成時にサービス名がtnsnames.oraに追加される。別サーバからの接続は2.か3.で。
sqlplus system/パスワード@サービス名
alter session set container=pdb名;
# 2.ホスト[:ポート]/サービス名の形式でPDBに直接接続。ポート1521の場合省略可
sqlplus system/パスワード@ホスト[:ポート]/pdb名
# 3.tnsnames.oraにネットサービス名を追加し直接接続
vi $ORACLE_HOME/network/admin/tnsnames.ora
## 下記を追加(ネットサービス名をpdb1とした場合)
pdb1=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=ホスト)(PORT=ポート))(CONNECT_DATA=(SERVICE_NAME=pdb名)))
## 接続
sqlplus system/パスワード@pdb1
sqlplusのマルチテナント拡張(SQL Developerでも可)
-- ROOTに接続
sqlplus / as sysdba
-- PDBの一覧(rootコンテナから実行した場合は全部。PDBからの場合今のPDBのみ)
show pdbs
-- 現在の接続コンテナID、名前の表示.ID=1はCDB,ID=2はseed
show con_id
show con_name
-- 接続コンテナの変更(PDB1へ)
alter session set container=pdb1;
-- 接続コンテナの変更(rootコンテナへ)
alter session set container=CDB$ROOT;
-- PDBの状態変更(CDBから実行) closeするとMOUNT状態となる。
-- デフォルトではDB起動時にPDBはclose状態
alter pluggable database all|PDB名 open [read only|read write];
alter pluggable database all|PDB名 close [immediate];
-- PDBの現在の状態を保存し、次回DB起動時にその状態にする。
alter pluggable database all|PDB名 save state;
RMANバックアップ
- CDB全体: ルートに接続しbackup database;
- ルートのみ: ルートに接続しbackup database root;
- PDB: PDBに接続しbackup database;
- 複数PDB: ルートに接続しbackup pluggable database pdb1,pdb2,・・
- アーカイブログのバックアップはルートに接続して実行。PDBでは対象なしとなる。
- backup database plus archivelog [delete all input];
- backup archivelog all [delete all input];
- RMAN内では接続コンテナの変更(aleter session set container=xx)は不可
更新履歴
2018/05/30 初版