DBMS_CLOUD_ADMINパッケージ

この項では、Autonomous AI Databaseで提供されるDBMS_CLOUD_ADMINサブプログラムについて説明します.

サブプログラム 説明
ATTACH_FILE_SYSTEMプロシージャ このプロシージャは、データベース上のディレクトリにファイル・システムをアタッチします。
CREATE_DATABASE_LINKプロシージャ このプロシージャは、ターゲット・データベースに対するデータベース・リンクを作成します。別のAutonomous AI Databaseインスタンスへのデータベース・リンク、Autonomous AI DatabaseではないOracle Databaseへのデータベース・リンク、またはOracle管理の異機種間接続を使用したOracle Database以外のデータベースへのデータベース・リンクを作成するオプションがあります。
DETACH_FILE_SYSTEMプロシージャ このプロシージャは、データベース上のディレクトリからファイル・システムをデタッチします。
DISABLE_EXTERNAL_AUTHENTICATIONプロシージャ このプロシージャは、Autonomous AI Databaseインスタンスの外部認証を無効にします。
DROP_DATABASE_LINKプロシージャ このプロシージャは、データベース・リンクを削除します。
ENABLE_EXTERNAL_AUTHENTICATIONプロシージャ このプロシージャにより、ユーザーは、指定された外部認証スキームを使用してAutonomous AI Databaseにログオンできます。

ATTACH_FILE_SYSTEMプロシージャ

このプロシージャは、データベース内のファイル・システムをアタッチします。

DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEMプロシージャは、データベースにファイル・システムをアタッチし、ファイル・システムに関する情報をDBA_CLOUD_FILE_SYSTEMSビューに格納します。

構文

DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM (
    file_system_name         IN VARCHAR2,
    file_system_location     IN VARCHAR2,
    directory_name           IN VARCHAR2,
    description              IN VARCHAR2 DEFAULT NULL,
    params                   IN CLOB DEFAULT NULL
);

Parameters

パラメータ 説明
file_system_name

ファイル・システムの名前を指定します。

このパラメータは必須です。

file_system_location

ファイルシステムのロケーションを指定します。

file_system_locationに指定する値は、完全修飾ドメイン名(FQDN)と、FQDN:file_pathという形式のファイル・パスで構成されます。

ノート: FQDNまたはIPアドレスを使用できます。

たとえば:

  • FQDN: myhost.sub000445.myvcn.oraclevcn.com

    Oracle Cloud Infrastructure File Storageの場合、ファイル・システムの作成時に「拡張オプションの表示」でFQDNを設定します。詳細は、ファイル・システムの作成を参照してください。

  • ファイルパス: /results

このパラメータは必須です。

directory_name

添付ファイル・システムのディレクトリ名を指定します。ディレクトリは存在している必要があります。

このパラメータは必須です。

description (オプション)タスクの説明を提供します。
params

ファイル・システムの追加パラメータを提供するJSON文字列。

nfs_version: NFSの接続時に使用するNFSバージョン(NFSv3またはNFSv4)を指定します。有効な値: 3、4。

デフォルト値: 3

例: NFSv3ファイル・システムにアタッチします。

BEGIN
   DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM (
    file_system_name      => 'FSS',
    file_system_location  => 'myhost.sub000445.myvcn.oraclevcn.com:/results',
    directory_name        => 'FSS_DIR',
    description           => 'Source NFS for sales data'
  );
END;
/

例: NFSv4ファイル・システムにアタッチします。

BEGIN
   DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM (
    file_system_name      => 'FSS',
    file_system_location  => 'myhost.sub000445.myvcn.oraclevcn.com:/results',
    directory_name        => 'FSS_DIR',
    description           => 'Source NFS for sales data',
    params                => JSON_OBJECT('nfs_version' value 4)
);
END;
/

使用上のノート

CREATE_DATABASE_LINKプロシージャ

このプロシージャは、APIをコールするスキーマ内のターゲット・データベースへのデータベース・リンクを作成します。

