機械翻訳について

Oracle管理の異機種間接続による非Oracle Databaseへのデータベース・リンクの作成

「Oracle管理の異機種間接続」Autonomous Databaseサポートにより、Oracle以外のデータベースへのデータベース・リンクを簡単に作成できます。

「Oracle管理の異機種間接続」でデータベース・リンクを使用すると、Autonomous DatabaseはOracle以外のデータベースへの接続を構成および設定します。

ノート:

「Oracle管理の異機種間接続」では、リモート・データベースでの問合せのみの接続がサポートされます。 つまり、「Oracle管理の異機種間接続」を使用する場合、更新はサポートされていません。

次に、Autonomous DatabaseOracle管理の異機種間接続を使用するための前提条件を示します:

  • ターゲット・データベースがパブリック・エンドポイントにある場合は、CA署名証明書による受信SSL/TLS接続を許可するようにデータベースを構成する必要があります。

    「Oracle管理の異機種間接続」は、プライベート・エンドポイント上のターゲット・データベース・サービスへの接続をサポートします(たとえば、サービスがプライベート・エンドポイント上にある場合はOracle MySQL Database Serviceに接続できます)。 プライベート・エンドポイントで「Oracle管理の異機種間接続」を使用してoracle以外のデータベースに接続する場合、接続はTCPプロトコルを使用し、ターゲット・データベースでSSL/TLSを構成する必要はありません。

    詳細については、「Oracle管理の異機種間接続によるプライベート・エンドポイントでのOracle MySQLへのデータベース・リンクの作成」を参照してください。

