DBMS_CLOUD_ADMINサブプログラムの概要

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

サブプログラム 説明

ATTACH_FILE_SYSTEMプロシージャ

このプロシージャは、データベース上のディレクトリにファイル・システムをアタッチします。

CANCEL_WORKLOAD_CAPTUREプロシージャ

このプロシージャは、現在のワークロード取得を取り消します。

CREATE_DATABASE_LINKプロシージャ

このプロシージャは、ターゲット・データベースへのデータベース・リンクを作成します。別のAutonomous Databaseインスタンス、Autonomous DatabaseではないOracle Database、またはOracle管理の異種間接続を使用してOracle Database以外へのデータベース・リンクを作成するオプションがあります。

DETACH_FILE_SYSTEMプロシージャ

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

DISABLE_APP_CONTプロシージャ

このプロシージャは、Autonomous Database内の特定のサービス名に関連付けられたセッションのデータベース・アプリケーション・コンティニュイティを無効にします。

DISABLE_EXTERNAL_AUTHENTICATIONプロシージャ

このプロシージャは、Autonomous Databaseインスタンスの外部認証を無効にします。

DISABLE_OPERATOR_ACCESSプロシージャ

Autonomous Databaseデータベース・インスタンスでCloud Operatorのアクセスをただちに取り消します。

DISABLE_PRINCIPAL_AUTHプロシージャ

このプロシージャは、指定されたプロバイダのプリンシパル・ベースの認証を取り消し、ADMINユーザーまたは指定されたユーザーに適用します。

DISABLE_RESOURCE_PRINCIPALプロシージャ

このプロシージャは、データベースまたは指定したスキーマのリソース・プリンシパル資格証明を無効にします。ADMIN以外のユーザー名が指定されると、プロシージャは、リソース・プリンシパル資格証明への指定されたスキーマ・アクセスを取り消します。

DROP_DATABASE_LINKプロシージャ

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

ENABLE_APP_CONTプロシージャ

このプロシージャは、Autonomous Databaseの特定のサービス名に関連付けられたセッションのデータベース・アプリケーション・コンティニュイティを有効にします。

ENABLE_AWS_ARNプロシージャ

このプロシージャにより、ユーザーは、Autonomous DatabaseでAWS ARN資格証明を作成できます。

ENABLE_EXTERNAL_AUTHENTICATIONプロシージャ

このプロシージャにより、ユーザーは、指定された外部認証スキームを使用してAutonomous Databaseにログオンできます。

ENABLE_FEATUREプロシージャ

このプロシージャは、Autonomous Databaseインスタンスで指定した機能を有効にします。

ENABLE_OPERATOR_ACCESSプロシージャ

クラウド・オペレータに、指定した時間数のAutonomous Databaseインスタンスへのアクセス権を付与します。

ENABLE_PRINCIPAL_AUTHプロシージャ

このプロシージャは、指定されたプロバイダのプリンシパル認証を有効にして、ADMINユーザーまたは指定されたユーザーに適用します。

ENABLE_RESOURCE_PRINCIPALプロシージャ

このプロシージャは、リソース・プリンシパル資格証明を有効にし、資格証明OCI$RESOURCE_PRINCIPALを作成します。ADMIN以外のユーザー名が指定されると、プロシージャは、指定されたスキーマにリソース・プリンシパル資格証明へのアクセス権を付与します。

FINISH_WORKLOAD_CAPTUREプロシージャ

このプロシージャは、ワークロードの取得を停止し、取得ファイルをオブジェクト・ストレージにアップロードします。

PREPARE_REPLAYプロシージャ

この手順では、リフレッシュ可能クローンのリプレイを準備します。

PURGE_FLASHBACK_ARCHIVEプロシージャ このプロシージャは、フラッシュバック・データ・アーカイブから履歴データをパージします。

REPLAY_WORKLOADプロシージャ

このプロシージャはオーバーロードされています。これはワークロード・リプレイを開始します。

SET_FLASHBACK_ARCHIVE_RETENTIONプロシージャ

このプロシージャを使用すると、ADMINユーザーはフラッシュバック・タイム・トラベルflashback_archiveの保持期間を変更できます。

START_WORKLOAD_CAPTUREプロシージャ

このプロシージャは、ワークロード取得を開始します。

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
);

パラメータ

パラメータ 説明

file_system_name

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

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

file_system_location

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

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

たとえば:

  • 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;                                                        
/

使用上のノート

  • このプロシージャを実行するには、ADMINユーザーとしてログインするか、DBMS_CLOUD_ADMINに対するEXECUTE権限を持っている必要があります。

  • DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEMを使用してファイル・システムをアタッチするには、データベース内のディレクトリ・オブジェクトに対するWRITE権限が必要です。

  • DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEMプロシージャは、プライベート・エンドポイントが有効なデータベースでのみプライベート・ファイル・ストレージ・サービスをアタッチできます。

    詳細は、OCIファイル・ストレージ・サービスおよびプライベート・エンドポイントを使用したネットワーク・アクセスの構成を参照してください。

  • DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEMプロシージャは、顧客の仮想クラウド・ネットワーク(VCN)上のネットワーク・ファイル・システムのホスト名を検索します。場所で指定されたホスト名が見つからない場合は、エラー"ORA-20000: Mounting NFS fails"が返されます。

  • Oracle Cloud Infrastructure File Storageは、NFSv3を使用して共有します

  • Oracle Cloud Infrastructure File Storage以外のシステムにアタッチする場合、このプロシージャではNFSv3およびNFSv4がサポートされます

  • NFSv3を使用する接続されたNFSサーバーがあり、NFSサーバーでNFSバージョンがNFSv4に更新されている場合は、DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEMDBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM(nfs_versionを4に設定したparamsパラメータを使用)を実行する必要があります。これにより、Autonomous DatabaseがNFSv4サーバーにアクセスできるように、一致するプロトコルでNFSがアタッチされます。デタッチしてから再アタッチしないと、NFSサーバーにアクセスできなくなり、"Protocol not supported"などのエラーが表示される場合があります。

CANCEL_WORKLOAD_CAPTUREプロシージャ

このプロシージャは、データベースで進行中のワークロード取得を取り消します。

構文

このプロシージャは、現在のワークロード取得を取り消し、リフレッシュ可能クローンでリフレッシュを有効にします。


DBMS_CLOUD_ADMIN.CANCEL_WORKLOAD_CAPTURE;

BEGIN
   DBMS_CLOUD_ADMIN.CANCEL_WORKLOAD_CAPTURE;
END;
/

使用上のノート

  • このプロシージャを実行するには、ADMINユーザーとしてログインするか、DBMS_CLOUD_ADMINに対するEXECUTE権限を持っている必要があります。

CREATE_DATABASE_LINKプロシージャ

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

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

  • gateway_paramsパラメータを使用すると、サポートされているOracle以外のデータベースへのリンクがあるOracle管理の異種間接続を含むデータベース・リンクを作成できます。

  • rac_hostnamesパラメータを使用すると、プライベート・エンドポイントのAutonomous DatabaseからターゲットOracle RACデータベースへのデータベース・リンクを作成できます。この場合、rac_hostnamesパラメータを使用して、ターゲットOracle RACデータベースの1つ以上の個別のノードのホスト名を指定します。

構文

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);

パラメータ

パラメータ 説明

db_link_name

作成するデータベース・リンクの名前。

hostname

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

hostnamelocalhostを指定することはできません。

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

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

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は、指定されたすべてのホスト名を接続文字列のアドレスとして使用します。指定されたホストのいずれかがターゲットの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にはポート5000を使用します
  • google_analytics: ポート443を使用します
  • google_bigquery: ポート443を使用します
  • hive: ポート433を使用します
  • mongodb: ポート27017を使用します
  • mysql: ポート3306を使用します
  • mysql_community: ポート3306を使用します
  • postgres: ポート5432を使用します
  • salesforce: ポート19937を使用します
  • servicenow: ポート443を使用します
  • sharepoint: ポート443を使用します
  • snowflake: ポート443を使用します
  • youtube: ポート443を使用します