オーバーロードされたフォームでは、次のものがサポートされます。

構文

DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK(
       db_link_name         IN VARCHAR2,
       hostname             IN VARCHAR2,
       port                 IN NUMBER,
       service_name         IN VARCHAR2,
       ssl_server_cert_dn   IN VARCHAR2 DEFAULT,
       credential_name      IN VARCHAR2 DEFAULT,
       directory_name       IN VARCHAR2 DEFAULT,
       gateway_link         IN BOOLEAN DEFAULT,
       public_link          IN BOOLEAN DEFAULT,
       private_target       IN BOOLEAN DEFAULT
       gateway_params       IN CLOB DEFAULT);
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK(
       db_link_name         IN VARCHAR2,
       rac_hostnames        IN CLOB,
       port                 IN NUMBER,
       service_name         IN VARCHAR2,
       ssl_server_cert_dn   IN VARCHAR2 DEFAULT,
       credential_name      IN VARCHAR2 DEFAULT,
       directory_name       IN VARCHAR2 DEFAULT,
       gateway_link         IN BOOLEAN DEFAULT,
       public_link          IN BOOLEAN DEFAULT,
       private_target       IN BOOLEAN DEFAULT);

Parameters

パラメータ 説明
db_link_name 作成するデータベース・リンクの名前。
hostname

ターゲット・データベースのホスト名。

hostnamelocalhostを指定することは許可されていません。

gateway_paramsパラメータを指定してOracle管理の異機種間接続との接続を指定する場合は、次の点に注意してください。

このパラメータまたはrac_hostnamesでは、両方を使用しないでください。

DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK入力では、ターゲットの専用Autonomous AIデータベースのスキャン名を'hostname'パラメータとして記述する必要があります。

rac_hostnames

ターゲットOracle RACデータベースのホスト名を指定します。この値は、ターゲットOracle RACデータベースのノードに対して1つ以上の個別のホスト名を指定するJSON配列です。JSONで複数のホスト名を","で区切って渡すことができます。たとえば:

'["sales1-svr1.domain", "sales1-svr2.domain", "sales1-svr3.domain"]'

ターゲットがOracle RACデータベースの場合は、rac_hostnamesパラメータを使用して、DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINKで1つ以上のホスト名を指定します。これにより、Oracle RACの高可用性機能を利用できます。rac_hostnames値でのIPアドレス、SCAN IPまたはSCANホスト名の使用はサポートされていません。

rac_hostnamesパラメータでホスト名のリストを指定すると、CREATE_DATABASE_LINKは、指定されたすべてのホスト名を接続文字列のアドレスとして使用します。指定したホストの1つがターゲットOracle RACデータベースで使用できない場合、Autonomous Databaseは自動的に、リストから別のホスト名を使用して接続を試みます。

このパラメータまたはhostnameを使用し、両方を使用しないでください。

rac_hostname値にlocalhostを指定することは許可されていません。

port

ターゲット・データベースへの接続のポートを指定します。

gateway_paramsパラメータを使用してOracle管理の異機種間接続との接続を指定する場合は、db_type値に基づいてポートを設定します。

  • awsredshift: ポート5439を使用します。
  • azure: ポート1433を使用します。
  • db2: Db2バージョンが11.5.6以上の場合はポート2500を使用します。
  • db2: Db2バージョン11.5.5< li>にはポート 5000を使用します。
  • google_analytics: ポート443を使用します。
  • google_bigquery: ポート443を使用します。
  • hive: ポート433を使用します。
  • mongodb: ポート27017を使用します。
  • mysql: ポート3306を使用します。
  • mysql_community: ポート3306を使用します。
  • postgres: ポート5432を使用します。
  • salesforce: ポート19937を使用します。
  • servicenow: ポート443を使用します。
  • snowflake: ポート443を使用します。
service_name