「Oracle管理の異機種間接続」を使用してOracle以外のデータベースへのデータベース・リンクを作成するには、次の手順を実行します:

  1. Autonomous Databaseで、ターゲット・データベースにアクセスするための資格証明を作成します。 DBMS_CLOUD.CREATE_CREDENTIALで指定するusernameおよびpasswordは、データベース・リンク内で使用されるターゲット・データベースの資格証明です。

    たとえば:

    BEGIN
      DBMS_CLOUD.CREATE_CREDENTIAL(
        credential_name => 'AWS_REDSHIFT_LINK_CRED',
        username => 'nick',
        password => 'password'
      );
    END;
    /

    この操作では、資格証明がデータベースに暗号化された形式で保存されます。  資格証明名には任意の名前を使用できます。 credential_nameパラメータを指定する必要があります。

    Google Analytics、Google BigQuery、Google Drive、Youtube、ServiceNowまたはMicrosoft SharePointにOAuth2を使用してアクセスするには、資格証明に値gcp_oauth2paramsパラメータを含める必要があります。

    たとえば:

    BEGIN
      DBMS_CLOUD.CREATE_CREDENTIAL(
        credential_name => 'SERVICENOW_OAUTH',
        params => JSON_OBJECT(
                     'gcp_oauth2' value JSON_OBJECT(
                            'client_id' value 'CLIENT_ID', 
                            'client_secret' value 'CLIENT_SECRET', 
                            'refresh_token' value 'Refresh_Token')));
    END;
    /

    詳細については、「CREATE_CREDENTIALプロシージャ」を参照してください。

  2. DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINKを使用して、ターゲット・データベースへのデータベース・リンクを作成します。

    たとえば、AWS Redshiftへのデータベース・リンクを作成するには:

    BEGIN
         DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK(
              db_link_name => 'AWSREDSHIFT_LINK', 
              hostname => 'example.com', 
              port => '5439',
              service_name => 'example_service_name',
              credential_name => 'AWS_REDSHIFT_LINK_CRED',
              gateway_params => JSON_OBJECT('db_type'  value 'awsredshift'),
              ssl_server_cert_dn => NULL);
    END;
    /

    service_nameは、Oracle以外のデータベースのデータベース名です。

    指定するgateway_params db_type値は、サポートされている値の1つである必要があります:

    db_type値 データベース・タイプ

    awsredshift

    Amazon Redshift

    azure

    Microsoft SQL Server

    Azure SQL

    Azure Synapse Analytics

    db2

    IBM Db2

    google_analytics

    Google Analytics

    google_bigquery

    Google BigQuery

    google_drive

    Googleドライブ

    hive

    Apache Hive

    mongodb

    MongoDB

    mysql

    MySQL

    mysql_community

    MySQL Community Edition

    postgres

    PostgreSQL

    salesforce

    Salesforce

    servicenow ServiceNow
    sharepoint Microsoft SharePoint

    snowflake

    Snowflake

    youtube

    YouTube

    Autonomous Databaseは、ターゲット・データベースへのセキュアな接続を自動的に構成および処理し、接続はエンド・ツー・エンドで暗号化されます。 「Oracle管理の異機種間接続」には、一般的な信頼できるルートおよび中間SSL証明書の大部分を含むウォレットが事前構成されています。 したがって、ssl_server_cert_dnパラメータの値としてNULLを指定する必要があります。

    「Oracle管理の異機種間接続」でデータベース・リンクを使用するときにセキュリティを確保するため、接続ポートは制限され、SSL/TLSを有効にする必要があります。 ターゲット・データベース・ポートは、portパラメータで指定します。

    サポートされている非Oracleデータベース・タイプのリストは、「Oracle管理の異機種間接続データベース・タイプおよびポート」を参照してください。

    HETEROGENEOUS_CONNECTIVITY_INFOビューには、サポートされているOracle異機種間接続タイプに関する情報が表示され、サポートされている各タイプのPL/SQLコード・サンプルが表示されます。 詳細については、「異種接続情報およびサンプルへのアクセス」を参照してください。

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

    db_type 指定されたdb_typeでサポートされるゲートウェイ・パラメータ
    azure

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

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

    Azure Active Directoryパスワードを使用するには、auth_method=13を設定します。 auth_method=13を使用してOracleオンプレミス・データベースにアクセスしないでください。

    詳細については、「Microsoft SQL Server認証メソッド」を参照してください。

    google_analytics

    db_type値がgoogle_analyticsの場合、hostnameは使用されず、example.comなどの値を指定できます。

    db_type google_analyticsの場合、資格証明は、gcp_oauth2値(client_idclient_secretおよびrefresh_token)を指定してparamsパラメータを使用するOAuth型の資格証明である必要があります。 詳細については、「CREATE_CREDENTIALプロシージャ」を参照してください。

    google_bigquery

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

    db_type値がgoogle_bigqueryの場合、hostnameは使用されず、example.comなどの値を指定できます。

    db_type google_bigqueryの場合、資格証明は、gcp_oauth2値(client_idclient_secretおよびrefresh_token)を指定してparamsパラメータを使用するOAuth型の資格証明である必要があります。 詳細については、「CREATE_CREDENTIALプロシージャ」を参照してください。

    google_drive

    db_type google_driveの場合、DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINKで指定する資格証明は、gcp_oauth2値(client_idclient_secretおよびrefresh_token)を指定したparamsパラメータを使用するOAuth型の資格証明である必要があります。

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

    gateway_paramsパラメータをdb_type google_driveとともに使用する場合は、gateway_paramsパラメータdb_typeに値'google_drive'を指定し、directory_nameおよびfile_nameパラメータをOAuthタイプの資格証明とともに指定する必要があります:

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

    create or replace directory google_drive_dir as 'GOOGLE_DRIVE_DIR';

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

    exec DBMS_CLOUD.get_object('google_drive_dir_cred',
         'https://objectstorage.<...>/google_drive.rest','GOOGLE_DRIVE_DIR');

    file_name値を、ダウンロードした自動RESTファイルの名前(google_drive.rest)に設定します。 その後、OAuth 2.0でREST構成ファイルを使用できます。

    hive

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

    salesforce

    gateway_paramsパラメータをdb_type salesforceとともに使用する場合は、security_tokenオプションを指定する必要があります。 セキュリティ・トークンは、大/小文字が区別される英数字コードです。

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

    db_type salesforcegateway_paramsパラメータを使用する場合は、正しいhostnameパラメータを指定する必要があります。

    Salesforceは、Salesforceサービス・アカウントに対して2つの形式のURLを提供します:

    • URLのxxxx.develop.lightning.force.com形式
    • 「プロファイルの表示」タブの下に表示されるURLのxxxxmy.salesforce.com形式。

    Oracle管理の異機種間接続では、hostnameパラメータ値のURLのxxxxmy.salesforce.com形式のみがサポートされます。

    servicenow

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

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

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

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

      db_type servicenowを使用したOAuth 2.0認証の場合、資格証明は、指定されたgcp_oauth2値(client_idclient_secretおよびrefresh_token)を指定したparamsパラメータを使用して、OAuthタイプの資格証明である必要があります。 詳細については、「CREATE_CREDENTIALプロシージャ」を参照してください。

    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 "に設定します。

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

    sharepoint

    gateway_paramsパラメータをdb_type sharepointとともに使用する場合は、auth_uri, scope, service_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_type snowflakegateway_paramsパラメータを使用する場合は、hostnameパラメータとしてSnowflakeアカウント識別子を使用します。 この場合、ドライバはsnowflakecomupting.comを追加するため、ホスト名のこの部分を明示的に渡しません。 Snowflakeアカウント識別子を検索するには、「クラウド・プラットフォームおよびリージョン別アカウント識別子フォーマット」を参照してください。

    たとえば : Snowflakeアカウントの場合:

    https://example-marketing_test_account.snowflakecomputing.com

    hostname値を"example-marketing_test_account"に設定します。

    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 youtubeの場合、資格証明は、paramsパラメータを使用してgcp_oauth2値(client_idclient_secretおよびrefresh_token)を指定したOAuthタイプの資格証明である必要があります。 詳細については、「CREATE_CREDENTIALプロシージャ」を参照してください。

    directory_nameパラメータは、youtube REST構成ファイルを含むディレクトリを指定します。

    たとえば、このディレクトリを作成して必要なコンテンツを追加するには:

    1. Autonomous Databaseインスタンスにディレクトリを作成します:

      create or replace directory youtube_dir as 'YOUTUBE_DIR';
    2. 自動停止REST構成ファイルを取得し、指定したディレクトリにダウンロードします。 たとえば:

      exec DBMS_CLOUD.get_object('youtube_dir_cred',
           'https://objectstorage.<...>/youtube.rest','YOUTUBE_DIR');
    3. file_name値を、ダウンロードしたREST構成ファイルの名前'youtube.rest'に設定します。

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

    詳細については、「CREATE_DATABASE_LINKプロシージャ」を参照してください。

  3. データベース・リンクを使用して、ターゲット・データベースのデータにアクセスします。

    たとえば:

    SELECT count(*) FROM sales@AWSREDSHIFT_LINK

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

    SELECT count(*) FROM "sales"@GOOGLE_BIGQUERY_LINK