詳細は、Oracle管理の異種間接続のデータベース・タイプおよびポートを参照してください。

service_name

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

  • 接続のためにAutonomous Databaseからダウンロードしたwallet.zipにあるtnsnames.oraファイルを調べます。

  • Oracle Cloud Infrastructure Consoleで「データベース接続」をクリックします。「接続文字列」領域の各接続文字列に、対応するサービスの接続文字列を含むservice_nameエントリが含まれます。Mutual TLS (mTLS)接続とTLS接続の両方が許可されている場合、「TLS認証」「TLS」を選択し、TLS認証を使用した接続のTNS名および接続文字列を表示します。詳細は、Autonomous DatabaseインスタンスのTNS名および接続文字列の表示を参照してください。

  • 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 Databaseターゲットへのパブリック・エンドポイント・リンク:

ウォレット(TLS)なしでパブリック・エンドポイント上のAutonomous 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 Databaseターゲットへのパブリック・エンドポイント・リンク:

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

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

また、TCPを使用してAutonomous Databaseに接続するには、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 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

    * db_typeazureの場合にサポートされているgateway_paramsの詳細は、使用上のノートを参照してください。

  • 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の詳細は、使用上のノートを参照してください。

  • sharepoint

    * db_typesharepointの場合にサポートされているgateway_paramsの詳細は、使用上のノートを参照してください。

  • snowflake

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

  • youtube

    * db_typeyoutubeの場合にサポートされているgateway_paramsの詳細は、使用上のノートを参照してください。

  • NULL

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

json_objectフォームでパラメータを指定します。

たとえば:

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

各データベース・タイプに必要なport値については、Oracle管理の異種間接続のデータベース・タイプおよびポートを参照してください。

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

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

enable_ssl:

プライベート・エンドポイント上のデータベースの場合、gateway_paramsパラメータはオプションのenable_sslパラメータをサポートします。プライベート・エンドポイント上のリモート・ターゲット・データベースのSSL/TLS接続をサポートするには、このパラメータをtrueに設定します。デフォルトは、enable_sslfalseです。

たとえば:

gateway_params => JSON_OBJECT(
     'db_type' value 'snowflake',
     'enable_ssl' value true)

使用上のノート

  • gateway_paramsパラメータを指定すると、一部のdb_type値に対して、追加のgateway_paramsパラメータがサポートされます。

    db_type 追加gateway_params
    azure

    db_type値がazureの場合、NTLM/AD認証をサポートするためのauth_methodおよびdomainの2つのオプション・パラメータがあります。

    NTLMv2が構成されている場合は、auth_method=10を設定し、domainをWindowsドメイン値に設定します。

    google_analytics

    db_typegoogle_analyticsの場合、指定する資格証明はGoogle OAuth資格証明である必要があります(詳細は、gcp_oauth2)CREATE_CREDENTIALプロシージャを参照してください)。

    google_bigquery

    db_typegoogle_bigqueryの場合、指定する資格証明はGoogle OAuth資格証明である必要があります(詳細は、gcp_oauth2)CREATE_CREDENTIALプロシージャを参照してください)。

    db_typegoogle_bigqueryの場合、パラメータprojectは有効です。このパラメータは、google_bigqueryのプロジェクト名を指定します。これは必須です。

    Google BigQueryでSELECTを使用するときに指定する表名は引用符で囲む必要があります。次に例を示します。

    SELECT * FROM "sales"@GOOGLE_BIGQUERY_LINK
    hive

    db_typehiveの場合、パラメータhttp_pathは有効です。このパラメータは、必要に応じて、Hiveインスタンスに接続するためのHttpPath値を指定します。

    salesforce

    db_typesalesforceの場合、パラメータsecurity_tokenが有効です。セキュリティ・トークンは、大文字と小文字が区別される英数字コードです。Salesforceにアクセスするには、security_token値を指定する必要があります。次に例を示します。

    gateway_params => JSON_OBJECT(
         'db_type' value 'salesforce',
         'security_token' value 'security_token_value' )

    詳細は、セキュリティ・トークンのリセットを参照してください。

    servicenow

    ServiceNowに接続してデータを取得するには、ゲートウェイ・パラメータdirectory_nameおよびfile_nameを指定する必要があります。これらのパラメータは、JSONレスポンスをリレーショナル・モデルにマップするモデル・ファイル(REST構成ファイル)を指定します。モデル・ファイルは、JSONレスポンスを処理するためのエンドポイント、表マッピングおよびHTTPレスポンス・コードを指定します。詳細は、モデル・ファイルの構文およびモデル・ファイルの例を参照してください。

    db_type servicenowgateway_paramsパラメータを使用する場合、次の2つのオプションがサポートされています。

    • 基本認証: gateway_paramsパラメータdb_typeに値'servicenow'を指定し、ユーザー名/パスワード・タイプの資格証明とともにdirectory_nameおよびfile_nameパラメータを指定する必要があります。

    • OAuth 2.0認証: gateway_paramsパラメータdb_typeに値'servicenow'を指定し、directory_namefile_nameおよびtoken_uriパラメータをOAuth型の資格証明とともに指定する必要があります。

    directory_nameパラメータは、ServiceNow REST構成ファイルでディレクトリを指定します。このディレクトリは、次のように作成できます。

    create or replace directory servicenow_dir as 'SERVICENOW_DIR';

    ServiceNow REST構成ファイルを取得し、指定したディレクトリにダウンロードします。次に例を示します。

    exec DBMS_CLOUD.get_object('servicenow_dir_cred',
         'https://objectstorage.<...>/servicenow.rest','SERVICENOW_DIR');

    file_name値を、ダウンロードしたREST構成ファイルの名前"servicenow.rest"に設定します。

    その後、基本認証またはOAuth2.0でServiceNow REST構成ファイルを使用できます。

    その後、基本認証またはOAuth2.0でServiceNow REST構成ファイルを使用できます。サンプルについては、HETEROGENEOUS_CONNECTIVITY_INFOビューを参照してください。

    sharepoint

    gateway_paramsパラメータをdb_type sharepointとともに使用する場合は、auth_uriscopeservice_urlおよびtoken_uriの値も指定します。

    db_type sharepointの場合、DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINKで指定する資格証明は、gcp_oauth2値(client_idclient_secretおよびrefresh_token)を指定したparamsパラメータを使用するOAuth型の資格証明である必要があります。詳細は、CREATE_CREDENTIALプロシージャに関する項を参照してください。tenant_id.sharepoint.com/.default offline_accessのrefresh_tokenを生成します。詳細は、「スコープの決定」およびOAuth 2.0認証を参照してください。

    db_type sharepointgateway_paramsの値を設定します。

    snowflake

    db_typeSNOWFLAKEの場合、オプションのパラメータroleschemaおよびwarehouseが有効です。これらの値は、デフォルト以外の別のスキーマ、ロールまたはウェアハウス値を指定します。たとえば:

    gateway_params => JSON_OBJECT(
         'db_type' value 'snowflake',
         'role' value 'ADMIN',
         'schema' value 'PUBLIC',
         'warehouse' value 'TEST' )
    youtube

    Youtubeに接続してデータを取得するには、ゲートウェイ・パラメータdirectory_nameおよびfile_nameを指定する必要があります。これらのパラメータは、JSONレスポンスをリレーショナル・モデルにマップするモデル・ファイル(REST構成ファイル)を指定します。モデル・ファイルは、JSONレスポンスを処理するためのエンドポイント、表マッピングおよびHTTPレスポンス・コードを指定します。詳細は、モデル・ファイルの構文およびモデル・ファイルの例を参照してください。

    db_type youtubegateway_paramsパラメータを使用する場合、指定する資格証明はGoogle OAuth資格証明(gcp_oauth2)である必要があります。詳細は、CREATE_CREDENTIALプロシージャを参照してください。

    OAuth 2.0認証: gateway_paramsパラメータdb_typeに値youtubeを指定し、directory_nameおよびfile_nameパラメータをOAuthタイプの資格証明とともに指定する必要があります。

    directory_nameパラメータは、ServiceNow REST構成ファイルでディレクトリを指定します。このディレクトリは、次のように作成できます。

    create or replace directory youtube_dir as 'YOUTUBE_DIR';

    ServiceNow REST構成ファイルを取得し、指定したディレクトリにダウンロードします。たとえば:

    exec DBMS_CLOUD.get_object('youtube_dir_cred',
         'https://objectstorage.<...>/youtube.rest','YOUTUBE_DIR');

    file_name値を、ダウンロードしたREST構成ファイルの名前"youtube.rest"に設定します。

    その後、OAuth2.0でServiceNow REST構成ファイルを使用できます。サンプルについては、HETEROGENEOUS_CONNECTIVITY_INFOビューを参照してください。

  • ADMIN以外のユーザーでDBMS_CLOUD_ADMIN.CREATE_DATABASE_LINKを実行するには、そのユーザーにEXECUTEおよびCREATE DATABASE LINK権限を付与する必要があります。たとえば、adb_userに権限を付与するには、ADMINとして次のコマンドを実行します:

    GRANT EXECUTE ON DBMS_CLOUD_ADMIN TO adb_user;
    GRANT CREATE DATABASE LINK TO adb_user;

    また、ADMINスキーマ以外のスキーマ(たとえば、adb_userという名前のスキーマ)でデータベース・リンクを作成する場合、adb_userスキーマはDBMS_CLOUD_ADMIN.CREATE_DATABASE_LINKで使用する資格証明を所有している必要があります。

  • ウォレット・ファイルは、directory_nameパラメータで指定されたディレクトリごとに1つのみ有効です。ウォレット・ファイル用に選択したディレクトリに一度にアップロードできるのは1つのcwallet.ssoのみです。つまり、ディレクトリのcwallet.ssoでは、ディレクトリ内のウォレットが有効であるデータベースへのデータベース・リンクのみを作成できます。データベース・リンクで複数のcwallet.ssoファイルを使用するには、追加のディレクトリを作成し、各cwallet.ssoを異なるディレクトリに配置する必要があります。

    ディレクトリの作成の詳細は、「Autonomous Databaseのディレクトリの作成」を参照してください。

  • Autonomous Databaseへのデータベース・リンクを作成するには、ソース・データベース(Autonomous Database以外)でGLOBAL_NAMESFALSEに設定します。

    SQL> ALTER SYSTEM SET GLOBAL_NAMES = FALSE;
     
    System altered.
    
    SQL> SHOW PARAMETER GLOBAL_NAMES
    NAME                     TYPE        VALUE
    ----------------------   ----------- -----------
    global_names             boolean     FALSE
    
  • private_targetパラメータがTRUEの場合、VCN内のプライベート・ホストはhostnameパラメータで指定されます。

