Advanced Database & Application Migration (ADAM) は、Java アプリケーションからランタイムデータを収集し、どの機能に変換が必要かを評価するのに役立ちます。
Oracle データベースにアクセスする Java アプリケーションのみがサポートされています。非 Java アプリケーションおよび Oracle データベースにアクセスしないアプリケーションは分析できません。
仕組み
ADAM は、連携して動作する 2 つのコンポーネントを使用します。
Agent: 監視対象の各アプリケーションサーバにデプロイされます。アプリケーションの実行中に、SQL ステートメント、スキーマ、呼び出しスタック、システム情報、パフォーマンスメトリクス、および SQL ホットスポットをキャプチャします。
Collector: 専用サーバーにデプロイされます。1 つ以上の Agent からデータを受信し、非識別化して分析のために処理します。
まず Collector をデプロイし、次にアプリケーションサーバに Agent をデプロイします。Collector はサーバーとして機能し、1 ~ 20 個の Agent をサポートします。
ADAM が収集するデータ
| データ型 | 詳細 |
|---|---|
| SQL ステートメント | 収集され、マスクされます。リクエストパラメーターと戻り値は含まれません。 |
| 呼び出しスタック | データベースにアクセスするすべてのリクエストに対してキャプチャされます。 |
| パフォーマンス情報 | システムメトリックと SQL ホットスポット |
ADAM が収集しないデータ: モニタリングウィンドウ外で呼び出された API オペレーション、アプリケーションコードによって呼び出されない SQL トリガー、および非 Java アプリケーションからのデータベースリクエスト。
データ収集は読み取り専用であり、ご利用のアプリケーションまたはデータベースを変更しません。ピーク時には、メモリ使用量を制限するために収集が自動的に一時停止されます。
前提条件
Application Collector をデプロイする前に、ご利用の環境が以下の要件を満たしていることを確認してください。
デプロイ担当者: Java アプリケーションサーバの基本的な知識を持つ Java 開発者。
JDK バージョン: SUN JDK、Oracle JDK、または OpenJDK 1.6 以降。IBM JDK はサポートされていません。
サポートされているコンテナ: Tomcat、JBoss、および Oracle WebLogic。Docker イメージは Container Service for Kubernetes (ACK) クラスターにデプロイできます。
Collector サーバー:
JDK 1.6 以降
4 GB を超える Java 仮想マシン (JVM) メモリ
監視対象アプリケーションの数、モニタリング期間、および SQL ボリュームに比例したディスク容量。突然のデータスパイクがない場合、単一の監視対象アプリケーションは通常、7 日間で 1 GB 未満のデータを生成します。
このサーバーで本番アプリケーションを実行しないでください。オンラインワークロードとの干渉を避けるため、Collector はスタンドアロンサーバーにデプロイしてください。
アプリケーションサーバ (Agent ごと):
JDK 1.6 以降
300 MB 以上の JVM ヒープサイズ
Collector および Agent プロセスの両方に対するシステム操作権限。Unix または Linux では、以下のコマンドを実行して権限を付与します。
chmod -R 775 collector/
ネットワーク: アプリケーションサーバと Collector サーバーは、集中型データ非識別化のために相互に通信できる必要があります。
制限事項
| 制限事項 | 影響 |
|---|---|
| Oracle データベースのみがサポートされています。 | 非 Oracle データベースを使用するアプリケーションからの SQL ステートメントと呼び出しスタックはキャプチャできません。 |
| Java アプリケーションのみがサポートされています。 | 他の言語で記述されたアプリケーションは分析できません。非 Java コンポーネントには、別の評価アプローチを使用してください。 |
| モニタリングウィンドウはすべての定期的なタスクをカバーする必要があります。 | スケジュールされたジョブまたはバッチプロセスがモニタリングウィンドウ外で実行される場合、その SQL ステートメントと呼び出しスタックは収集されず、不完全な評価データになります。すべての定期的なタスクを含めるようにモニタリングウィンドウを延長してください。 |
| データベース関連以外のリクエストはキャプチャされません。 | データベースアクセスを伴わない API オペレーションおよびアプリケーションロジックは、コレクションの範囲外です。 |
| プログラムによって呼び出されない SQL トリガーは監視できません。 | プログラムによって呼び出されない SQL トリガーなどのプロシージャは監視できません。 |
Application Collector のダウンロード

解凍されたパッケージには、2 つのディレクトリが含まれています。
Collector: これを専用 Collector サーバーにデプロイします。
javaagent: このディレクトリを監視対象の各アプリケーションサーバにコピーし、アプリケーションとともにデプロイします。
負荷分散を使用する分散アプリケーションの場合、すべてのノードではなく、一部のマシンにエージェントをデプロイできます。