DBMS_CATALOGパッケージ

DBMS_CATALOGパッケージには、カタログ管理用の幅広いサブプログラムが含まれており、機能別にグループ化されています。

  • カタログのマウントおよびアンマウント:

    既存の接続(データベースへの既存のデータベース・リンクなど)をマウントするか、新しい接続を追加して外部システムを新しいカタログとして登録することで、Autonomous AI Databaseに新しいカタログを追加できます。

    カタログを有効化または無効化できます。
    ノート

    無効化されたカタログは、接続の詳細および現在のメタデータを保持しますが、更新されず、UIまたはAPIからはアクセスできません。

    自律型AIデータベースからカタログを削除またはデタッチします。

  • カタログ・プロパティ管理:
    ここで説明するサブプログラムを使用すると、システム内のカタログ、スキーマおよび表の様々なプロパティを取得および更新できます。具体的には、次の機能を提供します。
    • カタログ、スキーマまたは表のプロパティの値を取得します。大きなテキスト値をCLOB形式で処理するオプションも含まれます。

    • 標準データ型とCLOBデータ型の両方をサポートして、カタログ、スキーマまたは表のプロパティの値を更新します。

  • 資格証明管理:
    マウントされたカタログには、0個以上の必要な資格証明が含まれます。これらは、カタログを使用する前に指定する必要がある資格証明です。たとえば、アイスバーグ・カタログには、通常、2つの必要な資格証明があります。
    • ICEBERG_CREDENTIAL: Iceberg RESTカタログ・エンドポイントのコールに使用される資格証明。これは通常、ベアラー・トークン資格証明です。
    • DATA_STORAGE_CREDENTIAL: バケット内のIcebergファイルへのアクセスに使用される資格証明。
    必須資格証明は、指定する必要があるパラメータと考えることができます。ローカル資格証明は、ユーザーのスキーマ内の実際のCREDENTIALオブジェクトで、必要な資格証明の1つの役割を果たします。DBMS_CATALOG.MOUNT_ICEBERGcatalog_credentialdata_storage_credentialなどの引数を使用して、カタログをマウントするときにローカル資格証明を指定できます。後でSET_LOCAL_CREDENTIALをコールして指定することもできます。
    BEGIN
      -- Create a new credential
      DBMS_CLOUD.CREATE_CREDENTIAL('BUCKET_CREDENTIAL', ...);
    
      -- Make the new credential play the role of the required 'DATA_STORAGE_CREDENTIAL'
      DBMS_CATALOG.SET_LOCAL_CREDENTIAL(
        catalog_name => 'iceberg_cat',
        required_credential => 'DATA_STORAGE_CREDENTIAL',
        local_credential => 'BUCKET_CREDENTIAL');
    END;    
    GET_LOCAL_CREDENTIAL_MAPファンクションを使用すると、必須資格証明とローカル資格証明の間の現在のマッピングを確認できます。
    SELECT
       JSON_QUERY(dbms_catalog.get_local_credential_map('iceberg_cat'), '$' PRETTY)
    FROM dual;
      2    3  
    JSON_QUERY(DBMS_CATALOG.GET_LOCAL_CREDENTIAL_MAP('ICEBERG_CAT'),'$'PRETTY)
    ------------------------------------------------------------------------------------------------------------------------
    {
      "DATA_STORAGE_CREDENTIAL" : "BUCKET_CREDENTIAL",
      "ICEBERG_CREDENTIAL" : "UNITY_CRED"
    }
  • カタログEntity Management:
    ここにリストされているサブプログラムは、ストレージ・リンク、スキーマ、表およびその他のカタログ・オブジェクトの作成、取得および削除など、カタログ内の様々なエンティティの管理を指します。次の機能を提供します。
    • カタログにリンクされたクラウド・ストレージ・リンクを作成および削除します。

    • カタログ内で外部表を作成および削除します。

    • スキーマとそのコンテンツを作成および削除します。

    • オプションのフィルタリングを使用して、表、スキーマおよびその他のカタログ・オブジェクトのリストを取得します。

  • データ・アクセスとキャッシュ:
    この項では、データの問合せ、結果カーソルの管理、およびカタログ内のメタデータ・キャッシュの制御を処理する関数について説明します。次の機能が含まれています。
    • カスタマイズ可能なオプションを使用して、論理表のSELECT文を生成します。

    • カーソルをオープンして、論理表からデータをフェッチします。

    • データを最新の状態に保つために、カタログのメタデータ・キャッシュをフラッシュして事前に入力します。

  • 同期と共有:
    この項では、様々なシステムまたは環境間で一貫性のある最新のカタログおよびスキーマを管理および保守できるようにする機能について説明します。次の機能を提供します。
    • CREATE_SYNCHRONIZED_SCHEMAS: リモート・カタログ定義と同期されるローカル・スキーマをデータベースに作成し、ローカル環境にリモート・ソースが反映されるようにします。
    • DROP_SYNCHRONIZED_SCHEMAS:以前に同期された1つ以上のスキーマを削除します。
    • UPDATE_SYNCHRONIZED_SCHEMA_PROPERTY: CLOB形式の新しい値でプロパティを更新することで、同期スキーマのプロパティ(変更トラッキングや同期動作など)を変更します。
    • GRANT_TO_RECIPIENT & REVOKE_FROM_RECIPIENT: 特定の共有受信者のカタログへのアクセス権を付与または取り消し、カタログ・データを表示または変更できるユーザーを制御することで、アクセス権限を管理します。