サンプル

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.adb.example.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_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_id',
          '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
);

パラメータ

パラメータ 説明

file_system_name

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

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

次に例を示します:

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

使用上のノート

  • このプロシージャを実行するには、ADMINユーザーとしてログインするか、DBMS_CLOUD_ADMINに対するEXECUTE権限を持っている必要があります。

  • DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEMプロシージャを使用してファイル・システムをディレクトリからデタッチするには、データベース内のディレクトリ・オブジェクトに対するWRITE権限が必要です。

  • DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEMプロシージャは、プライベート・エンドポイントが有効なデータベースでのみプライベート・ファイル・ストレージ・サービスをデタッチできます。

    詳細は、OCIファイル・ストレージ・サービスおよびプライベート・エンドポイントを使用したネットワーク・アクセスの構成を参照してください。

  • DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEMプロシージャは、顧客の仮想クラウド・ネットワーク(VCN)上のネットワーク・ファイル・システムのホスト名を検索します。場所で指定されたホスト名が見つからない場合は、エラー"ORA-20000: Mounting NFS fails"が返されます。

DISABLE_APP_CONTプロシージャ

このプロシージャは、Autonomous Database内の特定のサービス名に関連付けられたセッションのデータベース・アプリケーション・コンティニュイティを無効にします。

構文

DBMS_CLOUD_ADMIN.DISABLE_APP_CONT(
    service_name      IN VARCHAR2);

パラメータ

パラメータ 説明

service_name

Autonomous Databaseサービスのservice_name

サービス名を検索するには:

  • 接続のためにAutonomous Databaseからダウンロードしたwallet.zipにあるtnsnames.oraファイルを調べます。

  • Oracle Cloud Infrastructure Consoleで「データベース接続」をクリックします。「接続文字列」領域の各接続文字列に、対応するサービスの接続文字列を含むservice_nameエントリが含まれます。Mutual TLS (mTLS)接続とTLS接続の両方が許可されている場合、「TLS認証」「TLS」を選択し、TLS認証を使用した接続のTNS名および接続文字列を表示します。詳細は、Autonomous DatabaseインスタンスのTNS名および接続文字列の表示を参照してください。

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

    SELECT name FROM V$SERVICES;

使用上のノート

Application Continuityの詳細は、アプリケーション・コンティニュイティの概要を参照してください。

BEGIN
    DBMS_CLOUD_ADMIN.DISABLE_APP_CONT(
        service_name => 'nv123abc1_adb1_high.adb.oraclecloud.com' );
END;
/

次のように値を検証します:

SELECT name, failover_type FROM DBA_SERVICES;

NAME                                                    FAILOVER_TYPE
------------------------------------------------------- --------------
nv123abc1_adb1_high.adb.oraclecloud.com      

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.

DISABLE_FEATUREプロシージャ

このプロシージャは、指定した機能をAutonomous Databaseインスタンスで無効にします。

構文

DBMS_CLOUD_ADMIN.DISABLE_FEATURE(
    feature_name    IN  VARCHAR2);

パラメータ

パラメータ 説明

feature_name

無効にする機能タイプを指定します。サポートされている値:

  • 'AUTO_DST_UPGRADE': AUTO DST機能を無効にします。

  • 'AUTO_DST_UPGRADE_EXCL_DATA': AUTO DST EXCL DATA機能を無効にします。

  • 'ORAMTS': OraMTS機能を無効にします。

  • 'OWM': Oracle Workspace Managerを無効にします。

  • 'WORKLOAD_AUTO_REPLAY': ワークロードの自動リプレイ機能を無効にします。

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

サンプル

BEGIN 
DBMS_CLOUD_ADMIN.DISABLE_FEATURE(
    feature_name => 'ORAMTS');   
END;
/
BEGIN 
DBMS_CLOUD_ADMIN.DISABLE_FEATURE(
    feature_name => 'AUTO_DST_UPGRADE');   
END;
/
BEGIN 
DBMS_CLOUD_ADMIN.DISABLE_FEATURE(
    feature_name => 'AUTO_DST_UPGRADE_EXCL_DATA');   
END;
/
BEGIN 
DBMS_CLOUD_ADMIN.DISABLE_FEATURE(
    feature_name => 'OWM');   
END;
/
BEGIN 
DBMS_CLOUD_ADMIN.DISABLE_FEATURE(
    feature_name => 'WORKLOAD_AUTO_REPLAY');   
END;
/