データベースのリンク先のservice_name。ターゲットAutonomous AI Databaseの場合、次のいずれかの方法でサービス名を検索します:

  • 接続用のAutonomous AI Databaseからダウンロードしたwallet.zipにあるtnsnames.oraファイルで確認します。

  • Oracle Cloud Infrastructure Consoleで「データベース接続」をクリックします。「接続文字列」列にリストされている各接続文字列には、対応するサービスの接続文字列を含むservice_nameエントリが含まれます。詳細は、Autonomous AI Databaseの接続文字列の表示を参照してください。

  • V$SERVICESビューを問い合せます。たとえば:

    SELECT name FROM V$SERVICES;

gateway_paramsパラメータを使用してOracle管理の異機種間接続との接続を指定する場合、service_nameはOracle以外のデータベースのデータベース名です。

ssl_server_cert_dn

サーバー証明書にあるDN値。

Oracle管理の異機種間接続は、一般的な信頼できるルートおよび中間SSL証明書の大部分を含むウォレットで事前構成されています。gateway_paramsパラメータを指定するか、ssl_server_cert_dnパラメータを含めない場合(デフォルト値はNULL)、ssl_server_cert_dnNULLである必要があります。

Walletを使用しないAutonomous AIデータベース・ターゲットへのパブリック・エンドポイント・リンク:

ウォレット(TLS)なしでパブリック・エンドポイント上のAutonomous AI Databaseターゲットに接続するには:

  • directory_nameパラメータはNULLである必要があります。
  • ssl_server_cert_dnパラメータは、NULLであるか、このパラメータを含まない必要があります(デフォルト値はNULLです)。

Walletを使用しないプライベート・エンドポイント・リンク:

ウォレットなしでプライベート・エンドポイント上のOracle Databaseに接続するには:

  • ターゲット・データベースはプライベート・エンドポイント上にある必要があります。
  • directory_nameパラメータはNULLである必要があります。
  • ssl_server_cert_dnパラメータは、NULLであるか、このパラメータを含まない必要があります(デフォルトはNULL)。
  • private_targetパラメータはTRUEである必要があります。
credential_name DBMS_CLOUD.CREATE_CREDENTIALで作成された格納済資格証明の名前。これは、ターゲット・データベースにアクセスするための資格証明です。
directory_name

cwallet.ssoファイルのディレクトリ。このパラメータのデフォルト値は'data_pump_dir'です。

Oracle管理の異機種間接続は、一般的な信頼できるルートおよび中間SSL証明書の大部分を含むウォレットで事前構成されています。gateway_paramsパラメータを指定する場合、directory_nameパラメータは不要です。

Walletを使用しないAutonomous AIデータベース・ターゲットへのパブリック・エンドポイント・リンク:

ウォレット(TLS)なしでパブリック・エンドポイント上のAutonomous AIデータベースに接続するには:

  • directory_nameパラメータはNULLである必要があります。
  • ssl_server_cert_dnパラメータは、NULLであるか、このパラメータを含まない必要があります(デフォルト値はNULLです)。

また、TCPを使用してAutonomous AIデータベースに接続するには、ssl_server_cert_dnパラメータがNULLであるか、このパラメータを含まない必要があります(デフォルト値はNULLです)。

Walletを使用しないプライベート・エンドポイント・リンク:

ウォレットなしでプライベート・エンドポイント上のターゲットOracle Databaseに接続するには:

  • ターゲット・データベースはプライベート・エンドポイント上にある必要があります。
  • directory_nameパラメータはNULLである必要があります。
  • ssl_server_cert_dnパラメータは、NULLであるか、このパラメータを含まない必要があります(デフォルト値はNULLです)。
  • private_targetパラメータはTRUEである必要があります。
gateway_link

データベース・リンクが別のOracle DatabaseまたはOracle Database Gatewayのどちらのどちらに対して作成されているのかを示します。

gateway_linkFALSEに設定されている場合は、別のAutonomous AI Databaseまたは別のOracle Databaseへのデータベース・リンクを指定します。

gateway_linkTRUEに設定されている場合は、Oracle以外のシステムへのデータベース・リンクを指定します。これにより、(HS=OK)を指定する接続記述子がデータベース・リンク定義に作成されます。

