※ 本記事は、Pruthvi Raj Padthe, Luis Rivas, Abhi Karによる”Query Oracle Database Synonyms Through AI Data Platform External Catalogs“を翻訳したものです。

2026年11月1日

Oracle Databaseを扱うチームは、シノニムを使って、表、ビュー、マテリアライズドビューに、アプリケーションが継続して使える安定した別名を付けています。参照先が変わっても、利用側のクエリは同じオブジェクト名を使い続けられます。

Oracle AI Data Platform(AIDP)の外部カタログは、Oracle Autonomous AI Lakehouseのデータソースから、サポート対象のシノニムを検出し、クエリできます。シノニムは、その列情報とともにAIDPカタログに表示されます。SQLノートブックでは、他のカタログオブジェクトと同じ3つの要素からなる名前で参照します。AIエージェントのSQLツールでは、ツールの設定でカタログとスキーマを選択します。AI Data Platformは、メタデータを同期し、行データの別の永続コピーを作成せずに、データソースへクエリします。

図1:AIDPカタログでは、検出されたプライベートシノニムがOAX_USERスキーマの下に、列とデータ型を含めて表示されます。

シノニムのサポートが重要な理由

シノニムがサポートされていない場合、外部カタログには参照先のテーブルやビューが表示されても、データベースユーザーやアプリケーションが使い慣れた安定した名前は表示されないことがあります。シノニムのサポートにより、このデータベース上の取り決めを維持します。AI Data Platformは、オブジェクトをシノニムとして記録し、クエリ計画のために列情報を取得し、シノニム名を使ってAutonomous AI Lakehouseからソースデータを読み取ります。

Fusion Data Intelligence

シノニムのサポートにより、別の永続コピーを用意したり、OAX_USER経由で公開される使い慣れた業務オブジェクト名を置き換えたりせずに、AI Data Platformの分析やエージェント型ワークロードでFusion Data Intelligenceのデータを利用できます。アナリストは、SQLノートブックで、利用可能な顧客、財務、調達、人員のデータを調べられます。データエンジニアは、そのデータを他の企業データソースと組み合わせ、傾向、例外、業務のパフォーマンスを調査することもできます。

エージェント開発者は、あらかじめ定義したパラメータ付きSQLツールで、同じサポート対象のシノニムを利用できます。これらのツールは、サポート対象のシノニムに読み取り専用でアクセスし、業務上の質問に答えたり、ワークフローに必要な文脈を提供したりします。たとえば、DW_CUSTOMER_LOCATION_Dを使い、国別に顧客の請求先所在地を検索するツールを作れます。このツールでは、エージェント自身がSQLを生成するのではなく、開発者が定義したSQLクエリに、実行時のパラメータ値を渡します。

図2:AIエージェントのSQLツールで、実行時パラメータcountry_codeを使用し、Fusion Data IntelligenceのシノニムDW_CUSTOMER_LOCATION_Dにクエリするよう設定しています。

SQLツールで、Fusion Data Intelligenceの外部カタログとOAX_USERスキーマを選択し、あらかじめ定義したOracle SQLクエリでシノニムを参照します。同じ事前定義済みのシノニムは、カタログ名で修飾した名前を使うことで、Spark SQLノートブックでの対話的な分析にも利用できます。fdi_catalogを、自分の外部カタログ名に置き換えてください。

SELECT *
FROM fdi_catalog.OAX_USER.DW_CUSTOMER_LOCATION_D
WHERE COUNTRY_CODE = ‘US’
ORDER BY CUSTOMER_LOCATION_ID
LIMIT 10;

各ワークロードで利用できるサポート対象オブジェクトは、その環境で有効になっているFusion Data Intelligenceのコンテンツと、OAX_USERに付与された権限によって決まります。

AI Data Platformでのシノニムの処理

外部カタログの作成時と、その後のメタデータ更新時に、AI Data Platformは、接続先のAutonomous AI Lakehouseでサポート対象のシノニムを検出します。さらに、AIDPカタログに列名とデータ型を表示するために必要なメタデータを取得します。各オブジェクトの種類は、シノニムとして保持されます。ユーザーがシノニムにクエリすると、AI Data Platformは、そのシノニム名を使ってソースデータを読み取ります。Autonomous AI Lakehouseは、シノニムを実際のテーブル、ビュー、マテリアライズドビューに解決し、ソースの読み取りを実行して、結果をAI Data Platformに返します。

AI Data Platform経由のシノニムへのアクセスは、読み取り専用です。Oracle Databaseのシノニムは、通常、データベース権限が許せばデータ変更にも使用できます。しかし、AI Data Platformは、シノニムと識別されたカタログオブジェクト経由の書き込みや削除をブロックします。シノニム自体が権限を与えることはありません。Autonomous AI Lakehouseは、外部カタログに設定されたデータベースアカウントに基づいて、アクセス権を評価します。

