4 Oracle SQLcl MCPサーバーの使用
Oracle SQLcl Model Context Protocol (MCP)サーバーは、人工知能(AI)アプリケーションとのシームレスな通信を可能にすることで、Oracle Databaseとやり取する方法を変換します。
これにより、AIを利用したやり取りを通して、自然言語を使用してOracle Databaseに対する操作の実行、レポートの作成、問合せの実行が可能になります。Oracle SQLcl MCP Serverの機能を確認し、一般的なMCPクライアントでの使用方法について学習します。
注意:
大規模言語モデル(LLM)にデータベースへのアクセス権を付与すると、重大なセキュリティ・リスクが発生します。LLMでは、入力したデータを使用してレスポンスを生成するため、意図しない表や詳細な機密情報が誤って公開される可能性があります。
このようなリスクを軽減するには、次の予防措置を実施します:
- 最小限の権限の割当て: LLMで使用されるデータベース・ユーザー・アカウントを、そのタスクに必要最小限の権限で構成します。この手法により、LLMがアクセスできる内容が制限されます。
- 本番データベースへのアクセスの回避: LLMに本番データベースへの直接アクセスを付与しないでください。かわりに、サニタイズされた読取り専用レプリカまたは専用データ・サブセットを使用する必要があります。
- LLMアクティビティの監査: LLMによって実行された問合せを定期的に監査します。これにより、異常や制限付きデータへのアクセスの試行を検出できます。監査作業をサポートするために、SQLcl MCPサーバーには次の組込みモニタリング機能が用意されています:
- セッション・トラッキング: 使用中のMCPクライアントを
V$SESSION.MODULEに、LLMの名前をV$SESSION.ACTIONに移入します。 - アクティビティ・ロギング: すべてのやり取りおよびSQL実行を記録する
DBTOOLS$MCP_LOGという名前の表を作成します。 - 問合せの識別: SQLcl MCPサーバーのツールを介してLLMで生成されたすべての問合せには、ログで簡単に識別できるように
/* LLM in use ... */というコメントが含まれています。
- セッション・トラッキング: 使用中のMCPクライアントを