gateway_linkTRUEに設定し、gateway_paramsNULLに設定すると、顧客管理Oracleゲートウェイへのデータベース・リンクが指定されます。

このパラメータのデフォルト値はFALSEです。

public_link

データベース・リンクがパブリック・データベース・リンクとして作成されているかどうかを示します。

このパラメータをTRUEに設定してDBMS_CLOUD_ADMIN.CREATE_DATABASE_LINKを実行するには、プロシージャを起動するユーザーに、パブリック・データベース・リンクに関連付けられた資格証明に対するEXECUTE権限が必要であり、CREATE PUBLIC DATABASE LINKシステム権限が必要です。資格証明に対するEXECUTE権限は、ADMINユーザーまたは資格証明所有者によって付与できます。

このパラメータのデフォルト値はFALSEです。

private_target

データベース・リンクがVCN DNSサーバーで解決する必要があるホスト名にアクセスする場合は、private_targetパラメータに値TRUEを指定します。

private_targetTRUEの場合、hostnameパラメータは単一のホスト名である必要があります(プライベート・エンドポイントでは、IPアドレス、SCAN IPまたはSCANホスト名はサポートされていません)。

このパラメータのデフォルト値はFALSEです。

gateway_params

db_typeこのパラメータは、Oracle以外のデータベースに接続するためのOracle管理の異機種間接続のターゲット・データベース・タイプを指定します。db_type値は、次のいずれかです。

  • awsredshift
  • azure
  • db2
  • google_analytics
  • google_bigquery

    * db_typegoogle_bigqueryの場合、サポートされているその他のgateway_paramsについては、「使用上のノート」を参照してください。

  • hive

    * db_typehiveの場合、サポートされているその他のgateway_paramsについては、「使用上のノート」を参照してください。

  • mongodb
  • mysql
  • postgres
  • salesforce

    * db_typesalesforceの場合、サポートされているその他のgateway_paramsについては、「使用上のノート」を参照してください。

  • servicenow

    * db_typeservicenowの場合、サポートされているその他のgateway_paramsについては、「使用上のノート」を参照してください。

  • snowflake

    * db_typesnowflakeの場合、サポートされているその他のgateway_paramsについては、「使用上のノート」を参照してください。

  • NULL

    gateway_paramsNULLで、gateway_linkTRUEに設定されている場合、これは顧客管理Oracleゲートウェイへのデータベース・リンクを指定します。

json_object形式でパラメータを指定します。

たとえば:

gateway_params => json_object('db_type' value 'awsredshift')

gateway_paramsNULLで、private_targetTRUEの場合、directory_nameNULLの場合、TCPベースのデータベース・リンクが作成されます。

gateway_paramsNULLで、private_targetTRUEの場合、directory_nameNULLの場合、TCPSベースのデータベース・リンクが作成されます。

使用上のノート

BEGIN
  DBMS_CLOUD.CREATE_CREDENTIAL(
     credential_name => 'DB_LINK_CRED',
     username => 'adb_user',
     password => 'password');
  DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK(
     db_link_name => 'SALESLINK',
     hostname => 'adb.eu-frankfurt-1.oraclecloud.com',
     port => '1522',
     service_name => 'example_medium.atpc.example.oraclecloud.com',
     ssl_server_cert_dn => 'CN=atpc.example.oraclecloud.com,OU=Oracle BMCS FRANKFURT,O=Oracle Corporation,L=Redwood City,ST=California,C=US',
     credential_name => 'DB_LINK_CRED');
END;
/
BEGIN
  DBMS_CLOUD.CREATE_CREDENTIAL(
    credential_name => 'AWS_REDSHIFT_LINK_CRED',
    username => 'NICK',
    password => '*password*'
  );
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK(
          db_link_name => 'AWSREDSHIFT_LINK',
          hostname => 'example.com',
          port => '5439',
          service_name => '*example_service_name*',
          ssl_server_cert_dn => NULL,
          credential_name => 'AWS_REDSHIFT_LINK_CRED',
          gateway_params => JSON_OBJECT('db_type'  value 'awsredshift'));