使用上のノート

  • Autonomous DatabaseインスタンスのOraMTSAUTO_DST_UPGRADEAUTO_DST_UPGRADE_EXCL_DATAOWMまたはWORKLOAD_AUTO_REPLAY機能を無効にするには、ADMINユーザーとしてログインするか、DBMS_CLOUD_ADMINに対するEXECUTE権限を持っている必要があります。

  • AUTO_DST_UPGRADEAUTO_DST_UPGRADE_EXCL_DATAの両方が無効になっている場合、新しいタイム・ゾーン・バージョンが使用可能な場合、Autonomous Databaseインスタンスは、使用可能な最新のタイム・ゾーン・ファイルを使用するようにアップグレードされません。

  • dba_cloud_configを問い合せて、AUTO_DST_UPGRADEが無効になっていることを確認します。

    SELECT param_name, param_value FROM dba_cloud_config WHERE
           LOWER(param_name) = 'auto_dst_upgrade';
    
    0 rows selected.
  • dba_cloud_configを問い合せて、AUTO_DST_UPGRADE_EXCL_DATAが無効になっていることを確認します。
    SELECT param_name, param_value FROM dba_cloud_config WHERE
           LOWER(param_name) = 'auto_dst_upgrade_excl_data';
    
    0 rows selected.  

DISABLE_OPERATOR_ACCESSプロシージャ

このプロシージャは、Autonomous Databaseインスタンス上のCloud Operatorアクセスをただちに取り消します。

構文

DBMS_CLOUD_ADMIN.DISABLE_OPERATOR_ACCESS;

BEGIN 
    DBMS_CLOUD_ADMIN.DISABLE_OPERATOR_ACCESS;   
END;
/

DISABLE_PRINCIPAL_AUTHプロシージャ

このプロシージャは、Autonomous Database上の指定されたプロバイダのプリンシパル・ベースの認証を取り消し、ADMINユーザーまたは指定されたユーザーに適用します。

構文

DBMS_CLOUD_ADMIN.DISABLE_PRINCIPAL_AUTH(
       provider    IN VARCHAR2,
       username    IN VARCHAR2 DEFAULT 'ADMIN' );

パラメータ

パラメータ 説明

provider

プロバイダのタイプを指定します。

有効な値:

  • AWS
  • AZURE
  • GCP
  • OCI

username

プリンシパル・ベースの認証を無効にするユーザーを指定します。

null値は、usernameに対して有効です。usernameが指定されていない場合、プロシージャは"ADMIN"ユーザーに適用されます。

使用上のノート

  • provider値がAZUREで、usernameADMINである場合、プロシージャはAutonomous DatabaseでのAzureサービス・プリンシパル・ベースの認証を無効にし、Autonomous Databaseインスタンス上のAzureアプリケーションを削除します。

  • provider値がAZUREで、usernameADMINユーザー以外のユーザーである場合、プロシージャは指定されたユーザーから権限を取り消します。Azureサービス・プリンシパルを使用できるADMINユーザーとその他のユーザーは引き続きADMIN.AZURE$PAを使用できます。Autonomous Databaseインスタンス用に作成されたアプリケーションはインスタンス上に残ります。

サンプル

BEGIN 
     DBMS_CLOUD_ADMIN.DISABLE_PRINCIPAL_AUTH(
       provider => 'AZURE',
       username => 'SCOTT');
END;
/
BEGIN 
     DBMS_CLOUD_ADMIN.DISABLE_PRINCIPAL_AUTH(
       provider => 'GCP');
END;
/

DISABLE_RESOURCE_PRINCIPALプロシージャ

データベースまたは指定されたスキーマのリソース・プリンシパル資格証明を無効にします。

構文

DBMS_CLOUD_ADMIN.DISABLE_RESOURCE_PRINCIPAL(
   username         IN VARCHAR2);

パラメータ

パラメータ 説明

username

オプションのユーザー名を指定します。リソース・プリンシパル・アクセスを削除するデータベース・スキーマの名前。

usernameを指定しない場合、usernameはADMINに設定され、コマンドによってOCI$RESOURCE_PRINCIPAL資格証明は削除されます。

例外

例外 エラー 説明
resource principal is already disabled ORA-20031

リソース・プリンシパルを無効にしようとしたときに、すでに無効化されている場合。

使用上のノート

  • リソース・プリンシパルは、リフレッシュ可能クローンでは使用できません。

  • DBMS_CLOUD_ADMIN.ENABLE_RESOURCE_PRINCIPALをコールする前に、動的グループと、その動的グループのポリシーを設定する必要があります。

    ポリシーの作成、動的グループの作成、ルールの作成の詳細は、次を参照してください:

  • DBA_CREDENTIALSまたはALL_TAB_PRIVSのいずれかのビューを問い合せて、リソース・プリンシパル資格証明が有効であることを確認します。

    たとえば、ADMINユーザーがビューDBA_CREDENTIALSを問い合せると、次のようになります。

    SELECT owner, credential_name FROM dba_credentials 
            WHERE credential_name = 'OCI$RESOURCE_PRINCIPAL' AND owner = 'ADMIN'; 
    
    OWNER  CREDENTIAL_NAME
    -----  ----------------------
    ADMIN  OCI$RESOURCE_PRINCIPAL 
    

    たとえば、ADMIN以外のユーザーがビューALL_TAB_PRIVSを問い合せるとします。

    SELECT grantee, table_name, grantor, FROM ALL_TAB_PRIVS 
              WHERE  grantee = 'ADB_USER';
    
    GRANTEE   TABLE_NAME GRANTOR
    --------- -------------------------------------
    ADB_USER  OCI$RESOURCE_PRINCIPAL ADMIN

EXEC DBMS_CLOUD_ADMIN.DISABLE_RESOURCE_PRINCIPAL();

PL/SQL procedure successfully completed. 

SQL> select owner, credential_name from dba_credentials where credential_name = 'OCI$RESOURCE_PRINCIPAL'; 

No rows selected.

DROP_DATABASE_LINKプロシージャ

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

構文

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

パラメータ

パラメータ 説明

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データベースのセキュリティを確保し、格納されているウォレット・ファイルを削除します。たとえば:

  • オブジェクト・ストア内のウォレット・ファイルを削除します。

  • DBMS_CLOUD.DELETE_FILEを使用して、data_pump_dirディレクトリから、またはウォレット・ファイルがアップロードされたユーザー定義ディレクトリから削除します。

ENABLE_APP_CONTプロシージャ

このプロシージャは、Autonomous Databaseの特定のサービス名に関連付けられたセッションのデータベース・アプリケーション・コンティニュイティを有効にします。

構文

DBMS_CLOUD_ADMIN.ENABLE_APP_CONT(
    service_name      IN VARCHAR2);

パラメータ

パラメータ 説明

service_name

Autonomous Databaseサービスのservice_name

サービス名を検索するには:

  • 接続のためにAutonomous Databaseからダウンロードしたwallet.zipにあるtnsnames.oraファイルを調べます。

  • Oracle Cloud Infrastructure Consoleで「データベース接続」をクリックします。「接続文字列」領域の各接続文字列に、対応するサービスの接続文字列を含むservice_nameエントリが含まれます。Mutual TLS (mTLS)接続とTLS接続の両方が許可されている場合、「TLS認証」「TLS」を選択し、TLS認証を使用した接続のTNS名および接続文字列を表示します。詳細は、Autonomous DatabaseインスタンスのTNS名および接続文字列の表示を参照してください。

  • V$SERVICESビューを問い合せます。次に例を示します。

    SELECT name FROM V$SERVICES;

使用上のノート

Application Continuityの詳細は、アプリケーション・コンティニュイティの概要を参照してください。

BEGIN
    DBMS_CLOUD_ADMIN.ENABLE_APP_CONT(
        service_name => 'nvthp2ht_adb1_high.adb.oraclecloud.com'
    );
END;
/

次のように値を検証します:

SELECT name, failover_type FROM DBA_SERVICES;

NAME                                                    FAILOVER_TYPE
------------------------------------------------------- -------------
nvthp2ht_adb1_high.adb.oraclecloud.com                 TRANSACTION

