Oracle Databaseの運用管理 - Enterprise Manager vs. Database Management - 

Oracle Databaseの運用管理ツールとしては、伝統的に<b><font color=green>Oracle Enterprise Manager(EM)</font color></b>がよく使われています。Diagnostic PackやTuning Packといった有償ライセンス名でもお馴染みですが、GUIでOracle Databaseのリソースやパフォーマンス監視、様々な運用管理を実現する最強のツールであることは間違いありません。
一方で、このEMをOCIのクラウド版として継承した<b><font color=teal>Database Management </font color></b>というサービスがあります。EMの機能の中でも特にパフォーマンス監視の部分を中心に機能が移植され、かつOCIサービスとネイティブに連携するクラウド独自の機能も開発されています。
両社ともオンプレ及びクラウドのデータベースを対象に使うこともできるため共通点も多いので、ここではそれぞれの特徴やユースケースについて考察したいと思います。

## Enterprise Manager
EMは、データベースだけでなくミドルウェアやアプリケーション、Exadataなども幅広くインフラを対象とした[エンタープライズ運用管理製品](https://www.oracle.com/jp/enterprise-manager/)です。対象とするターゲット数によって必要な[ハードウェア要件](https://docs.oracle.com/cd/G27582_01/embsc/oracle-enterprise-manager-deployment-prerequisites.html#GUID-8A43781B-83E3-4BB9-A3DA-A0F6BA9823D8)は異なり、リポジトリとなるOracle Databaseの要件も加味する必要があります。基本的にインストールや設定は自身で行わなければなりませんが、OCIの場合はマーケットプレイスから簡単にデプロイすることも可能です。また、使用する機能によって[ライセンス](https://faq.oracle.co.jp/app/answers/detail/a_id/2664/~/oracle-enterprise-manager%E3%81%AE%E6%9C%89%E5%84%9Fpack%E8%A3%BD%E5%93%81%E3%81%AE%E3%83%A9%E3%82%A4%E3%82%BB%E3%83%B3%E3%82%B9%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6%E8%A9%B3%E3%81%97%E3%81%8F%E6%95%99%E3%81%88%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82)が細かく分かれています。最新は2024年12月にリリースされた24aiです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/98d97772-4652-42b5-8252-64ce51b6d450.png)

## Database Management
Database Managementは、OCIで主にOracle Databaseを対象にした[パフォーマンス監視サービス](https://www.oracle.com/jp/manageability/database-management/)です。EMのような管理サーバーは必要とせず、SQLモニタリングやSQLチューニングなどのEMのパフォーマンス監視機能が中心です。また、OCI MonitoringやOps InsightsなどのOCIの他サービスとネイティブ連携した機能を有しており、EMにはない深い分析や洞察を提供しています。詳しくは[こちら](https://qiita.com/Western24/items/bac8190ee08a8b1cf339)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/3749ca40-26fc-4433-8112-cc26ebbc9025.png)


## Enterprise ManagerとDatabase Managementの比較
では、それぞれの製品が提供している機能画面を比較してみます。
こちらは、EMコンソールから操作できるDB管理のメニューです。ほとんどのDB管理操作がGUIから実行することが可能です。DB Managementの機能で提供している部分を赤枠で囲っています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/e3669724-e67b-4dde-90f9-0c614e15734e.png)
以下は、DB Managementのコンソールです。EMで提供しているパフォーマンスと一部の管理機能が左側のメニューから操作可能です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/1b6c0cd6-209a-45e9-a03e-26104eb9a35e.png)

---

パフォーマンスを監視する機能は、パフォーマンス・ハブという専用の画面が提供されるのですが、EMとDB Managementそれぞれが提供している機能はほぼ同じです。(上がEM, 下がDB Management)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/e91ac38d-a319-4dcc-912c-3795043e7468.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/d73707dd-d97f-4bf9-819b-19cbdd757db0.png)

---
SQLチューニングを実行する手順として、SQLチューニング・セット(STS)の実行 -> SQLチューニング・アドバイザの実行 -> アドバイザの結果参照までの流れは多少画面の違いはあれどほぼ同じです。アドバイス結果は以下のように表示されます。DB Managementは一部日本語未対応。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/9f5a75b2-55a7-4288-a4de-33c47dcef241.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/d7b02a01-69df-473b-ae20-f550b22551fb.png)