END;
/
BEGIN
  DBMS_CLOUD.CREATE_CREDENTIAL(
    credential_name => 'PRIVATE_ENDPOINT_CRED',
    username => 'db_user',
    password => '*password*'
  );
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK(
          db_link_name => 'PRIVATE_ENDPOINT_DB_LINK',
          hostname => '*exampleHostname*',
          port => '1521',
          service_name => '*exampleServiceName*',
          credential_name => 'PRIVATE_ENDPOINT_CRED',
          ssl_server_cert_dn => NULL,
          directory_name => NULL,
          private_target => TRUE);
END;
/
BEGIN
  DBMS_CLOUD.CREATE_CREDENTIAL(
    credential_name => 'GOOGLE_BIGQUERY_CRED',
    params => JSON_OBJECT( 'gcp_oauth2' value JSON_OBJECT(
          'client_id' value 'client_i*',
          'client_secret' value 'client_secret',
          'refresh_token' value 'refresh_token' )));

DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK(
          db_link_name => 'GOOGLE_BIGQUERY_LINK',
          hostname => 'example.com',
          port => '443',
          service_name => 'example_service_name',
          credential_name => 'GOOGLE_BIGQUERY_CRED',
          gateway_params => JSON_OBJECT(
                     'db_type' value 'google_bigquery',
                     'project' value 'project_name1' ));
END;
/

Google BigQueryまたはGoogle AnalyticsでSELECTを使用する場合に指定する表名は、引用符で囲む必要があります。たとえば:

SELECT * FROM "sales"@GOOGLE_BIGQUERY_LINK

rac_hostnamesパラメータは、プライベート・エンドポイント上のターゲットOracle RACデータベースとともに使用します。

BEGIN
  DBMS_CLOUD.CREATE_CREDENTIAL(
     credential_name => 'DB_LINK_CRED1',
     username => 'adb_user',
     password => 'password');
      DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK(
     db_link_name => 'SALESLINK',
     rac_hostnames => '["sales1-svr1.example.adb.us-ashburn-1.oraclecloud.com",
                        "sales1-svr2.example.adb.us-ashburn-1.oraclecloud.com",
                        "sales1-svr3.example.adb.us-ashburn-1.oraclecloud.com"]',
     port => '1522',
     service_name => 'example_high.adb.oraclecloud.com',
     ssl_server_cert_dn => 'CN=adb.example.oraclecloud.com,OU=Oracle BMCS FRANKFURT,O=Oracle Corporation,L=Redwood City,ST=California,C=US',
     credential_name => 'DB_LINK_CRED1',
     directory_name => 'EXAMPLE_WALLET_DIR',
     private_target => TRUE);
END;
/

DETACH_FILE_SYSTEMプロシージャ

このプロシージャは、データベースからファイル・システムをデタッチします。

DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEMプロシージャは、データベースからファイル・システムをデタッチします。さらに、DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEMプロシージャは、DBA_CLOUD_FILE_SYSTEMSビューからファイル・システムに関する情報も削除します。

構文

DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM(
    file_system_name         IN VARCHAR2
);

Parameters

パラメータ 説明
file_system_name

ファイル・システムの名前を指定します。

このパラメータは必須です。

BEGIN
   DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM (
    file_system_name      => 'FSS'
  );
END;
/

使用上のノート

DISABLE_EXTERNAL_AUTHENTICATIONプロシージャ

データベースの外部認証スキームによるユーザー認証を無効にします。

構文

DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION;

例外

例外 エラー・コード 説明
invalid_ext_auth ORA-20004 詳細は、付随するメッセージを参照してください。

BEGIN
   DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION;
END;
/
PL/SQL procedure successfully completed.

DROP_DATABASE_LINKプロシージャ

このプロシージャは、データベース・リンクを削除します。

