専用Exadataインフラストラクチャ上のAutonomous Databaseへの接続について
アプリケーションおよびツールは、Oracle Net Services (SQL*Netとも呼ばれる)を使用して専用Exadataインフラストラクチャ上のAutonomous Databaseに接続します。
Oracle Net Servicesは、データベースをホストする専用インフラストラクチャによって定義されたネットワークを介して、クライアント・アプリケーションからOracle Databaseサーバーへのネットワーク・セッションを可能にします。Oracleクラウド・デプロイメントでは、VCN (仮想クラウド・ネットワーク)およびサブネットを使用します。通常、サブネットはプライベートとして定義されます。これは、データベースへのパブリック・インターネット・アクセスがないことを意味します。Exadata Cloud@Customerデプロイメントでは、VMクラスタ・ネットワークを使用します。
Autonomous Databaseへの接続の保護
Autonomous Databaseには、専用データベースへの接続時に使用するデータベース・サービスのペアがいくつか用意されています。各ペアでは、一方のペアがTLSプロトコルを使用したセキュアなTCP (TCPS)接続を提供し、もう一方のペアがTCP接続を提供します。他のすべての点では、ペアの2つのメンバーは同じです。転送中のデータのセキュリティを確保するために、データベースがプライベート・サブネットを介してのみ使用可能な場合でも、セキュアな接続を使用することをお薦めします。独自のデータ・センター内でOracle Databaseを使用することに慣れている場合、これらのセキュアな接続をこれまで使用したことがない可能性があります。
- 使用可能なポートの範囲(1024 - 8999)から、Transport Layer Security (TLS)およびTLS以外用のSingle Client Access Name (SCAN)リスナー・ポートをカスタマイズします。「相互TLS (mTLS)認証の有効化」チェック・ボックスを選択して、相互TLS (mTLS)認証を選択することもできます。
- 一方向TLS認証モードと相互TLS (mTLS)認証モードのいずれかを選択します。ORDS証明書は一方向TLS証明書であるため、これはデータベースTLS証明書にのみ適用されます。
セキュアな接続を提供するために、証明書認証では、クライアント(アプリケーションが実行されている場所)とサーバー(Autonomous Databaseが実行されている場所)の両方でウォレットに格納された暗号化キーを使用します。接続するには、クライアントのキーがサーバーのキーと一致している必要があります。ウォレットには、データベースに接続するために必要なキーおよびその他の情報を含むファイルのコレクションが格納されています。クライアントとサーバー間のすべての通信は、暗号化されます。
Oracle Net Services (SQL *Net)接続タイプ
ネットワーク・セッションが確立されると、Oracle Net Servicesは、クライアント・アプリケーションとデータベースの両方に対するデータ伝達手段として機能します。これは、クライアント・アプリケーションとデータベース間での接続の確立および維持と、それらの間でのメッセージ交換を担当します。
Oracle Net Servicesは、Autonomous Databaseへの次のような様々な接続タイプをサポートしています:
-
Oracle Call Interface (OCI)。これは、C言語で記述された多くのアプリケーションによって使用されます。たとえば、Oracle SQL*Plus、SQL*Loader、Oracle Data PumpなどのOracleユーティリティがあります。
-
ODBCドライバ。これは、Microsoft Windows上で実行されているアプリケーションによって使用可能で、Oracle Call Interface (OCI)上にレイヤー化されています。
-
JDBC OCI: Java言語アプリケーションによって使用されます。JDBC OCIは、Oracle Call Interfaceの上にJavaアプリケーション用のレイヤーを追加します。Oracle SQLclコマンドライン・インタフェースはJDBC OCIを使用します。
-
JDBC Thinドライバ。これもJavaアプリケーション用で、Pure Javaドライバです。Oracle SQL Developerでは、JDBC Thinドライバ接続がサポートされます。
サードパーティ製品およびカスタム・アプリケーションは、これらの接続タイプを使用できます。
- Oracle Call Interface (OCI)の接続およびウォレット
WalletファイルとデータベースのユーザーIDおよびパスワードは、Autonomous Database内のデータへのアクセスを可能にします。ウォレット・ファイルは安全な場所に保存してください。 - Autonomous Databaseの事前定義済データベース・サービス名
- クライアント・アプリケーションを使用したAutonomous Databaseへの接続
Autonomous Databaseは、TNSリスナーを介してOracle Net Servicesをサポートするように事前構成されており、TCPS接続(クライアント資格証明を使用して保護)またはTCP接続のいずれかを使用するように構成されています。 - Oracle Databaseツールを使用したAutonomous Databaseへの接続
Autonomous Databaseでは、データベース・アクション、SQL Developer、SQLcl、SQL*PlusなどのOracle Databaseツールを使用できます。 - Microsoft .NET、Visual StudioおよびVisual Studio Codeを使用した接続
Oracle Autonomous Database on Dedicated Exadata Infrastructureは、Microsoft .NET Framework、.NET Core、Visual StudioおよびVisual Studio Codeへの接続をサポートしています。 - スクリプト言語を使用したAutonomous Databaseへの接続
Python、Node.js、PHP、Ruby、R、Go、Perlなどの様々な言語のプログラムを使用して、Oracle Autonomous Database on Dedicated Exadata Infrastructureに接続できます。セキュリティはクライアント資格証明を使用して適用されます。 - Oracle Cloud Infrastructure FastConnectを使用した接続
Oracle Cloud Infrastructure FastConnectを使用すると、FastConnectパブリック・ピアリングを使用してオンプレミス・ネットワークをAutonomous Databaseに簡単に接続できます。FastConnectは、インターネットベースの接続に比べて、高帯域幅のオプションを備えており、信頼性と一貫性が高いネットワーキングを実現できます。
親トピック: タスク
Oracle Call Interface (OCI)の接続およびウォレット
ウォレット・ファイルをデータベースのユーザーIDおよびパスワードと組み合せることで、Autonomous Databaseのデータにアクセスできます。ウォレット・ファイルは安全な場所に保存してください。
ウォレット・ファイルはデータベース内のデータへのアクセスを提供できるため、認可されたユーザーのみとウォレット・ファイルを共有する必要があります。権限のないユーザーがアクセスする可能性のある方法(たとえば、公開された電子メール経由)でウォレット・ファイルを送信する場合、ウォレット・パスワードを個別に安全な方法で送信してください。
Autonomous Databaseは、Oracle Cloudセキュリティ標準に基づいて、すべてのユーザーに対して強力なパスワード複雑性ルールを使用します。パスワード複雑性ルールの詳細は、データベース・ユーザーの作成を参照してください。
Autonomous Databaseのクライアント資格証明のダウンロードの詳細は、クライアント資格証明のダウンロードを参照してください。
Oracle Net Servicesは、sqlnet.ora
file.When WALLET_LOCATION
のWALLET_LOCATION
パラメータを使用してAutonomous Databaseウォレットの場所を検出し、Oracle Net Servicesは自動的にウォレットを使用します。ウォレットはアプリケーションに対して透過的に使用されます。WALLET_LOCATION
の設定の詳細は、「ODBCおよびJDBC Oracle Call Interface (OCI)接続の準備」を参照してください。
Autonomous Databaseの事前定義済データベース・サービス名
Autonomous Database on Dedicated Exadata Infrastructureには、データベースへの接続時に使用するデータベース・サービスのセットが複数用意されています。各セットでは、一方のサービスがTLSプロトコルを使用したセキュアなTCP (TCPS)接続を提供し、もう一方がTCP接続を提供します。Autonomous Data Guardを使用するように構成されたデータベースには、それに加えて、同じ接続タイプ(TCPSおよびTCP)でスタンバイ・データベースへの読取り専用アクセスができる2つのサービスがあります。
- tpurgent_tls、tpurgent、tpurgent_ro_tls、tpurgent_ro、tpurgent_ss_tlsおよびtpurgent_ss: 優先度の高いタイム・クリティカルなトランザクション処理操作の場合。
- tp_tls、tp、tp_ro_tls、tp_ro、tp_ss_tlsおよびtp_ss: 一般的なトランザクション処理操作用。
- high_tls、high、high_ro_tls、high_ro、high_ss_tls、および high_ss: 高優先度のレポートおよびバッチ操作の場合。
- medium_tls、medium、medium_ro_tls、medium_ro、medium_ss_tls、および medium_ss: 一般的なレポートおよびバッチ操作用。
- low_tls、low、low_ro_tls、low_ro、low_ss_tlsおよびlow_ss: 低優先度のレポートおよびバッチ操作用。
Autonomous Transaction Processingは、前述の接続サービス(tpurgent、tp、high、mediumおよびlow)をすべてサポートします。一方、Autonomous Data Warehouseは、低、中および高の接続サービスにのみ接続できます。
- tpおよびlowサービス: Autonomous Transaction Processingに使用します
- Autonomous Data Warehouseのlowサービス。
接続文字列は、前述のデータベース接続サービスごとに作成されます。これらの接続文字列は、Autonomous Databaseの接続文字列の表示の説明に従って、Oracle Cloud Infrastructure (OCI)コンソールから表示できます。
事前定義済データベース・サービスの主な特性
- コンカレント文: Autonomous Databaseがコンシューマ・グループに対して同時に処理できるSQL文の最大数。この数を超えると文がキューに入れられます。
- 並列度:パラレル実行は、複数のプロセスを作成および使用して単一のSQL文を実行する、専用Exadataインフラストラクチャ上のAutonomous Databaseの機能の1つです。並列度によって、使用できるプロセスの数を指定します。追加のプロセスを作成するパフォーマンス・コストが発生するため、パラレル実行は一般に次のような場合に役立ちます:
- 問合せで大きなデータ・セットが参照される場合。
- 並行性が低い場合。
- 経過時間が重要である場合。
- リソース共有: Autonomous Database on Dedicated Exadata Infrastructureは、Oracle Database Resource Managerコンシューマ・グループを使用して、データベース・サービス・ペアごとに異なるリソースを割り当てます。リソース共有は、あるコンシューマ・グループに対して保証されるリソースの割合を定義します。ただし、リソースの競合がない場合は、どのコンシューマ・グループもそのリソース共有分を超えて使用できます。
- FANが有効: 高速アプリケーション通知がデフォルトで有効かどうかを示します。
- TACが有効: 透過的アプリケーション・コンティニュイティがデフォルトで有効かどうかを示します。
サービス名 | 並列度 | リソース共有 | コンカレント文 | FANが有効 | TACが有効 |
---|---|---|---|---|---|
tpurgent_tls 、tpurgent 、tpurgent_ro_tls 、tpurgent_ro 、tpurgent_ss_tls およびtpurgent_ss |
手動で設定 | 12 | 300 x OCPU数または75 x ECPU数 | あり | あり |
tp_tls 、tp 、tp_ro_tls 、tp_ro 、tp_ss_tls およびtp_ss |
1 | 8 | 300 x OCPU数または75 x ECPU数 | あり | あり |
high_tls 、high 、high_ro_tls 、high_ro 、high_ss_tls およびhigh_ss |
1 x OCPU数、または0.5 x ECPU数 | 4 | 3 | あり | いいえ |
medium_tls 、medium 、medium_ro_tls 、medium_ro 、medium_ss_tls およびmedium_ss |
4 | 2 | 1.25×OCPU数または0.25125 x ECPU | あり | いいえ |
low_tls 、low 、low_ro_tls 、およびlow_ro 、low_ss_tls 、およびlow_ss |
1 | 1 | 300 x OCPU数または75 x ECPU数 | あり | いいえ |
ここで、OCPUまたはECPU数は、Oracle Cloudコンソールに表示されるCPU数です。
CPUオーバープロビジョニングを使用するtpおよびlowサービスでサポートされるコンカレント文の数は、フルOCPUまたはECPUの計算方法(300 x OCPUまたは150 x ECPU)と正確に計算されます。たとえば、0.5の値のOCPUの場合、tpおよびlowサービスで処理できるコンカレント文の合計数は300 X 0.5 (150)です。
サービスを使用してデータベースに接続した後は、接続のコンシューマ・グループを手動で変更してその接続を別のサービスに変更しないでください。Autonomous Databaseは、サービスを使用してデータベースに接続中にコンシューマ・グループを設定するだけでなく、接続を構成するためのその他のアクションを実行することに注意してください。
クライアント・アプリケーションを使用したAutonomous Databaseへの接続
Autonomous Databaseは、TNSリスナーを介してOracle Net Servicesをサポートするように事前構成されており、TCPS接続(クライアント資格証明を使用して保護)またはTCP接続のいずれかを使用するように構成されています。
Oracle Net Servicesを使用してAutonomous Databaseに接続するようにクライアント・コンピュータを準備する必要があります。アプリケーションは、Oracle Net Servicesでサポートされているいずれかの接続タイプを使用してAutonomous Databaseに接続できます。
次の各ステップでは、クライアント・アプリケーションを使用してAutonomous Databaseに接続するプロセスについて説明します:
-
アプリケーションで使用する接続タイプ(OCI、ODBC、JDBC Thinなど)を決定します。
-
アプリケーションで使用する接続タイプに対するクライアント・コンピュータを準備します。
-
Oracle Call Interface (OCI)、ODBCおよびJDBC OCI接続: Oracle Instant Clientをダウンロードおよびインストールし、Autonomous Databaseのクライアント資格証明をダウンロードしてOracle Instant Clientで使用できるようにすることで、Oracle Call Interface (OCI)、ODBCおよびJDBC OCI接続を準備します。
ステップ・バイ・ステップの手順については、「ODBCおよびJDBC Oracle Call Interface (OCI)接続の準備」を参照してください。
-
JDBC Thin接続の準備: Oracle Database JDBCドライバをダウンロードしてインストールし、Autonomous Databaseのクライアント資格証明をダウンロードしてOracle Database JDBCドライバで使用できるようにすることで、JDBCシン接続を準備します。
ステップ・バイ・ステップの手順については、「JDBC Thin接続の準備」を参照してください。
-
-
アプリケーション内で接続を設定します。
クライアント・コンピュータを準備するために必要なステップは、クライアント・アプリケーションで使用する接続タイプによって異なります。すべての場合において、ウォレット・ファイル形式のクライアント資格証明をクライアントにダウンロードする必要があります。
ウォレットZIPファイルのサポートが組み込まれたアプリケーション
一部のアプリケーションでは、接続プロパティの一部として資格証明ZIPファイルを選択できます。
たとえば、SQL Developer 18.3以上では、「接続タイプ」フィールドで値「クラウド・ウォレット」を選択すると、「構成ファイル」フィールドに資格証明ZIPファイルを入力できます。これにより、SQL Developerの「サービス」フィールドに、使用可能な接続のリストが表示されます(これらの接続は資格証明ファイルに含まれています)。
アプリケーションでウォレットがサポートされている場合や、Autonomous Database接続が特別にサポートされている場合(Oracle SQL Developerなど)は、そのタイプの接続を使用することをお薦めします。
Oracle Databaseツールを使用したAutonomous Databaseへの接続
Autonomous Databaseでは、データベース・アクション、SQL Developer、SQLcl、SQL*PlusなどのOracle Databaseツールを使用できます。
-
データベース・アクション: Oracle Database Actionsを使用したAutonomous Databaseへの接続
-
Oracle SQL Developer: Oracle SQL Developerを使用したAutonomous Databaseへの接続
-
Oracle SQLcl: Oracle SQLclでのAutonomous Databaseへの接続
-
SQL*Plus: SQL*Plusを使用したAutonomous Databaseへの接続
Microsoft .NET、Visual StudioおよびVisual Studio Codeを使用した接続
Oracle Autonomous Database on Dedicated Exadata Infrastructureは、Microsoft .NET Framework、.NET Core、Visual StudioおよびVisual Studio Codeへの接続をサポートしています。
Oracle Data Provider for .NET (ODP.NET)は、Autonomous Databaseへの実行時ADO.NETデータ・アクセスを提供します。ODP.NETには、次のドライバ・タイプがあります:
-
管理対象外のODP.NET for .NET Frameworkアプリケーション
-
管理対象のODP.NET for .NET Frameworkアプリケーション
-
ODP.NET Core for .NET Coreアプリケーション
Oracle Developer Tools for Visual Studioは、Oracle CloudでAutonomous Databasesを管理するツールを含む、Visual Studioでのデータベース・アプリケーションの設計時サポートを提供します。
Oracle Developer Tools for VS Codeは、Visual Studio Codeでのデータベース・アプリケーションの設計時サポートを提供します。
これらのソフトウェア・コンポーネントは、次のサイトから無償でダウンロードできます:
- 管理対象ODP.NETおよびODP.NETコア: NuGetギャラリ
- 管理対象外ODP.NET: Oracle Data Access Componentsのダウンロード
- Oracle Developer Tools for Visual Studio Code: VS Code Marketplace
- Oracle Developer Tools for Visual Studio: Visual Studio Marketplace
Oracleでは、Autonomous Databaseで最新のプロバイダおよびツール・バージョンを使用することをお薦めします。
設定手順
Oracle Autonomous Database on Dedicated Exadata Infrastructureで使用するために次のコンポーネントをダウンロード、インストールおよび構成する手順は、Oracle Autonomous Database用の.NETアプリケーションの開発を参照してください:
これらの手順は、TCPS (SSLを使用したTCP)でデータベースに接続する方法を示しています。この場合はウォレットを使用する必要があります。専用インフラストラクチャ上のデータベースの場合は、TCPでデータベースに接続できます。この場合はウォレットを使用する必要はありません。
Oracle Autonomous Database on Dedicated Exadata Infrastructureおよび.NETの使用についてさらに学習するには、無料のOracle Autonomous Databaseを使用した.NET開発クイック・スタートをお試しください。このラボでは、Autonomous Databaseに接続するOracle Cloud Infrastructureでの.NET Webサーバーの設定について順を追って説明します。次に、演習では、これらのコンポーネントすべてを使用する単純なASP.NETコアWebアプリケーションを開発およびデプロイします。結局は、インターネット上で動作するライブWebサイトがあります。
スクリプト言語を使用したAutonomous Databaseへの接続
Python、Node.js、PHP、Ruby、R、Go、Perlなどの様々な言語のプログラムを使用して、Oracle Autonomous Database on Dedicated Exadata Infrastructureに接続できます。セキュリティはクライアント資格証明を使用して適用されます。
これらのスクリプト言語には、Oracle Call Interface (OCI)ライブラリを使用するデータベース・アクセスAPIまたはドライバが含まれます。OCIライブラリは、フルOracle ClientまたはOracle Instant Clientのいずれかです。
-
Python: mTLSを使用したPythonアプリケーションの接続
-
Node.jsおよびその他のスクリプト言語: Node.jsおよびその他のスクリプト言語を使用した接続
Oracle Cloud Infrastructure FastConnectを使用した接続
Oracle Cloud Infrastructure FastConnectを使用すると、FastConnectパブリック・ピアリングを使用してオンプレミス・ネットワークをAutonomous Databaseに簡単に接続できます。FastConnectは、インターネットベースの接続に比べて、高帯域幅のオプションを備えており、信頼性と一貫性が高いネットワーキングを実現できます。
FastConnectを使用すると、インターネットを使用せずにOracle Cloud Infrastructureのサービス(たとえば、オブジェクト・ストレージやOracle Cloud InfrastructureコンソールおよびAPIなど)にアクセスできます。FastConnectを使用しない場合、パブリックIPアドレスを宛先とするトラフィックはインターネット経由でルーティングされます。FastConnectを使用する場合、そのトラフィックはプライベートな物理接続を経由します。
Oracle Cloud Infrastructure FastConnectを使用したAutonomous Databaseへの接続の詳細は、FastConnectの概要を参照してください。