---
DBユーザーの管理画面。最大の違いは、EMは作成や削除などの管理操作ができる。DB Managementは参照のみ。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/b9146cba-d905-4415-b620-a3173d78a2d7.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/d99c36be-bd9c-4733-9936-3501112da700.png)

それぞれの機能差異をざっくりとまとめてみます。

|  | Enterprise Manager | Database Management |
| ---- | ---- |---- |
| 専用H/W |  必要 | 必要なし |
| S/Wインストール・設定 |  必要 | 必要なし |
| 管理エージェント導入 | 基本的に必要 | Cloud Databaseは必要なし |
| DBの稼働監視 |  〇| 〇 |
| CPU・メモリ監視 |  〇| 〇 |
| メトリック監視・アラート通知 |  〇| 〇 |
| ASH分析, SQLモニタリング |  〇| 〇 |
| ADDMスポットライト, ワークロード |  〇| 〇 |
| SQL計画管理・チューニング |  〇| 〇 |
| SQL履歴 |  ×| 〇(24ai以上) |
| AWRレポート生成 |  〇| 〇 |
| AWRエクスプローラー |  ×| 〇 |
| 初期化パラメータ管理 |  〇| △(参照のみ) |
| スキーマ管理 |  〇| △ (ユーザー参照のみ) |
| Oracle記憶域管理 |  〇| △ (表領域のみ) |
| バックアップ・リカバリ管理 |  〇| △ (バックアップ参照のみ) |
| SQLジョブ管理 |  〇| 〇 |
| DBセッション管理 |  〇| 〇 |
| DBセキュリティ機能管理 |  〇| × |
| 脆弱性管理 |  ×| 〇 |
| アラートログ参照 | 〇 | 〇 |
| ログ管理 | Logging Analytics連携で実現 | Logging Analytics連携で実現 |
| リソース予測 |  Ops Insights連携で実現|  Ops Insights連携で実現 |
| 費用 | EE+Tuning, Diagnostic Packライセンス (最短契約期間: 1年～)| OCI価格 (課金単位: 1時間～) |


## それぞれのユースケース
機能比較してみると、<b><font color=teal>Database Management</font color></b>が<b><font color=green>Enterprise Manager</font color></b>を完全に置き換えるサービスではないということが分かります。Enterprise Managerのヘビーユーザーには、機能的には物足りないところも多いのではないかと思います。
ただ、DBチューニングでEMをちょっと使いたかったけど、H/Wから環境構築、ライセンス費用が別途必要など、使い始めるまでに準備が多く断念したようなユーザーには、<font color=coral>手軽に使いたい時だけ使えるDatabase Management</font color>がひとつの解決策になります。対象がオンプレミスのOracle Database、OCIのOracle Cloud Databaseで求められるユースケースは様々ですが、実際にあった例を列挙してみたいと思います。

- オンプレミスで稼働するWEBアプリケーションのパフォーマンス問題。APかDB側の問題の切り分けとDBのパフォーマンス・ボトルネックの解決のために、Database ManagementとAPMのクラウドサービスを使用した。<font color=teal>平常時は、無効化してコストが発生しないようにしている。</font color>
- オンプレミスで稼働させているEMサーバーの更新時期が来たので、H/W + EMの保守運用とDB Managementをコスト比較して、クラウドに移行した。<font color=darkgreen>EMの管理機能は、保守期間中は大して使用していない</font color>ことが分かりDB Managementだけで十分と判断。
- OCIのExaDB-Dの運用管理のために、Enterprise Managerを採用。<font color=darkgreen>Enterprise Edition以上は、Tuning/Diagnostic、Real Application Testingなどのすべての機能が無条件で使用できる</font color>ので、GUIですべて網羅できるEnterprise Managerが最適と判断。インストール・環境構築もマーケットプレイスからのクリック・デプロイで簡単だった。
- 保守工数の削減を目的として、クラウドのDatabase Managementを採用。H/WやS/Wの環境周りの作業工数を削減し、<font color=teal>クラウドを最大限活用することでエンジニアリソースの最適化と集中</font color>を行った。

どちらを使用するか、あるいはGUIは使わずSQLのみで運用監視するかは、ユーザーのDBスキルやシステム環境にも依存するかと思います。ただ、Oracle Databaseのパフォーマンス・チューニングという観点でいえば、EMまたはDatabase ManagementのGUIコンソールを使うことが最も効率的になりますので、ぜひ一度試してみて頂ければと思います。