構文

DBMS_CLOUD_ADMIN.DROP_DATABASE_LINK(
        db_link_name      IN VARCHAR2,
        public_link       IN BOOLEAN DEFAULT);

Parameters

パラメータ 説明
db_link_name 削除するデータベース・リンクの名前。
public_link

public_linkTRUEに設定してDBMS_CLOUD_ADMIN.DROP_DATABASE_LINKを実行するには、DROP PUBLIC DATABASE LINKシステム権限が必要です。

このパラメータのデフォルト値はFALSEです。

BEGIN
    DBMS_CLOUD_ADMIN.DROP_DATABASE_LINK(
        db_link_name => 'SALESLINK' );
END;
/

使用上のノート

データベース・リンクの使用が完了したら、DBMS_CLOUD_ADMIN.DROP_DATABASE_LINKを実行して、Oracleデータベースのセキュリティを確保し、格納されているウォレット・ファイルを削除します。たとえば:

ENABLE_EXTERNAL_AUTHENTICATIONプロシージャ

ユーザーが外部認証スキームを使用してデータベースにログインできるようにします。

構文

DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION(
   type         IN VARCHAR2,
   force        IN BOOLEAN DEFAULT FALSE,
   params       IN CLOB DEFAULT NULL
);

Parameters

パラメータ 説明
type

外部認証タイプを指定します。有効な値: または。

  • 'OCI_IAM'
  • 'AZURE_AD'
  • 'CMU'
  • 'KERBEROS'
force

(オプション)現在有効な外部認証スキームをオーバーライドします。有効な値は、TRUEまたはFALSEです。

デフォルト値はFALSEです。

params

外部認証の追加パラメータを提供するJSON文字列。

CMUパラメータ:

  • location_uri: CMUに必要なファイルが格納されるバケットのクラウド・ストレージURIを指定します。

    location_uriを指定した場合、CMU構成ファイルを保存するために、固定名ディレクトリ・オブジェクトCMU_WALLET_DIRがパス'cmu_wallet'でデータベースに作成されます。この場合、directory_nameパラメータを指定する必要はありません。

  • credential_name: CMU構成ファイルをオブジェクト・ストアからディレクトリ・オブジェクトにダウンロードするために使用する資格証明を指定します。

    デフォルト値はNULLで、オブジェクト・ストア・バケットまたはサブフォルダのパブリックURL、事前認証済URLまたは事前署名済URLを指定できます。

  • directory_name: CMUに必要な構成ファイルが格納されるディレクトリ名を指定します。directory_nameが指定されている場合は、CMU構成ファイル dsi.oraおよび cwallet.ssoをこのディレクトリオブジェクトにコピーする必要があります。

KERBEROSパラメータ:

  • location_uri: Kerberosに必要なファイルが格納されるバケットのクラウド・ストレージURIを指定します。

    location_uriを指定した場合、Kerberos構成ファイルを保存するために、固定名ディレクトリ・オブジェクトKERBEROS_DIRがデータベースに作成されます。この場合、directory_nameパラメータを指定する必要はありません。

  • credential_name: オブジェクト・ストアの場所からディレクトリ・オブジェクトにKerberos構成ファイルをダウンロードするために使用される資格証明を指定します。

    デフォルト値はNULLで、オブジェクト・ストア・バケットまたはサブフォルダのパブリックURL、事前認証済URLまたは事前署名済URLを指定できます。

  • directory_name: Kerberosに必要なファイルが格納されるディレクトリ名を指定します。directory_nameが指定されている場合は、Kerberos構成ファイルをこのディレクトリ・オブジェクトにコピーする必要があります。
  • kerberos_service_name: Kerberosサービス名として使用する名前を指定します。このパラメータはオプション。

    デフォルト値: 指定しない場合、kerberos_service_name値はAutonomous AI DatabaseインスタンスのGUIDに設定されます。