ENABLE_AWS_ARNプロシージャ

このプロシージャにより、Autonomous Databaseインスタンスは、Amazonリソース名(ARN)を使用してAWSリソースにアクセスできます。

構文

DBMS_CLOUD_ADMIN.ENABLE_AWS_ARN(
       username     IN VARCHAR2 DEFAULT NULL,
       grant_option IN BOOLEAN DEFAULT FALSE);

パラメータ

パラメータ 説明

username

Amazonリソース名(ARN)の使用を有効にするユーザーの名前。

null値は、usernameに対して有効です。usernameが指定されていない場合、プロシージャは"ADMIN"ユーザーに適用されます。

grant_option

usernameが指定されているときに、grant_optionTRUEの場合、指定されたusernameは、他のユーザーのAmazonリソース名(ARN)の使用を有効にできます。

BEGIN
    DBMS_CLOUD_ADMIN.ENABLE_AWS_ARN(
        username => 'adb_user'); 
END;
/

使用上のノート

  • プロシージャDBMS_CLOUD_ADMIN.ENABLE_AWS_ARNを実行するには、ADMINユーザーである必要があります。

詳細は、Amazonリソース名(ARN)を使用したAWSリソースへのアクセスを参照してください。

ENABLE_EXTERNAL_AUTHENTICATIONプロシージャ

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

構文

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

パラメータ

パラメータ 説明

type

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

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

force

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

デフォルト値はFALSEです。

params

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

CMUパラメータ:

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

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

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

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

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

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

AZURE_ADパラメータ:

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

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

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

例外

例外 エラー 説明
invalid_ext_auth ORA-20004

詳細は、付随するメッセージを参照してください。

使用上のノート

  • typeOCI_IAMで、リソース・プリンシパルがAutonomous Databaseインスタンスで有効化されていない場合、このルーチンはDBMS_CLOUD_ADMIN.ENABLE_RESOURCE_PRINCIPALでリソース・プリンシパルを有効にします。

  • このプロシージャは、システム・パラメータIDENTITY_PROVIDER_TYPEおよびIDENTITY_PROVIDER_CONFIGを、Oracle Cloud Infrastructure Identity and Access Managementの認証および認可を使用してインスタンスにアクセスするために必要なユーザーに設定します。

サンプル

OCI_IAM認証の有効化

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

PL/SQL procedure successfully completed.

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;
/

PL/SQL procedure successfully completed.

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;
/

PL/SQL procedure successfully completed.

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;
/

PL/SQL procedure successfully completed.

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;
/

PL/SQL procedure successfully completed.

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 DatabaseインスタンスでKerberosを有効にした後、次の問合せを使用してKerberosサービス名を表示します:

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

ENABLE_FEATUREプロシージャ

このプロシージャは、Autonomous Databaseインスタンスで指定した機能を有効にします。

構文

DBMS_CLOUD_ADMIN.ENABLE_FEATURE(
    feature_name     IN VARCHAR2,
    params           IN  CLOB   DEFAULT NULL);

パラメータ

パラメータ 説明

feature_name

有効にする機能の名前。サポートされる値は次のとおりです。

  • 'AUTO_DST_UPGRADE': AUTO DST機能を有効にします。

  • 'AUTO_DST_UPGRADE_EXCL_DATA': AUTO DST EXCL DATA機能を有効にします。

  • 'JAVAVM': JAVAVM機能を有効にします。

  • 'OLAP': OLAP機能を有効にします。OLAPでは、Javaが有効になっている必要があります。OLAPを有効にすると、JavaはOLAP機能とともに自動的に有効になります。

  • 'ORAMTS': OraMTS機能を有効にします。

  • 'OWM': Oracle Workspace Managerを有効にします。

  • 'WORKLOAD_AUTO_REPLAY': ワークロードの自動リプレイ機能を有効にします。

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

params

一部の機能の追加パラメータを提供するJSON文字列。

OraMTS機能の場合、paramsパラメータは次のとおりです。
  • location_uri: location_uristring値を受け入れます。この値は、顧客ネットワーク内のOraMTSサーバーのHTTPS URLを指定します。

WORKLOAD_AUTO_REPLAY機能の場合、paramsパラメータは次のとおりです。

  • target_db_ocid: string値。この値は、取得されたワークロードがリプレイされるターゲット・リフレッシュ可能クローン・データベースのOCIDを指定します。リフレッシュ可能クローンは、「早期」パッチ・レベルが設定されている必要があります。

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

  • capture_duration: number値。この値は、本番データベースでワークロードが取得される期間(分)を指定します。値は1から720分の範囲内である必要があります。

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

  • capture_day: string値。この値は、本番データベースのワークロード取得を開始する曜日を指定します。

    このパラメータはオプション。

  • capture_time: HH24:MM形式の値。この値は、本番データベースでのワークロードの取得が開始される時刻を指定します。

    このパラメータはオプション。

デフォルトでは、WORKLOAD_AUTO_REPLAYを有効にするとワークロードの取得が開始されます。オプションのcapture_dayおよびcapture_timeが指定されている場合、取得およびリプレイは指定されたタイムスタンプで行われます。たとえば、capture_dayが月曜日で、capture_timeが15:00の場合、最初の取得は次の月曜日の午後3時に行われます。曜日と時間は、リフレッシュ可能クローンで後回のリプレイをスケジュールするためにも使用されます。

JAVAVM機能を有効にする例:

BEGIN
   DBMS_CLOUD_ADMIN.ENABLE_FEATURE (
        feature_name => 'JAVAVM' );
END;
/

自動DST機能を有効にする例:

BEGIN
   DBMS_CLOUD_ADMIN.ENABLE_FEATURE (
        feature_name => 'AUTO_DST_UPGRADE' );
END;
/

自動DST EXCLデータ機能を有効にする例:

BEGIN
   DBMS_CLOUD_ADMIN.ENABLE_FEATURE (
        feature_name => 'AUTO_DST_UPGRADE_EXCL_DATA' );
END;
/

OraMTS機能を有効にする例:

BEGIN 
   DBMS_CLOUD_ADMIN.ENABLE_FEATURE(
        feature_name => 'ORAMTS',   
        params       => JSON_OBJECT('location_uri' VALUE 'https://mymtsserver.mycorp.com')
   );
END;
/

OWM機能を有効にする例:

BEGIN 
   DBMS_CLOUD_ADMIN.ENABLE_FEATURE(
        feature_name => 'OWM' );
END;
/

ワークロード自動リプレイ機能を有効にする例

BEGIN 
   DBMS_CLOUD_ADMIN.ENABLE_FEATURE(
        feature_name => 'WORKLOAD_AUTO_REPLAY',
        params       => JSON_OBJECT('target_db_ocid' VALUE 'OCID1.autonomousdatabase.REGION..ID1', 'capture_duration' VALUE 120, 'capture_day' VALUE 'MONDAY', 'capture_time' VALUE '15:00'));
END;
/

エラー値ORA-20000: Invalid argument for target_db_ocidは、指定したOCIDがリフレッシュ可能クローンでないことを示している可能性があります。この場合、リフレッシュ可能クローンの値をOCIDに指定する必要があります。