プライベートシノニムとパブリックシノニムへのクエリ

SQLノートブックのクエリでは、catalog.schema.objectという3つの要素からなる名前を使用します。プライベートシノニムとパブリックシノニムは、カタログ内の異なるスキーマに表示されます。

シノニムの種類カタログのスキーマクエリでの参照例
プライベート所有者のスキーマdemo_catalog.ANALYTICS.ORDERS_READ
パブリックDefaultdemo_catalog.default.PUBLIC_ORDERS_READ

AIDPカタログは、対象となるパブリックシノニムをDefaultの下に表示します。ノートブックのSQLでは、catalog.default.synonym_nameを使用します(図3)。Oracleのシノニム解決では、この仮想的な名前空間はPUBLIC所有者に対応しており、データベーススキーマの名前が変更されたわけではありません。この場合、コネクタはdefaultの大文字と小文字を区別しないため、画面上のラベルのようにDを大文字にする必要はありません。このルールは、引用符で囲んだ識別子には適用されません。

図3:AIDPカタログではパブリックシノニムの名前空間がDefaultと表示され、SQLノートブックではcatalog.default.synonym_nameでシノニムを参照します。

簡単な実行手順

この独立した例では、Fusion Data Intelligenceの例とは別に、検証後に破棄できるANALYTICSスキーマを使用します。シノニムのサポートが有効な、サポート対象のAI Data Platform環境、外部カタログを作成または更新する権限、SQLノートブック用のコンピュートを用意してください。ソース側のアカウントには、CREATE TABLE権限とCREATE SYNONYM権限、および表領域の割り当てが必要です。カタログ接続用アカウントは、参照先テーブルを読み取れる必要があります。

  1. ANALYTICSとしてAutonomous AI Lakehouseに接続し、以下のOracle SQLを実行して、ソースのシノニムを作成、確認します。同じオブジェクト名がまだ使われていない、新しいテスト用スキーマを使用してください。

CREATE TABLE SALES_ORDERS (
ORDER_ID NUMBER PRIMARY KEY,
ORDER_TOTAL NUMBER(12, 2)
);
INSERT INTO SALES_ORDERS (ORDER_ID, ORDER_TOTAL)
VALUES (1001, 149.95);
COMMIT;
CREATE SYNONYM ORDERS_READ FOR SALES_ORDERS;
SELECT ORDER_ID, ORDER_TOTAL FROM ORDERS_READ;

  • demo_catalogという名前のAutonomous AI Lakehouse外部カタログを作成するか、ANALYTICSを含む既存のカタログを更新します。カタログの作成とメタデータの収集は別の処理なので、更新ジョブが終了するまで待ってください。
  • AIDPカタログのANALYTICSの下にORDERS_READが表示されることを確認し、Spark SQLノートブックで次のクエリを実行します。カタログ名やスキーマ名が異なる場合は、実際の名前に置き換えてください。

SELECT ORDER_ID, ORDER_TOTAL
FROM demo_catalog.ANALYTICS.ORDERS_READ;

どちらのSELECT文も、ORDER_IDが1001、ORDER_TOTALが149.95の1行を返すはずです。これは、上で挿入したサンプルデータに対する期待結果です。

サポートされる動作と制限

  • サポート対象のユースケースは、AIDPカタログでの検出、SQLノートブックでのクエリ、AIエージェントに接続された事前定義済みのOracle SQLツールです。
  • サポート対象の参照先は、ローカルのテーブル、ビュー、マテリアライズドビューを直接参照するシノニムです。
  • データベースリンクを使用するシノニム、シノニムの連鎖、表形式でない参照先は、検出のサポート範囲外です。
  • プライベートシノニムは所有者のスキーマの下に表示されます。対象となるパブリックシノニムはDefaultの下に表示されます。
  • 新しいシノニムの検出や変更されたメタデータの同期には、カタログを更新してください。
  • クエリには、外部カタログ接続用アカウントがソース側で持つ権限が、引き続き適用されます。
  • AI Data Platformは、検出したシノニムを読み取り専用のカタログオブジェクトとして扱います。

要点

Oracle Databaseのシノニムをサポートすることで、データの別コピーを用意せずに、AIDPカタログ、SQLノートブック、事前定義済みのAIエージェントSQLツールから、安定したOracleオブジェクト名を利用できます。ノートブックの3要素の名前では、プライベートシノニムには所有者のスキーマを、対象となるパブリックシノニムにはdefaultを使用します。AI Data Platformは各オブジェクトをシノニムとして保持し、ソース側の権限に従い、シノニムと識別されたカタログオブジェクト経由の書き込みをブロックします。

関連資料

AI Data Platformの外部カタログ • AI Data Platformのエージェントツール • Fusion Data IntelligenceのOAX_USER接続の設定 • Oracle DatabaseのCREATE SYNONYMリファレンス