AZURE_ADパラメータ:

  • tenant_id: AzureアカウントのテナントID。テナントIDは、Autonomous AI DatabaseインスタンスのAzure ADアプリケーションの登録を指定します。
  • application_id: Autonomous AI Databaseインスタンスで外部認証用のロール/スキーマ・マッピングを割り当てるために、Azure ADで作成されたAzureアプリケーションID。
  • application_id_uri: Azureアプリケーションに割り当てられた一意のURI。

    これは、Autonomous AI Databaseインスタンスの識別子です。名前はドメイン修飾である必要があります(これにより、クロス・テナンシ・リソース・アクセスがサポートされます)。

    このパラメータの最大長は256文字です。

例外

例外 エラー・コード 説明
invalid_ext_auth ORA-20004 詳細は、付随するメッセージを参照してください。

使用上のノート

例: OCI_IAM認証の有効化

BEGIN DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION(
     type => 'OCI_IAM',
     force=> TRUE );
END;
/

例: Microsoft Active DirectoryのCMU認証の有効化

params JSON引数を使用して、CMU構成ファイルを含むディレクトリ名を渡します。

BEGIN DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION(
     type => 'CMU',
     force => TRUE,
     params => JSON_OBJECT('directory_name' value 'CMU_DIR'); // CMU_DIR directory object already exists
END;
/

params JSON引数を使用して、CMU構成ファイルを含むオブジェクト・ストレージの場所を指す場所URIを渡します。

BEGIN
   DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION(
       type     => 'CMU',
       params   => JSON_OBJECT('location_uri' value 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o',
                               'credential_name' value 'my_credential_name')
   );
END;
/

例: Azure AD認証の有効化

BEGIN DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION(
     type => 'AZURE_AD',
     force => TRUE,
     params   => JSON_OBJECT( 'tenant_id' VALUE '....',
                              'application_id' VALUE '...',
                              'application_id_uri' VALUE '.....' ));
END;
/

例: Kerberos認証の有効化

params JSON引数を使用して、Kerberos構成ファイルを含むディレクトリ名を渡します。

BEGIN DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION(
     type => 'KERBEROS',
     force => TRUE,
     params => JSON_OBJECT('directory_name' value 'KERBEROS_DIR'); // KERBEROS_DIR directory object already exists
END;
/

params JSON引数を使用して、Kerberos構成ファイルを含むオブジェクト・ストレージの場所を指すロケーションURIを渡します:

BEGIN DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION(
     type => 'KERBEROS',
     force => TRUE,
     params => JSON_OBJECT('location_uri' value 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o',
                           'credential_name' value 'my_credential_name');
END;
/

params JSON引数にkerberos_service_nameを使用してサービス名を渡します。

BEGIN DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION(
     type => 'KERBEROS',
     force => TRUE,
     params => JSON_OBJECT('directory_name' value 'KERBEROS_DIR', // KERBEROS_DIR directory object already exists
                           'kerberos_service_name' value 'oracle' ));
END;
/

Autonomous AI DatabaseインスタンスでKerberosを有効にした後、次の問合せを使用してKerberosサービス名を表示します:

SELECT SYS_CONTEXT('USERENV','KERBEROS_SERVICE_NAME') FROM DUAL;

DBMS_CLOUD_ADMINの例外

次の表は、DBMS_CLOUD_ADMINの例外を示しています。

例外 コード 説明
invalid_service 20001 無効なサービスが指定されました。
service_not_exist 20002 指定されたサービスは存在しません。
default_service 20003 指定したサービスは変更できません。
invalid_char_set 20029 事前条件がないか、無効な(各国語)文字セットです。
invalid_enc_key_attr 20030 キー管理の引数がないか無効です。
Already Using Oracle Managed Key 000000 データベースはすでにOracle管理キーを使用しています。Oracle管理キーをすでに使用しているときにプロシージャをコールしようとしています。
Argument Provided for the procedure ORA-0000 プロシージャに引数が提供されています。予期されるエラー・メッセージ: このプロシージャに引数は必要ありません。

関連コンテンツ