ノート:

ステップ1で作成した資格証明(ターゲット・データベースの資格証明)について、ターゲット・ユーザーのパスワードが変更された場合、次のようにターゲット・ユーザーの資格証明を含む資格証明を更新できます:

BEGIN
    DBMS_CLOUD.UPDATE_CREDENTIAL (
       credential_name => 'AWS_REDSHIFT_LINK_CRED',
       attribute => 'PASSWORD',
       value => 'password');
END;
/

「パスワード」は新しいパスワードです。

この操作の後、この資格証明を使用する既存のデータベース・リンクは、データベース・リンクを削除して再作成することなく引き続き動作します。

追加情報

Oracle管理の異機種間接続によるプライベート・エンドポイントでのOracle MySQLへのデータベース・リンクの作成

「Oracle管理の異機種間接続」Autonomous Databaseサポートにより、プライベート・エンドポイントで「Oracle MySQLデータベース・サービス」へのデータベース・リンクを簡単に作成できます。 「Oracle管理の異機種間接続」でデータベース・リンクを使用すると、Autonomous Database「Oracle MySQLデータベース・サービス」への接続を構成および設定します。

プライベート・エンドポイントで「Oracle管理の異機種間接続」「Oracle MySQLデータベース・サービス」とともに使用するための前提条件を次に示します:

  • プライベートDNSゾーンを使用して、VCN内の「Oracle MySQLデータベース・サービス」のプライベートIPを指し示すDNS名を作成します。 「プライベートDNS」を参照してください。
  • 同じサブネットにプライベート・エンドポイントを含むAutonomous Databaseを作成します。
  • Oracle MySQL Database ServiceのVCNを構成して、ポート3306での受信接続を許可します。

「Oracle管理の異機種間接続」を使用してプライベート・エンドポイントの「Oracle MySQLデータベース・サービス」へのデータベース・リンクを作成するには、次の手順を実行します:

  1. Autonomous Databaseで、「Oracle MySQLデータベース・サービス」にアクセスするための資格証明を作成します。 DBMS_CLOUD.CREATE_CREDENTIALで指定するusernameおよびpasswordは、データベース・リンク内で使用される「Oracle MySQLデータベース・サービス」の資格証明です。

    ノート:

    credential_nameパラメータを指定する必要があります。

    たとえば:

    BEGIN
      DBMS_CLOUD.CREATE_CREDENTIAL(
        credential_name => 'MYSQL_LINK_CRED',
        username => 'NICK',
        password => 'password'
      );
    END;
    /
    

    この操作では、資格証明がデータベースに暗号化された形式で保存されます。  資格証明名には任意の名前を使用できます。

  2. DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINKを使用して、「Oracle MySQLデータベース・サービス」へのデータベース・リンクを作成します。

    たとえば、データベース・リンクを作成するには:

    BEGIN
         DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK(
              db_link_name => 'MYSQL_LINK', 
              hostname => 'mysql.example.com', 
              port => '3306',
              service_name => 'mysql.example_service_name',
              ssl_server_cert_dn => NULL,
              credential_name => 'MYSQL_LINK_CRED',
              private_target => TRUE,
              gateway_params => JSON_OBJECT('db_type' value 'mysql'));
    END;
    /
  3. データベース・リンクを使用して、ターゲット・データベースのデータにアクセスします。

    たとえば:

    SELECT count(*) FROM sales@MYSQL_LINK