使用上のノート

  • DBMS_CLOUD_ADMIN.ENABLE_FEATUREを実行するには、ADMINユーザーとしてログインするか、DBMS_CLOUD_ADMINに対するEXECUTE権限を持っている必要があります。

  • feature_nameに値'JAVAVM'を指定してDBMS_CLOUD_ADMIN.ENABLE_FEATUREを実行したら、Autonomous Databaseインスタンスを再起動してOracle Javaをインストールする必要があります。

    Autonomous Databaseインスタンスを再起動すると、データベースがオープンされてからしばらくJavaインストールが続行されます。

    Javaインストールのステータスを確認する方法の詳細は、Oracle Javaバージョンの確認を参照してください。

  • feature_nameに値'OWM'を指定してDBMS_CLOUD_ADMIN.ENABLE_FEATUREを実行したら、Autonomous Databaseインスタンスを再起動してOracle Workspace Managerを有効にする必要があります。Oracle

  • データベースのAUTO_DST_UPGRADEAUTO_DST_UPGRADE_EXCL_DATAORAMTSJAVAVMOWMまたはWORKLOAD_AUTO_REPLAY機能を有効にするには、ADMINユーザーとしてログインするか、DBMS_CLOUD_ADMINに対するEXECUTE権限を持っている必要があります。

  • デフォルトでは、AUTO_DST_UPGRADEAUTO_DST_UPGRADE_EXCL_DATAの両方が無効です。これらのオプションのいずれかを有効にできますが、両方は有効にできません。

  • AUTO_DST_UPGRADEを有効にした後、次回Autonomous Databaseインスタンスを再起動または停止してから起動すると、インスタンスは最新の使用可能なタイム・ゾーン・ファイルを使用するようにアップグレードされます。AUTO_DST_UPGRADEを有効にした後、新しいタイム・ゾーン・ファイルが使用可能になると、インスタンスは、機能が無効になるまで、再起動または停止および起動のたびに、使用可能な最新バージョンにアップグレードし続けます。

    dba_cloud_configを問い合せて、AUTO_DST_UPGRADEが有効になっていることを確認します。

    SELECT param_name, param_value FROM dba_cloud_config WHERE
           LOWER(param_name) = 'auto_dst_upgrade';
    
    PARAM_NAME       PARAM_VALUE
    ---------------- -------------- 
    auto_dst_upgrade enabled
  • AUTO_DST_UPGRADE_EXCL_DATAを有効にすると、Autonomous Databaseインスタンスがアップグレードされ、使用可能な最新のタイム・ゾーン・ファイルが使用されます。この機能を有効にすると、後続のメンテナンス・ウィンドウごとにインスタンスがアップグレードされ、使用可能な最新のタイム・ゾーン・バージョンが使用されます。この機能により、データベースのタイムゾーン・ファイルがアップグレードされます(AUTO_DST_UPGRADE_EXCL_DATAを有効にしても、影響を受ける行は更新されません)。

    dba_cloud_configを問い合せて、AUTO_DST_UPGRADE_EXCL_DATAが有効になっていることを確認します。

    SELECT param_name, param_value FROM dba_cloud_config WHERE
           LOWER(param_name) = 'auto_dst_upgrade_excl_data';
    
    PARAM_NAME                    PARAM_VALUE
    --------------------------    -----------
    auto_dst_upgrade_excl_data    enabled

ENABLE_OPERATOR_ACCESSプロシージャ

Oracle Cloud OperationsはAutonomous Databaseインスタンスにアクセスせず、アクセスはデフォルトでは許可されません。問題のトラブルシューティングまたは軽減にアクセスする必要がある場合、クラウド・オペレータがデータベース・スキーマへのアクセスを限られた期間許可できます。

構文

DBMS_CLOUD_ADMIN.ENABLE_OPERATOR_ACCESS(
    auth_duration    IN  NUMBER  DEFAULT 1
);

パラメータ

パラメータ 説明

auth_duration

クラウド・オペレータにアクセス権が付与される時間数を指定します。

有効な値: 1から24の範囲の整数である必要があります。

デフォルトの値: 1

BEGIN
   DBMS_CLOUD_ADMIN.ENABLE_OPERATOR_ACCESS(
       auth_duration => 12 );
END;
/

使用上のノート

  • ORA-20000: Operator access is already enabledは、オペレータ・アクセスがすでに付与されていることを示します。この場合は、次の2つの方法があります。

    • オペレータ・アクセスが期限切れになるまで待機してから、DBMS_CLOUD_ADMIN.ENABLE_OPERATOR_ACCESSを使用してオペレータ・アクセスを再度付与します

    • DISABLE_OPERATOR_ACCESSプロシージャを使用してオペレータ・アクセスを明示的に無効にします。
  • DBMS_CLOUD_ADMIN.ENABLE_OPERATOR_ACCESSは、Cloud Operatorへのアクセスのみを許可し、他のユーザーのアクセスは有効にしません。Cloud Operatorによって実行されるすべての操作は、ビューDBA_OPERATOR_ACCESSに格納されます。詳細は、「Oracle Cloud Infrastructureの操作アクションの表示」を参照してください。

  • プロシージャDBMS_CLOUD_ADMIN.ENABLE_OPERATOR_ACCESSを実行して、クラウド・オペレータがデータベース・スキーマにアクセスできるようにします。つまり、Oracle Cloud Supportでサービス・リクエストを申請し、Oracle Cloud Operatorがデータベース・スキーマにアクセスする必要がある場合は、DBMS_CLOUD_ADMIN.ENABLE_OPERATOR_ACCESSを実行してオペレータ・アクセスも有効にする必要があります。

ENABLE_PRINCIPAL_AUTHプロシージャ

このプロシージャは、Autonomous Database上の指定されたプロバイダのプリンシパル認証を有効にして、ADMINユーザーまたは指定されたユーザーに適用します。

構文

DBMS_CLOUD_ADMIN.ENABLE_PRINCIPAL_AUTH(
       provider    IN VARCHAR2,
       username    IN VARCHAR2 DEFAULT 'ADMIN',
       params      IN CLOB DEFAULT NULL);

パラメータ

パラメータ 説明

provider

プロバイダのタイプを指定します。

有効な値:

  • AWS: Amazonリソース名(ARN)の使用の有効化
  • AZURE: Azureサービス・プリンシパルの使用の有効化
  • GCP: Googleサービス・アカウントの使用の有効化
  • OCI: リソース・プリンシパルの使用の有効化

username

プリンシパル認証の使用を有効にするユーザーの名前。

null値は、usernameに対して有効です。usernameが指定されていない場合、プロシージャは"ADMIN"ユーザーに適用されます。

params

構成パラメータを指定します。

providerパラメータがAWSGCPまたはOCIの場合、paramsは必要ありません。デフォルト値はNULLです。

grant_option: このパラメータはすべてのプロバイダに有効で、ブール値TRUEまたはFALSEです。デフォルトはFALSEです。

TRUEおよびusernameが指定されている場合、指定されたユーザーはENABLE_PRINCIPAL_AUTHを使用して他のユーザーを有効にできます。

providerパラメータがAWSの場合、次のオプションも有効です。

providerパラメータがAZUREの場合、このオプションも有効です。

  • azure_tenantid: AzureテナントIDの値。

使用上のノート

  • providerパラメータがAZUREの場合、次のケースではparamsパラメータにazure_tenantidを含める必要があります:

    • DBMS_CLOUD_ADMIN.ENABLE_PRINCIPAL_AUTHが初めてコールされるとき。

    • DBMS_CLOUD_ADMIN.ENABLE_PRINCIPAL_AUTHが、providerパラメータのAZUREおよびusernameADMINを使用してDBMS_CLOUD_ADMIN.DISABLE_PRINCIPAL_AUTHがコールされた後に初めてコールされるとき。

  • providerパラメータがAWSの場合:

    • DBMS_CLOUD_ADMIN.ENABLE_PRINCIPAL_AUTHを実行してAutonomous DatabaseインスタンスでARNを有効にすると、AWS$ARNという名前の資格証明を入力として取得する任意のDBMS_CLOUD APIで使用できます。

サンプル

BEGIN 
     DBMS_CLOUD_ADMIN.ENABLE_PRINCIPAL_AUTH(
       provider => 'AZURE',
       username => 'SCOTT',
       params   => JSON_OBJECT('azure_tenantid' value 'azure_tenantid'));
END;
/
BEGIN
     DBMS_CLOUD_ADMIN.ENABLE_PRINCIPAL_AUTH( 
     provider => 'GCP',
     username => 'SCOTT',
     params => JSON_OBJECT(
         'grant_option' value 'TRUE' ));
