Knowledge Catalog(旧称 Dataplex Universal Catalog)を使用すると、マネージド コネクタを使用して Oracle データベースからメタデータを抽出してインポートできます。その後、カタログ化された他のデータとともに Oracle アセットを検索して検出し、大規模言語モデル(LLM)ワークロードのコンテキストを取得できます。
このコネクタは、オンプレミス、 Google Cloud、またはその他のクラウド環境でホストされている Oracle インスタンスをサポートしています。コネクタの仕組みの詳細については、メタデータ コネクタについてをご覧ください。
始める前に
Oracle からメタデータをインポートする前に、次のタスクを完了します。
- 必要なロールと権限を付与します。
- Dataplex API と BigQuery Data Transfer Service API を有効にします。
- Oracle の前提条件を満たします。
- ネットワークの前提条件を満たします。
IAM のロールと権限
Knowledge Catalog コネクタジョブを作成して管理するには、Knowledge Catalog と BigQuery Data Transfer Service の権限を付与する Identity and Access Management(IAM)ロールが必要です。
Oracle コネクタの構成に必要な権限を取得するには、管理者に次の IAM ロールを付与するよう依頼してください。
- エントリ グループを作成、管理するには: プロジェクトに対する Dataplex Catalog 管理者(
roles/dataplex.catalogAdmin)、Dataplex Catalog 編集者(roles/dataplex.catalogEditor)、または Dataplex エントリ グループ オーナー(roles/dataplex.entryGroupOwner)。 - BigQuery Data Transfer Service 転送ジョブを作成して管理する: プロジェクトに対する BigQuery 管理者(
roles/bigquery.admin)。 - Cloud Logging でログを表示するには: プロジェクトに対するログビューア(
roles/logging.viewer)。
さらに、BigQuery Data Transfer Service サービス エージェント(service-PROJECT_NUMBER@gcp-sa-bigquerydatatransfer.iam.gserviceaccount.com)に dataplex.entryGroups.import 権限または Dataplex エントリ グループ インポータ(roles/dataplex.entryGroupImporter)ロールを付与する必要があります。このロールは、プロジェクト レベルまたはエントリ グループ レベルで付与できます。
ロールの付与の詳細については、アクセスの管理をご覧ください。
API を有効にする
Dataplex API と BigQuery Data Transfer Service API を有効にします。
Oracle の前提条件
Oracle 転送の前提条件を満たしていることを確認します。詳細については、BigQuery Data Transfer Service ドキュメントの Oracle の前提条件をご覧ください。
BigQuery Data Transfer Service の前提条件に加えて、Oracle インスタンスは次の要件を満たす必要があります。
最小バージョン:
typeやparentContainerなどのデータベース メタデータ属性をサポートするには、Oracle バージョン 12 以降が必要です。最小権限: データベース ユーザーに次の権限を付与する必要があります。
基本権限(すべての構成に必要):
GRANT SELECT_CATALOG_ROLE TO USER_NAME; GRANT CREATE SESSION TO USER_NAME; GRANT SELECT ON SYS.COL$ TO USER_NAME;特定のスキーマにアクセスする権限(Oracle バージョン 23 以降):
GRANT SELECT ANY TABLE ON SCHEMA TARGET_SCHEMA TO USER_NAME; GRANT EXECUTE ANY PROCEDURE ON SCHEMA TARGET_SCHEMA TO USER_NAME; GRANT EXECUTE ANY TYPE ON SCHEMA TARGET_SCHEMA TO USER_NAME; GRANT ALTER ANY TRIGGER ON SCHEMA TARGET_SCHEMA TO USER_NAME;他のすべてのスキーマにアクセスする権限:
GRANT SELECT ANY TABLE TO USER_NAME; GRANT EXECUTE ANY PROCEDURE TO USER_NAME; GRANT EXECUTE ANY TYPE TO USER_NAME; GRANT ALTER ANY TRIGGER TO USER_NAME;次のように置き換えます。
USER_NAME: 構成するデータベース ユーザー。TARGET_SCHEMA: アクセスする Oracle スキーマの名前。
ネットワーキングの前提事項
プライベート ネットワーク内のプライベート IP アドレスを使用して外部データベースまたはサードパーティのクラウド データソースに安全に接続する場合は、BigQuery Data Transfer Service がデータベースにアクセスできるように、Private Service Connect を介した接続用のネットワーク アタッチメントが必要です。
パブリック IP アドレスを使用してオンプレミス環境またはクラウドホスト型インスタンスに接続する場合は、ネットワーク アタッチメントは必要ありません。
Oracle コネクタを構成する
Google Cloud コンソールまたは API を使用して Oracle コネクタを構成します。
コンソール
Google Cloud コンソールで、[Knowledge Catalog] ページに移動します。
ナビゲーション メニューの [管理] セクションで、[コネクタ] をクリックします。
[Add connection] をクリックします。
[コネクタ] リストで、[Oracle] カードを選択します。
[データソースの詳細] セクションで、Oracle インスタンスの接続の詳細を指定します。
- [ネットワーク アタッチメント] で、必要に応じて既存のネットワーク アタッチメントを選択するか、作成します。
- [ホスト]、[ポート]、[データベース名]、[接続タイプ]、[ユーザー名]、[パスワード] を入力します。
- TLS を使用する場合は、[TLS モード] を選択し、[信頼できる PEM 証明書] を指定します。詳細については、TLS 構成をご覧ください。
- [インポートする Oracle メタデータ オブジェクト] で、[参照] をクリックしてオブジェクトを選択します。
[宛先の設定] セクションで、次の操作を行います。
- [参照] をクリックし、インポートしたメタデータを保存する既存の Knowledge Catalog エントリ グループを選択するか、[新しいエントリ グループを作成] をクリックします。
- エントリ グループの権限を今すぐ設定するか、後で設定するかを選択します。ユーザーがインポートされたメタデータを表示できるように権限を設定することをおすすめします。プロジェクト レベルで BigQuery Data Transfer Service サービス エージェント(
service-PROJECT_NUMBER@gcp-sa-bigquerydatatransfer.iam.gserviceaccount.com)に Dataplex エントリ グループ インポータ(roles/dataplex.entryGroupImporter)ロールまたはdataplex.entryGroups.import権限を付与していない場合は、エントリ グループ レベルで付与する必要があります。
[コネクタ構成名] セクションの [表示名] に、メタデータのインポート ジョブの名前を入力します。
[スケジュール オプション] セクションで、メタデータ インポート ジョブの頻度を構成します。[オンデマンド] を選択した場合、ジョブは手動でトリガーした場合にのみ実行されます。
省略可: [通知オプション] セクションで、ジョブの失敗に関するメール通知または Pub/Sub 通知を構成します。
省略可: [詳細オプション] セクションで、暗号化設定を構成します。顧客管理の暗号鍵(CMEK)を選択すると、Knowledge Catalog メタデータ インポート ジョブを開始する前にステージングされた一時データの暗号化に鍵が使用されます。宛先の Knowledge Catalog エントリ グループのメタデータの暗号化には使用されません。
[保存] をクリックします。
REST
projects.locations.transferConfigs.create メソッドを使用します。TransferConfig リソースで、次のフィールドを構成します。
dataSourceIdフィールドを"oracle"に設定します。metadataDestinationフィールドで、dataplexConfigurationオブジェクトにターゲット Knowledge Catalog エントリ グループのリソースパスを入力します。projects/<var>PROJECT_ID</var>/locations/<var>LOCATION</var>/entryGroups/<var>ENTRY_GROUP_ID</var>
ジョブを作成すると、Knowledge Catalog は構成に従って最初の実行をスケジュールします。手動で開始することもできます。
Oracle メタデータを検索して表示する
Google Cloud コンソールで、Knowledge Catalog の [検索] ページに移動します。
[フィルタ] パネルで、[プロジェクト]、[システム]、[タイプ エイリアス] セクションを使用して、Oracle アセットをフィルタできます。[システム] セクションで、[インポートされたコンテキスト] を選択します。このフィルタを選択すると、[マネージド コネクタ] サブセクションが開きます。[Oracle] を選択して、すべての Oracle メタデータをフィルタします。
検索フィールドを使用して検索クエリを実行できます。キーワード検索または自然言語検索を実行できます。たとえば、キーワード検索ですべての Oracle テーブルを表示するには、「
system=ORACLE AND type=TABLE」と入力します。リソースの検索の詳細については、Knowledge Catalog でリソースを検索するをご覧ください。検索フィールドで使用できる式の詳細については、Knowledge Catalog の検索構文をご覧ください。
LookupContext API を使用して、特定の Oracle リソースの LLM コンテキストを取得することもできます。
次のステップ
- コネクタジョブを管理する方法を学習する。