ノート:

ステップ1で作成した資格証明(ターゲット・データベースの資格証明)について、ターゲット・ユーザーのパスワードが変更された場合、次のようにターゲット・ユーザーの資格証明を含む資格証明を更新できます:

BEGIN
    DBMS_CLOUD.UPDATE_CREDENTIAL (
       credential_name => 'MYSQL_LINK_CRED',
       attribute => 'PASSWORD',
       value => 'password');
END;
/

「パスワード」は新しいパスワードです。

この操作の後、この資格証明を使用する既存のデータベース・リンクは、データベース・リンクを削除して再作成することなく引き続き動作します。

追加情報

Oracle管理の異機種間接続データベース・タイプおよびポート

Autonomous Databaseから「Oracle管理の異機種間接続」で接続できるOracle以外のデータベースを表示し、各データベース・タイプでサポートされているポート値をリストします。 また、各データベース・タイプでサポートされているデータベース・バージョンを表示するリンクも提供します。

ノート:

Oracleでは、Progress DataDirectコネクタを使用します。 データベース・サポート列には、各データベース・タイプでサポートされているデータベース・バージョンを検索できる進行状況webサイトへのリンクが表示されます。
データベース・タイプ db_type値 必須ポート データベースのサポート

Amazon Redshift

awsredshift

5439

Amazon Redshiftでサポートされているバージョン

Azure SQL

Microsoft SQL Server

Azure Synapse Analytics

azure

1433

Azure SQLでサポートされているバージョン

Azure Synapse Analyticsでサポートされているバージョン

Apache Hive

hive

443

Hiveサポートされているバージョン

Google Analytics

google_analytics

443

Google Analyticsでサポートされているバージョン

Google BigQuery

google_bigquery

443

Google BigQueryのサポートされているバージョン

Googleドライブ

google_drive

443

Googleドライブでサポートされているバージョン

Apache Hive

hive

443

Hiveサポートされているバージョン

IBM Db2 11.5.6以上

IBM Db2 11.5.5以下

db2

25000

50000

IBM Db2でサポートされるバージョン

Microsoft SharePoint

sharepoint

443

Microsoft SharePointでサポートされているバージョン

MongoDB

mongodb

27017

MongoDBサポートされているバージョン

MySQL

mysql

3306

MySQLサポートされているバージョン

MySQL Community Edition

mysql_community

3306

 

PostgreSQL

postgres

5432

PostgreSQLサポートされているバージョン

Salesforce

salesforce

19937

Salesforceサポートされているバージョン

ServiceNow

servicenow

443

ServiceNowサポートされているバージョン

Snowflake

snowflake

443

Snowflakeサポートされているバージョン

Youtube

youtube

443 Youtubeでサポートされているバージョン

異種接続情報およびサンプルへのアクセス

Oracle Autonomous Databaseは、Oracle以外のデータベースへのデータベース・リンク用の異種接続情報を提供します。

HETEROGENEOUS_CONNECTIVITY_INFOビューには、サポートされているOracle異機種間接続タイプに関する情報が表示され、サポートされている各タイプのPL/SQLコード・サンプルが表示されます。

たとえば:

SELECT * FROM HETEROGENEOUS_CONNECTIVITY_INFO WHERE DATABASE_TYPE = 'hive';

HETEROGENEOUS_CONNECTIVITY_INFOビュー

HETEROGENEOUS_CONNECTIVITY_INFOビューには、データベース・リンクおよびOracle Managed Heterogeneous Connectivityを使用してPL/SQLに接続するための接続情報および例がリストされます。

データ型 説明
DATABASE_TYPE VARCHAR2(32)

gateway_paramsパラメータで使用されるデータベース・タイプ値。

REQUIRED_PORT NUMBER

データベース・タイプでサポートされているポート値。

DESCRIPTION CLOB

DATABASE_TYPEの説明を指定します。

OPTIONAL_PARAMETERS VARCHAR2(1024)

DATABASE_TYPEの有効なオプション・パラメータを指定します。

SAMPLE_USAGE CLOB

DATABASE_TYPEのサンプルPL/SQLの使用方法を示します。