Cloud Service
OCI Database Management
データベースの性能劣化や設定ドリフトを一元的に可視化し、問題を素早く切り分け。OCI Database Management は OCI 上やオンプレミスの DB をフリート単位で監視・診断・チューニングするマネージドサービス。AWS の DevOps Guru for RDS や Performance Insights に近い位置づけ。
- 1.OCI/オンプレミスの DB をフリートで監視・診断・チューニングする統合管理基盤。
- 2.性能ハブで待機イベントや SQL を分析し、ボトルネックを素早く特定する。
- 3.OCI Monitoring とは別レイヤーで、DB 内部の深い指標と診断を担う。
解決する課題
データベースに個別ログインして SQL を叩きながら性能問題を追う属人的な運用から脱却し、多数の DB を横断で可視化・診断できます。
- 多数の DB の稼働状況・性能・構成を、一つの画面で横断的に把握したい
- 性能劣化が起きたとき、どの SQL・待機イベントがボトルネックかを素早く特定したい
- OCI 上の DB だけでなく、オンプレミスや他クラウドの DB も同じ仕組みで管理したい
- 設定のドリフトやコンプライアンス逸脱を検知し、安全な状態を保ちたい
- DB 管理基盤そのものを自前で構築・運用したくない(監視サーバーやエージェント基盤の管理を避けたい)
主要概念と用語
- フリート(Fleet): 管理対象 DB の集合を一つのグループとして扱う単位。多数の DB を横断で一覧・比較・集計できる
- マネージドデータベース(Managed Database): Database Management に登録し、監視・診断・管理の対象とした個々の DB。Oracle Database(Base Database、Exadata、Autonomous Database、External/オンプレミス等)が対象
- External Database: OCI 外(オンプレミスや他環境)の DB を OCI のリソースとして登録したもの。コネクタ経由で接続し、OCI 上の DB と同様に管理する
- 管理エージェント(Management Agent): External Database やオンプレミス DB に接続するためのコレクタ。ホストにインストールし、DB へのアクセス経路を提供する
- 性能ハブ(Performance Hub): 待機イベント、アクティブセッション、トップ SQL を時系列で分析する中心画面。ASH(Active Session History)相当の情報を可視化する
- SQL チューニングアドバイザ(SQL Tuning Advisor): 高負荷 SQL を解析し、インデックスや SQL プロファイルなどの改善案を提示する診断機能
- AWR(Automatic Workload Repository): Oracle DB が内部に蓄積する性能スナップショット。Database Management はこの情報を活用して傾向分析やレポートを行う
- 管理ダッシュボード/フリートサマリ: フリート全体の CPU、ストレージ、稼働状態などを集約表示し、外れ値の DB を見つけやすくするビュー
- Diagnostics & Management(診断と管理): 性能診断・SQL 分析・構成管理など踏み込んだ機能を含む有償の管理レベル。基本的な監視のみの軽量レベルと区別される
仕様・制限・クォータ
- 管理レベルが複数ある: 基本的な監視のみの軽量な管理と、性能ハブ・SQL チューニング・AWR 連携などを含む踏み込んだ管理(Diagnostics & Management)が分かれており、利用できる機能と課金が異なる
- 対象 DB の種類が幅広い: Base Database、Exadata、Autonomous Database、External(オンプレミス/他環境)の Oracle Database を管理できる。種類により利用可能な機能の範囲が異なる
- External/オンプレミス DB には管理エージェントが必要: OCI 外の DB を登録するには、到達可能なホストに管理エージェントを配置し、DB への接続情報を設定する
- リージョン単位のサービスで、登録・診断データはそのリージョン内で扱う。複数リージョンにまたがる DB は設計で考慮する
- 接続情報と資格情報の管理が前提になる。DB へのモニタリング用ユーザーや、その資格情報を OCI Vault に保管して参照する構成が一般的
- 一部の高度な診断(AWR 連携や SQL チューニングアドバイザ等)は、対象 DB のエディションやライセンス要件に依存する場合がある
OCI Monitoring はインスタンスや DB の外形的なメトリクス(CPU・ストレージ等)をしきい値で監視する土台、OCI Database Management は DB 内部の待機イベントや SQL レベルまで踏み込んで診断・チューニングする上位レイヤー、と整理すると混同しません。両者は補完関係にあります。
内部の仕組み
Database Management は、登録された各 DB へモニタリング用の接続を確立し、DB が内部に持つ性能情報(アクティブセッション、待機イベント、AWR スナップショット、SQL 統計など)を取得して、OCI のコンソール上で可視化・診断します。利用者は監視サーバーやリポジトリ DB を自前で構築する必要がありません。
- OCI 上の DB(Base Database、Exadata、Autonomous Database)は、サービス側の接続経路を通じて管理対象として登録される
- External/オンプレミス DB は、ホスト上の管理エージェントが DB への接続を仲介し、性能・構成情報を OCI へ橋渡しする
- 取得した情報は性能ハブで時系列に整理され、待機イベントの内訳やトップ SQL、アクティブセッションの推移として表示される
- 高負荷 SQL に対しては SQL チューニングアドバイザが解析を実行し、インデックス追加や SQL プロファイルなどの改善案を提示する
- フリート単位の集約ビューにより、多数の DB の中から性能やリソースで外れ値となっている DB を素早く見つけられる
DB の内部情報を取得するには、対象 DB 側に適切な権限を持つモニタリング用ユーザーを用意し、その資格情報を安全に参照できる構成が必要です。権限が不足すると性能ハブや診断が空振りします。資格情報は OCI Vault に保管し、平文での持ち回りを避けます。
設計パターン / ベストプラクティス
- 監視は二層で考える: 外形メトリクス(CPU・ストレージ・稼働)は OCI Monitoring のアラームで、DB 内部の性能診断は Database Management の性能ハブで、と役割を分けて両方を併用する
- フリートで横断管理: 環境やチームごとに DB をフリートにまとめ、サマリビューで外れ値の DB を継続的に拾う
- External DB も同じ土俵に乗せる: オンプレミスや移行途中の DB も管理エージェント経由で登録し、OCI 上の DB と同一の運用フローで扱う
- 資格情報は Vault へ集約: モニタリング用ユーザーのパスワードを Vault のシークレットとして管理し、ローテーション可能な状態にする
- チューニングは診断と一体で: 性能ハブで特定したトップ SQL に SQL チューニングアドバイザをかけ、改善案を検証してから適用する
- 管理レベルを使い分ける: 全 DB に踏み込んだ診断を有効化するのではなく、重要度に応じて軽量な監視と踏み込んだ管理を選び、コストと診断深度を両立させる
運用・監視
- DB が登録できない/接続できない: 接続文字列、モニタリング用ユーザーの権限、資格情報、ネットワーク到達性(プライベートエンドポイントやセキュリティリストの開放)を確認する
- 性能ハブにデータが出ない: 対象 DB のエディションや管理レベルが診断機能に対応しているか、モニタリング用ユーザーに必要な権限があるかを点検する
- External DB が切れる: 管理エージェントの稼働状況、エージェントから DB への到達性、認証情報の有効期限を確認する
- しきい値超えの自動通知が要る: Database Management 単体ではなく、OCI Monitoring のメトリクスとアラーム、Notifications を組み合わせて通知・自動対処を構成する
- 監査証跡: Database Management の設定変更などの API 操作は OCI Audit に記録される。誰が何を変更したかはこちらで追跡する
コスト
Database Management の課金は概ね管理対象 DB の数と管理レベルを基準に発生します。基本的な監視のみの軽量な管理と、性能診断・SQL チューニングまで含む踏み込んだ管理とで料金が異なり、後者ほど高機能・高コストになります。全 DB を一律に高機能で有効化するのではなく、重要度に応じて段階を選ぶのが最適化の中心です。
| コスト要素 | 課金の考え方 | 最適化のポイント |
|---|---|---|
| 管理対象 DB 数 | 登録して管理する DB の数に応じて課金 | 実際に診断が要る DB に絞って登録する |
| 管理レベル | 踏み込んだ診断ほど高機能で高コスト | 重要 DB のみ踏み込んだ管理にする |
| 管理エージェント | External DB 接続にエージェント基盤が必要 | エージェントを共用し台数を抑える |
| 運用コスト | 監視サーバー不要のマネージド | リポジトリ DB や監視基盤の運用工数を削減 |
セキュリティ
- IAM ポリシーで権限を最小化: DB の登録・閲覧・管理の権限を、必要なグループ/動的グループにのみ付与する
- 資格情報は Vault に保管: モニタリング用ユーザーのパスワードを OCI Vault のシークレットとして管理し、コードや設定への直書きを避ける
- 動的グループ + リソースプリンシパル: 管理エージェントや Functions が認証する際は、長期キーを埋め込まずインスタンスプリンシパル/リソースプリンシパルを使う(AWS の IAM ロール相当)
- 最小権限のモニタリングユーザー: 対象 DB 側のモニタリング用ユーザーには、診断に必要な読み取り権限のみを付与し、過剰な権限を与えない
- コンパートメントによる分離: 管理対象 DB やフリートをコンパートメント単位で分離し、チーム/環境ごとにアクセス境界を引く
- 役割分担の明確化: 「外形メトリクス」は OCI Monitoring、「API 操作の監査証跡」は OCI Audit、「DB 内部の診断・チューニング」は Database Management が担う。混同しない
モニタリング用ユーザーのパスワードや DB 資格情報を、エージェント設定やスクリプトへ平文で直書きするのは NG です。OCI Vault のシークレットとして保管し、動的グループ+リソース/インスタンスプリンシパルで参照すれば、鍵の管理・ローテーション・漏洩リスクを大幅に下げられます。
関連サービス・比較
外形的なメトリクスとアラームを担う OCI Monitoring が最も近い関連サービスです。Monitoring が DB の外側から見える指標をしきい値監視するのに対し、Database Management は DB の内部に踏み込んで待機イベントや SQL を診断します。AWS では Performance Insights や DevOps Guru for RDS が近い役割を担います。
| 観点 | OCI Database Management | OCI Monitoring |
|---|---|---|
| 主眼 | DB 内部の性能診断・SQL チューニング | 外形メトリクスのしきい値監視 |
| 対象 | Oracle Database のフリート | OCI リソース全般のメトリクス |
| 分析の深さ | 待機イベント・トップ SQL まで掘る | CPU・ストレージなど外形指標 |
| 診断機能 | 性能ハブ・SQL チューニングアドバイザ | メトリクスエクスプローラ・アラーム |
| 通知 | Monitoring と組み合わせて構成 | アラーム発火で Notifications へ |
| AWS の近い相当 | Performance Insights/DevOps Guru for RDS | Amazon CloudWatch |
ハンズオン / CLI例
# 前提: Database Management を利用可能にし、必要な IAM ポリシーを付与済みとする
# 0) 変数を用意
COMPARTMENT_OCID="ocid1.compartment.oc1..xxxx"
MANAGED_DB_OCID="ocid1.databasemanagementmanageddatabase.oc1..xxxx"
# 1) コンパートメント内の管理対象 DB(マネージドデータベース)を一覧する
oci database-management managed-database list \
--compartment-id "$COMPARTMENT_OCID" \
--limit 20
# 2) 特定のマネージド DB の詳細を取得する
oci database-management managed-database get \
--managed-database-id "$MANAGED_DB_OCID"
# 3) 対象 DB のユーザー一覧を取得する(診断・権限確認の起点)
oci database-management managed-database list-users \
--managed-database-id "$MANAGED_DB_OCID"
# 4) DB 上で動いているジョブ実行(アクティビティ)を確認する
oci database-management managed-database list-database-parameters \
--managed-database-id "$MANAGED_DB_OCID" \
--name "memory_target"
OCI Service
OCI Database Managementを実務で読む
TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。
解決すること
監視・オブザーバビリティ
比較で見る軸
クラウド: OCI / カテゴリ: 監視・オブザーバビリティ / 難易度: intermediate
導入後に効く点
性能ハブで待機イベントや SQL を分析し、ボトルネックを素早く特定する。
先に潰すリスク
サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。
- クラウド
- OCI
- カテゴリ
- 監視・オブザーバビリティ
- 難易度
- intermediate
- 関連資格
- —
- 設計柱
- operational / performance / reliability
判断チェックリスト
- 自社の用途が「監視・オブザーバビリティ / operational」に近いか確認する。
- 強みである「OCI/オンプレミスの DB をフリートで監視・診断・チューニングする統合管理基盤。」が本当に評価軸になるか確認する。
- 注意点の「サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。」を運用で吸収できるか確認する。
- 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
- 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
- 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。