DBMS_CATALOGパッケージ

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

  • カタログのマウントとアンマウント

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

    ノート

    カタログの作成または更新時に、文字、数字およびアンダースコアのみを使用して、これらのプロパティ(カタログ名、データベース・リンク名、スキーマ名、表名および列名)を指定します。これらは大/小文字が区別されず、マルチバイト文字はサポートされません。

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

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

    Autonomous AI Databaseからカタログを削除またはデタッチします。

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

    • 通常データ型とCLOBデータ型の両方をサポートするように、カタログ、スキーマまたは表のプロパティの値を更新します。

  • 資格証明管理
    マウントされたカタログには、0個以上の必要な資格証明が含まれます。これらは、カタログを使用する前に指定する必要がある資格証明です。たとえば、Apache Icebergカタログには、通常、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: 特定の共有受信者のカタログへのアクセス権を付与または取り消し、カタログ・データを表示または変更できるユーザーを制御することで、アクセス権限を管理します。