END;
/
BEGIN
     DBMS_CLOUD_ADMIN.ENABLE_PRINCIPAL_AUTH( 
     provider => 'AWS',
     username => 'SCOTT',
     params => JSON_OBJECT(
         'aws_role_arn' value 'arn:aws:iam::123456:role/AWS_ROLE_ARN',
          'external_id_type' value 'TENANT_OCID'));
END;
/

ENABLE_RESOURCE_PRINCIPALプロシージャ

データベースまたは指定したスキーマのリソース・プリンシパル資格証明を有効にします。このプロシージャは、資格証明OCI$RESOURCE_PRINCIPALを作成します。

構文

DBMS_CLOUD_ADMIN.ENABLE_RESOURCE_PRINCIPAL(
   username         IN VARCHAR2,
   grant_option     IN BOOLEAN DEFAULT FALSE);

パラメータ

パラメータ 説明

username

オプションのユーザー名を指定します。リソース・プリンシパル・アクセスを付与するデータベース・スキーマの名前。

usernameを指定しない場合、usernameはADMINに設定されます。

grant_option

usernameが指定されているときに、grant_optionTRUEの場合、指定されたusernameは、他のユーザーのリソース・プリンシパルの使用を有効にできます。

例外

例外 エラー 説明
resource principal is already enabled ORA-20031

リソース・プリンシパルを有効にしようとしたときに、すでに有効化されている場合。

使用上のノート

  • データベース・ユーザー・スキーマのusernameを使用してDBMS_CLOUD_ADMIN.ENABLE_RESOURCE_PRINCIPALをコールする前に、DBMS_CLOUD_ADMIN.ENABLE_RESOURCE_PRINCIPALをADMINのusername付きで、または引数なしでコールする必要があります。

  • DBMS_CLOUD_ADMIN.ENABLE_RESOURCE_PRINCIPALをコールする前に、動的グループと、その動的グループのポリシーを設定する必要があります。

    ポリシー、動的グループの作成およびルールの作成の詳細は、次を参照してください:

  • DBMS_CLOUD_ADMIN.ENABLE_RESOURCE_PRINCIPALを使用してリソース・プリンシパルを有効にすることは、1回かぎりの操作です。DBMS_CLOUD_ADMIN.DISABLE_RESOURCE_PRINCIPALを実行してリソース・プリンシパルを無効にしないかぎり、リソース・プリンシパルを再度有効にする必要はありません。

  • リソース・プリンシパルは、リフレッシュ可能クローンでは使用できません。

EXEC DBMS_CLOUD_ADMIN.ENABLE_RESOURCE_PRINCIPAL();

PL/SQL procedure successfully completed. 

SQL> select owner, credential_name from dba_credentials where credential_name = 'OCI$RESOURCE_PRINCIPAL'; 

OWNER    CREDENTIAL_NAME
-------  ---------------
ADMIN    OCI$RESOURCE_PRINCIPAL

FINISH_WORKLOAD_CAPTUREプロシージャ

このプロシージャは、現在のワークロード取得を終了し、後続のワークロード取得リクエストをデータベースに対して停止し、取得ファイルをオブジェクト・ストレージにアップロードします。

BEGIN
    DBMS_CLOUD_ADMIN.FINISH_WORKLOAD_CAPTURE
END;
/

使用上のノート

  • このプロシージャを実行するには、ADMINユーザーとしてログインするか、DBMS_CLOUD_ADMINに対するEXECUTE権限を持っている必要があります。

  • durationパラメータをSTART_WORKLOAD_CAPTUREに渡すと、指定された時間に達すると取得が終了します。ただし、FINISH_WORKLOAD_CAPTUREをコールすると、(durationパラメータで指定された時間より前などに)ワークロードの取得が停止します。

    DBA_CAPTURE_REPLAY_STATUSビューを問い合せて、終了ワークロードのステータスを確認できます。詳細は、DBA_CAPTURE_REPLAY_STATUSビューを参照してください。

ノート

取得ファイルをダウンロードするには、FINISH_WORKLOAD_CAPTUREの完了およびオブジェクト・ストレージ・リンクについて通知を受け取るには、情報イベントcom.oraclecloud.databaseservice.autonomous.database.informationをサブスクライブする必要があります。このPAR URLはイベントのcaptureDownloadURLフィールドに含まれており、生成日から7日間有効です。詳細は、Autonomous Databaseの情報イベントを参照してください。

PREPARE_REPLAYプロシージャ

PREPARE_REPLAYプロシージャは、リフレッシュ可能クローンをリプレイ用に準備します。

パラメータ

パラメータ 説明
capture_name ワークロード取得の名前を指定します。

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

構文

DBMS_CLOUD_ADMIN.PREPARE_REPLAY(
        capture_name IN VARCHAR2);

BEGIN
    DBMS_CLOUD_ADMIN.PREPARE_REPLAY
      capture_name => 'cap_test1');
END;
/

この例では、リフレッシュ可能クローンを準備して、capture_nameパラメータで指定されたワークロードをリプレイします。これには、取得開始時間までリフレッシュしてから切断することが含まれます。

使用上のノート

  • このプロシージャを実行するには、ADMINユーザーとしてログインするか、DBMS_CLOUD_ADMINに対するEXECUTE権限を持っている必要があります。

PURGE_FLASHBACK_ARCHIVEプロシージャ

このプロシージャにより、ADMINユーザーはフラッシュバック・データ・アーカイブから履歴データをパージできます。フラッシュバック・データ・アーカイブflashback_archiveからすべての履歴データをパージすることも、タイムスタンプまたはシステム変更番号に基づいて選択的なデータをパージすることもできます。

構文

DBMS_CLOUD_ADMIN.PURGE_FLASHBACK_ARCHIVE( 
   scope      IN VARCHAR2, 
   before_scn IN INTEGER DEFAULT NULL, 
   before_ts  IN TIMESTAMP DEFAULT NULL); 
パラメータ 説明
scope フラッシュバック・データ・アーカイブからデータを削除する範囲を指定します。
  • allは、PURGE ALL;before_scnbefore_timestampの両方をNULLにする必要があります。

  • scnは、PURGE BEFORE SCN;before_scnがNULL以外である必要があり、before_timestampがNULLである必要があることを意味します。

  • TIMESTAMPは、PURGE BEFORE timestamp;before_scnがNULLである必要があり、before_timestampがNULL以外である必要があることを意味します。

before_scn これは、フラッシュバック・アーカイブからすべてのデータが削除される前のシステム変更番号を指定します。
before_timestamp これは、フラッシュバック・アーカイブからすべてのデータが削除される前のタイムスタンプを指定します。

BEGIN
	DBMS_CLOUD_ADMIN.PURGE_FLASHBACK_ARCHIVE(
           scope => 'ALL'); // Purge all historical data from Flashback Data Archive flashback_archive
END;
/

REPLAY_WORKLOADプロシージャ

このプロシージャは、Autonomous Databaseインスタンスでワークロード・リプレイを開始します。オーバーロードされた形式では、Autonomous Databaseインスタンス、オンプレミス・データベースまたはその他のクラウド・サービス・データベースから取得ファイルをリプレイできます。

構文


DBMS_CLOUD_ADMIN.REPLAY_WORKLOAD(
        capture_name                  IN VARCHAR2,        
        replay_name                   IN VARCHAR2 DEFAULT NULL,
        capture_source_tenancy_ocid   IN VARCHAR2 DEFAULT NULL,
        capture_source_db_name        IN VARCHAR2 DEFAULT NULL);

DBMS_CLOUD_ADMIN.REPLAY_WORKLOAD(
        location_uri      IN VARCHAR2,               
        credential_name   IN VARCHAR2 DEFAULT NULL,
        synchronization   IN BOOLEAN  DEFAULT TRUE,
        process_capture   IN BOOLEAN  DEFAULT TRUE);

