Oracle Database 12c以降で導入されたCDB構成(コンテナ・データベース構成)では、複数のPDB(プラガブル・データベース)を1つのCDB(コンテナ・データベース)内に統合して管理します。
この構成下では、従来の単一データベースとログの出力構造が大きく異なります。特に初心者が誤解しがちな点は、「PDBごとにアラートログがある」と思い込んでしまうことです。
結論から言えば、PDB単位ではログファイルは生成されません。すべてのログはCDBインスタンスに一元化されて記録されます。
💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?
Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?
✅ この記事でわかること
- ADR(自動診断リポジトリ)の概要
- CDB構成におけるログの構造
- なぜPDB単位でログが存在しないのか
- ログ確認手順とADRCIの活用方法
- 誤解を避けるためのポイント
1. 自動診断リポジトリ(ADR)とは?
ADR(Automatic Diagnostic Repository)は、Oracle Databaseの障害情報を統合管理するフレームワークで、以下のような情報が格納されます。
| 格納情報 | 内容 |
|---|---|
| アラートログ | 起動・停止、エラーなど |
| トレースファイル | 各種プロセスの詳細動作 |
| ダンプファイル | 重大障害時のメモリ情報 |
| incidentログ | ORA-00600やORA-07445など |
2. 【重要】CDB構成のログ出力構造とPDBの扱い
❗ PDBには独自のアラートログは存在しない
PDBはあくまでCDBの一部として動作するサブデータベースです。したがって、PDBの起動・停止、ユーザー操作、障害などのログは、すべてCDBインスタンスのアラートログに記録されます。
【図】CDB構成とログ出力の流れ(テキスト図)
+------------------------------------------+
| CDB$ROOT |
| +--------------------------------------+ |
| | インスタンス名:CDB1 | |
| | → アラートログ:alert_CDB1.log | |
| | → トレースファイル:trace/*.trc | |
| +----------------+---------------------+ |
↓ ↓
+--------+--------+ +-------+--------+
| PDB1 | | PDB2 |
| ユーザー操作 | | アプリケーション|
| エラー発生 | | 起動/停止など |
| → CDBに記録 | | → CDBに記録 |
+-----------------+ +-----------------+
アラートログの出力例
2025-05-01T16:52:14.754609+09:00
Completed: alter pluggable database all open
2025-05-01T16:53:19.589329+09:00
PDB01(3):TABLE AUDSYS.AUD$UNIFIED: ADDED INTERVAL PARTITION SYS_P248 (131) VALUES LESS THAN (TIMESTAMP' 2025-06-01 00:00:00') ★PDB01 の出力
2025-05-01T16:53:22.832525+09:00
TABLE SYS.WRP$_REPORTS: ADDED INTERVAL PARTITION SYS_P241 (5600) VALUES LESS THAN (TO_DATE(' 2025-05-02 01:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
TABLE SYS.WRP$_REPORTS_DETAILS: ADDED INTERVAL PARTITION SYS_P242 (5600) VALUES LESS THAN (TO_DATE(' 2025-05-02 01:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
TABLE SYS.WRP$_REPORTS_TIME_BANDS: ADDED INTERVAL PARTITION SYS_P245 (5599) VALUES LESS THAN (TO_DATE(' 2025-05-01 01:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
2025-05-01T16:56:18.118892+09:00
Resize operation completed for file# 3, fname /u01/app/oracle/oradata/V19M/sysaux01.dbf, old size 716800K, new size 727040K
2025-05-01T16:56:18.176886+09:00
PDB01(3):Resize operation completed for file# 10, fname /u01/app/oracle/oradata/V19M/PDB01/sysaux01.dbf, old size 481280K, new size 491520K
2025-05-01T16:56:36.849266+09:00
PDB02(4):TABLE AUDSYS.AUD$UNIFIED: ADDED INTERVAL PARTITION SYS_P248 (131) VALUES LESS THAN (TIMESTAMP' 2025-06-01 00:00:00') ★PDB02 の出力
2025-05-01T17:06:21.008185+09:00
PDB02(4):Resize operation completed for file# 14, fname /u01/app/oracle/oradata/V19M/PDB02/sysaux01.dbf, old size 481280K, new size 491520K
3. ADRのディレクトリ構成とパス
OracleはADR配下にすべてのログを配置します。
$ORACLE_BASE/diag/
├── rdbms/
│ └── <DB名>/
│ └── <インスタンス名>/
│ ├── alert/ ← XML形式ログ
│ ├── trace/ ← トレース・アラートログ(.trc/.log)
│ └── incident/
└── tnslsnr/
└── <ホスト名>/
└── <リスナー名>/ ← リスナーログ
4. アラートログ確認方法(例:CDB1)
$ tail -f $ORACLE_BASE/diag/rdbms/cdb1/cdb1/trace/alert_cdb1.log
※ ここにPDBの起動・クローズ、ユーザー作成、ORAエラーなどすべてが記録される。
💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?
Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?
5. adrciコマンドの活用
ADRCIを使えば、CUI環境でも迅速にログ確認が可能です。
$ adrci
ADR base = "/u01/app/oracle"
adrci> show alert -tail 20
adrci> show incident
adrci> show trace
ADRホームの一覧
adrci> show homes
diag/rdbms/cdb1/cdb1
diag/tnslsnr/host/listener
6. なぜPDBごとにログがないのか?
PDBは独立したインスタンスではないため、バックグラウンドプロセスを持ちません。ログ出力の主体であるプロセス(PMON, SMON, DBWなど)はCDBインスタンスに属しており、CDB側で一括管理される設計です。
| 項目 | CDBインスタンス | PDB |
|---|---|---|
| バックグラウンドプロセス | あり | なし |
| アラートログ | あり | なし(CDB側に出力) |
| トレースファイル | あり | なし |
7. よくある誤解と注意点
| 誤解 | 正しい理解 |
|---|---|
| PDBの中にもalertログがあるはず | PDB操作ログはCDBのアラートログに出力される |
| 各PDBが独自にトレースを出力すると思っていた | トレースはCDBインスタンスのプロセスによって生成される |
| PDB障害時はPDBディレクトリを見に行くべき | CDBのtrace/alert_cdb1.logなどを確認する |
まとめ
| 項目 | 内容 |
|---|---|
| ADRの役割 | ログ・障害・インシデントの一元管理 |
| ログの保存場所 | CDBインスタンス単位(PDBには独立ログなし) |
| ログの確認手段 | adrciやtailコマンドでCDBインスタンスのログを参照 |
| PDBでの操作や障害の記録先 | CDBインスタンスのアラートログに一元出力される |
[参考]
4 CDBの作成および構成




コメント