パラメータ

パラメータ 説明
CAPTURE_NAME ワークロード取得の名前を指定します。

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

REPLAY_NAME リプレイ名を指定します。

REPLAY_NAME値を指定しない場合、REPLAY_NAMEREPLAY_RANDOMNUMBERという書式で自動生成されます(たとえば、REPLAY_1678329506)。

CAPTURE_SOURCE_TENANCY_OCID ワークロード取得のソース・テナンシOCIDを指定します。

CAPTURE_SOURCE_TENANCY_OCID値を指定しない場合、CAPTURE_SOURCE_TENANCY_OCIDはNULLに設定されます。

このパラメータは、フル・クローンでワークロード取得を実行する場合にのみ必須です。

CAPTURE_SOURCE_DB_NAME ワークロード取得のソース・データベース名を指定します

CAPTURE_SOURCE_DB_NAME値を指定しない場合、CAPTURE_SOURCE_DB_NAMEはNULLに設定されます。

このパラメータは、フル・クローンでワークロード取得を実行する場合にのみ必須です。

LOCATION_URI 取得されたファイルを含むオブジェクト・ストレージの場所を指すURIを指定します。

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

CREDENTIAL_NAME オブジェクト・ストレージ・バケットにアクセスするための資格証明を指定します。

credential_name値を指定しない場合、データベースのデフォルトの資格証明が使用されます。

SYNCHRONIZATION ワークロードのリプレイ時に使用する同期方法を指定します。
  • TRUEは、同期がSCNに基づくことを指定します。

  • FALSEは、同期がTIMEに基づくことを指定します。

synchronization値を指定しない場合、synchronizationはTRUEに設定されます。

PROCESS_CAPTURE process_capture値を指定する必要があります。FALSEに設定できるのは、ターゲット・データベースで同じワークロードを繰り返しリプレイする場合のみです。

process_capture値を指定しない場合、process_captureはTRUEに設定されます。

Autonomous Databaseインスタンスのオンプレミス・データベースからワークロードをリプレイする例:

BEGIN 
  DBMS_CLOUD_ADMIN.REPLAY_WORKLOAD(
        location_uri    => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o',
        credential_name => 'CRED_TEST',
        synchronization => TRUE,
        process_capture => TRUE);    
END;
/

この例では、次の処理を実行します。

  • location_uriで指定されたオブジェクト・ストレージの場所から取得ファイルをダウンロードし、process_captureパラメータ値に基づいて取得ファイルを処理します。

  • synchronizationパラメータ値に基づいて、取得したワークロードをリプレイします。

この例では、namespace-stringはOracle Cloud Infrastructureオブジェクト・ストレージ・ネームスペースで、bucketnameはバケット名です。詳細は、オブジェクト・ストレージ・ネームスペースの理解を参照してください。

オブジェクト・ストレージの詳細は、Oracle Cloud Infrastructure Object Storageへの移動とバケットの作成を参照してください。

オブジェクト・ストレージへのファイルのアップロードの詳細は、Oracle Cloud Infrastructure Object Storeバケットへのファイルのアップロードを参照してください。

このステップで使用するcredential_nameは、オブジェクト・ストアの資格証明です。

リソース・プリンシパル資格証明を有効にする場合、Oracle Cloud Infrastructure Object Storeにアクセスするための資格証明を作成する必要はありません。詳細は、リソース・プリンシパルを使用したOracle Cloud Infrastructureリソースへのアクセスを参照してください。

別のAutonomous Database上のAutonomous Databaseインスタンスからワークロードをリプレイする例:

BEGIN 
  DBMS_CLOUD_ADMIN.REPLAY_WORKLOAD(
        capture_name => 'CAP_TEST1');
END;
/

この例では、次の処理を実行します。

  • 現在のAutonomous Databaseインスタンスを切断します。

  • オブジェクト・ストレージから取得ファイルをダウンロードします。

  • 取得したワークロードをリプレイします。

  • リプレイ後にリプレイ・レポートをアップロードします。

別のAutonomous Database上のオンプレミスまたは他のCloud Serviceデータベースからのワークロードのリプレイに関する使用上のノート

  • このプロシージャを実行するには、ADMINユーザーとしてログインするか、DBMS_CLOUD_ADMINに対するEXECUTE権限を持っている必要があります。

  • リプレイを開始する前に、ワークロード取得ファイルを含むcapおよびcapfilesサブディレクトリを、オブジェクト・ストレージの場所にアップロードする必要があります。

別のAutonomous Database上のAutonomous Databaseインスタンスからのワークロードのリプレイに関する使用上のノート

  • このプロシージャを実行するには、ADMINユーザーとしてログインするか、DBMS_CLOUD_ADMINに対するEXECUTE権限を持っている必要があります。

  • リプレイ・ファイルは、zipファイルとしてオブジェクト・ストアに自動的にアップロードされます。

  • DBA_CAPTURE_REPLAY_STATUSビューを問い合せると、ワークロードのリプレイ・ステータスを確認できます。

    詳細は、DBA_CAPTURE_REPLAY_STATUSビューを参照してください。

ノート

リプレイ・レポートをダウンロードするには、情報イベントcom.oraclecloud.databaseservice.autonomous.database.informationをサブスクライブして、REPLAY_WORKLOADの開始と完了、およびオブジェクト・ストレージ・リンクについて通知する必要があります。このPAR URLはイベントのreplayDownloadURLフィールドに含まれており、生成日から7日間有効です。詳細は、Autonomous Databaseの情報イベントを参照してください。

SET_FLASHBACK_ARCHIVE_RETENTIONプロシージャ

このプロシージャを使用すると、ADMINユーザーはフラッシュバック・データ・アーカイブflashback_archiveの保持期間を変更できます。

構文


DBMS_CLOUD_ADMIN.SET_FLASHBACK_ARCHIVE_RETENTION (
    retention_days INTEGER);
パラメータ 説明
retention_days これは、アーカイブされたデータを保持する期間を日数で指定します。retention_daysの値は、0より大きい必要があります。

BEGIN
     DBMS_CLOUD_ADMIN.SET_FLASHBACK_ARCHIVE_RETENTION(
           retention_days => 90); // sets the retention time to 90 days
END;
/

START_WORKLOAD_CAPTUREプロシージャ

このプロシージャは、Autonomous Databaseインスタンスでワークロードの取得を開始します。

構文

DBMS_CLOUD_ADMIN.START_WORKLOAD_CAPTURE(
        capture_name  IN VARCHAR2,
        duration      IN NUMBER   DEFAULT NULL);

パラメータ

パラメータ 説明
capture_name ワークロード取得の名前を指定します。

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

duration ワークロード取得を実行する期間(分)を指定します。
  • duration値を指定しない場合、durationはNULLに設定されます。

  • NULLに設定すると、FINISH_WORKLOAD_CAPTUREプロシージャを実行するまでワークロードは続行されます。

BEGIN 
  DBMS_CLOUD_ADMIN.START_WORKLOAD_CAPTURE(
        capture_name => 'test');
END;
/

使用上のノート

  • このプロシージャを実行するには、ADMINユーザーとしてログインするか、DBMS_CLOUD_ADMINに対するEXECUTE権限を持っている必要があります。

  • ワークロードに対するシステム変更の影響を測定するには、取得およびリプレイ・システムが同じ論理状態であることを確認する必要があります。

  • ワークロードの取得を開始する前に、リフレッシュ可能クローンのプロビジョニングを検討して、リプレイの開始ポイントを同じにしてください。

ノート

START_WORKLOAD_CAPTUREの開始時に通知を受け取るには、情報イベントcom.oraclecloud.databaseservice.autonomous.database.informationをサブスクライブする必要があります。詳細は、Autonomous Databaseの情報イベントを参照してください。