Autonomous AI Databaseへの接続
アプリケーションおよびツールは、Oracle Net Services (SQL*Netとも呼ばれる)を使用して、専用Exadataインフラストラクチャ上のAutonomous AI Databaseに接続します。
Oracle Net Servicesにより、クライアント・アプリケーションからOracle Databaseサーバーへのネットワーク・セッションが、データベースをホストする専用インフラストラクチャによって定義されたネットワークを介して有効になります。Oracleクラウド・デプロイメントでは、VCN (仮想クラウド・ネットワーク)およびサブネットを使用します。通常、サブネットはプライベートとして定義されます。これは、データベースへのパブリック・インターネット・アクセスがないことを意味します。Exadata Cloud@Customerデプロイメントでは、VMクラスタ・ネットワークを使用します。
Autonomous AI Databaseへの接続の保護
Autonomous AI Databaseは、専用データベースへの接続時に使用するデータベース・サービスのペアをいくつか提供します。各ペアでは、一方のペアがTLSプロトコルを使用したセキュアなTCP (TCPS)接続を提供し、もう一方のペアがTCP接続を提供します。他のすべての点では、ペアの2つのメンバーは同じです。転送中のデータのセキュリティを確保するために、データベースがプライベート・サブネットを介してのみ使用可能な場合でも、セキュアな接続を使用することをお薦めします。独自のデータ・センター内でOracle Databaseを使用することに慣れている場合、これらのセキュアな接続をこれまで使用したことがない可能性があります。
Autonomous Exadata VMクラスタ(AVMC)リソースをプロビジョニングするときに、次のことができます:
-
使用可能なポートの範囲から、Transport Layer Security (TLS)およびTLS以外用の単一クライアント・アクセス名(SCAN)リスナー・ポートをカスタマイズします(1024 - 8999)。「相互TLS (mTLS)認証の有効化」チェック・ボックスを選択して、相互TLS (mTLS)認証を選択することもできます。
-
一方向TLS認証モードと相互TLS (mTLS)認証モードのいずれかを選択します。ORDS証明書は一方向TLS証明書であるため、これはデータベースTLS証明書にのみ適用されます。
セキュアな接続を提供するために、証明書認証では、クライアント(アプリケーションを実行している場所)とサーバー(自律型AIデータベースが実行している場所)の両方のウォレットに格納される暗号化キーを使用します。接続するには、クライアントのキーがサーバーのキーと一致している必要があります。ウォレットには、データベースに接続するために必要なキーおよびその他の情報を含むファイルのコレクションが格納されています。クライアントとサーバー間のすべての通信は、暗号化されます。
Oracle Net Services (SQL *Net)接続タイプ
ネットワーク・セッションが確立されると、Oracle Net Servicesは、クライアント・アプリケーションとデータベースの両方に対するデータ伝達手段として機能します。これは、クライアント・アプリケーションとデータベース間での接続の確立および維持と、それらの間でのメッセージ交換を担当します。
Oracle Net Servicesは、Autonomous AI Databaseへの次のような様々な接続タイプをサポートしています:
-
Oracle Call Interface (OCI)。これは、C言語で記述された多くのアプリケーションによって使用されます。たとえば、Oracle SQLPlus、SQLLoader、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 AI Databaseのデータへのアクセスを提供します。ウォレット・ファイルは安全な場所に保存してください。
ウォレット・ファイルはデータベース内のデータへのアクセスを提供できるため、ウォレット・ファイルは認可されたユーザーのみと共有する必要があります。権限のないユーザーがアクセスする可能性のある方法(たとえば、公開された電子メール経由)でウォレット・ファイルを送信する場合、ウォレット・パスワードを個別に安全な方法で送信してください。
ノート: Autonomous AI Databaseでは、Oracle Cloudのセキュリティ基準に基づき、すべてのユーザーに対して強力なパスワード複雑性ルールを使用しています。パスワード複雑性ルールの詳細は、データベース・ユーザーの作成を参照してください。
Autonomous AI Databaseのクライアント資格証明のダウンロードの詳細は、クライアント資格証明のダウンロードを参照してください。
Oracle Net Servicesでは、sqlnet.oraファイル内のWALLET_LOCATIONパラメータを使用してAutonomous AI Databaseウォレットの場所を検出できます。WALLET_LOCATIONを使用すると、Oracle Net Servicesによってウォレットが自動的に使用されます。ウォレットはアプリケーションに対して透過的に使用されます。WALLET_LOCATIONの設定の詳細は、「ODBC接続およびJDBC Oracle Call Interface (OCI)接続の準備」を参照してください。
Autonomous AI Databaseの事前定義済データベース・サービス名
Autonomous AI Database on Dedicated Exadata Infrastructureは、データベースへの接続時に使用する複数のデータベース・サービス・セットを提供します。各セットでは、一方のサービスがTLSプロトコルを使用したセキュアなTCP (TCPS)接続を提供し、もう一方がTCP接続を提供します。
前述の各データベース接続サービスに対して接続文字列が作成されます。これらの接続文字列は、Autonomous AI Databaseの接続文字列の表示の説明に従って、Oracle Cloud Infrastructure (OCI)コンソールから表示できます。
次の接続サービスは、様々な種類のデータベース操作をサポートするように設計されています:
-
tpurgent_tlsおよびtpurgent: 優先度が高く、タイム・クリティカルなトランザクション処理操作の場合。
-
tp_tlsおよびtp: 一般的なトランザクション処理操作の場合。
-
high_tlsおよびhigh: 優先度の高いレポートおよびバッチ操作の場合。
-
medium_tlsおよびmedium: 一般的なレポート操作およびバッチ操作の場合。
-
low_tlsおよびlow: 優先度の低いレポートおよびバッチ操作の場合。
Autonomous Data Guardを使用するように構成されたデータベースには、読取り専用アクセス用に、同じ接続タイプ(TCPSおよびTCP)でスタンバイ・データベースへの追加サービスが2つあります。
マルチスタンバイ環境では、接続先のスタンバイ・データベースが_roサービス接続に対して自動的に決定されます。ただし、必要に応じて、接続文字列を手動で編集して、別のスタンバイ・データベースに接続できます。
ノート:次の事前定義済データベース・サービス名では、_roは読取り専用アクセスの接続を示し、_ssはスナップショット・スタンバイ・データベースへの接続を示します。
また、次の接続サービスは、様々な種類のデータベース操作をサポートするように設計されています。
-
tpurgent_ro_tls、tpurgent_ro、tpurgent_ss_tlsおよびtpurgent_ss: 優先度が高く、タイム・クリティカルなトランザクション処理操作の場合。
-
tp_ro_tls、tp_ro、tp_ss_tlsおよびtp_ss: 一般的なトランザクション処理操作の場合。
-
high_ro_tls、high_ro、high_ss_tls、および high_ss: 優先度の高いレポートおよびバッチ操作の場合。
-
medium_ro_tls、medium_ro、medium_ss_tls、および medium_ss: 一般的なレポート操作およびバッチ操作の場合。
-
low_ro_tls、low_ro、low_ss_tls、および low_ss: 優先度の低いレポートおよびバッチ操作の場合。
Autonomous AI Transaction Processingでは、前述のすべての接続サービス(tpurgent、tp、high、mediumおよびlow)がサポートされます。一方、Autonomous AI Lakehouseは、低、中および高の接続サービスにのみ接続できます。
CPUオーバープロビジョニングでプロビジョニングされたデータベースは、次に接続のみできます:
-
Autonomous AI Transaction Processingのtpおよびlowサービス
-
Autonomous AI Lakehouseの低なサービス。
事前定義済データベース・サービスの主な特性
-
コンカレント文:文をキューに入れる前にAutonomous AI Databaseがコンシューマ・グループに対して処理できるSQL文の最大数。
-
並列度:パラレル実行は、複数のプロセスを作成するために使用して単一のSQL文を実行する、Autonomous AI Database on Dedicated Exadata Infrastructureの機能の1つです。並列度によって、使用できるプロセスの数を指定します。追加のプロセスを作成するパフォーマンス・コストが発生するため、パラレル実行は一般に次のような場合に役立ちます:
-
問合せで大きなデータ・セットが参照される場合。
-
並行性が低い場合。
-
経過時間が重要である場合。
-
-
リソース共有:専用Exadataインフラストラクチャ上のAutonomous AI Databaseは、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 x 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および低サービスで処理できるコンカレント文の合計数は300 X 0.5、つまり150です。
ノート:サービスを使用してデータベースに接続した後、接続コンシューマ・グループを手動で変更して、その接続を別のサービスに切り替えようとしないでください。Autonomous AI Databaseは、サービスを使用してデータベースに接続する際に、コンシューマ・グループを設定するだけでなく、接続を構成するための追加のアクションを実行することに注意してください。
クライアント・アプリケーションを使用したAutonomous AI Databaseへの接続
Autonomous AI Databaseは、TNSリスナーを介してOracle Net Servicesをサポートするように事前構成されており、TCPS接続(クライアント資格証明を使用して保護)またはTCP接続のいずれかを使用するように構成されます。
Oracle Net Servicesを使用してAutonomous AI Databaseに接続するようにクライアント・コンピュータを準備する必要があります。アプリケーションは、Oracle Net Servicesでサポートされているいずれかの接続タイプを使用してAutonomous AI Databaseに接続できます。
次の各ステップでは、クライアント・アプリケーションを使用してAutonomous AI Databaseに接続するプロセスについて説明します:
-
アプリケーションで使用する接続タイプ(OCI、ODBC、JDBC Thinなど)を決定します。
-
アプリケーションで使用する接続タイプに対するクライアント・コンピュータを準備します。
-
Oracle Call Interface (OCI)、ODBCおよびJDBC OCIの接続:Oracle Instant Client0をダウンロードしてインストールし、Autonomous AI Databaseのクライアント資格証明をダウンロードして、それらをOracle Instant Clientで使用できるようにすることで、Oracle Call Interface (OCI)、ODBCおよびJDBC OCIの接続を準備します。
ステップ・バイ・ステップの手順については、ODBCおよびJDBC Oracle Call Interface (OCI)接続の準備を参照してください。
-
JDBC Thin接続の準備: Oracle Database JDBCドライバをダウンロードしてインストールし、Autonomous AI Databaseのクライアント資格証明をダウンロードして、Oracle Database JDBCドライバで使用できるようにすることで、JDBCシン接続の準備をします。
ステップごとの手順は、「JDBC Thin接続の準備」を参照してください。
-
-
アプリケーション内で接続を設定します。
クライアント・コンピュータを準備するために必要なステップは、クライアント・アプリケーションで使用する接続タイプによって異なります。すべての場合において、ウォレット・ファイル形式のクライアント資格証明をクライアントにダウンロードする必要があります。
ウォレットZIPファイルのサポートが組み込まれたアプリケーション
一部のアプリケーションでは、接続プロパティの一部として資格証明ZIPファイルを選択できます。
たとえば、SQL Developer 18.3以降では、「接続タイプ」フィールドで、「構成ファイル」フィールドに資格証明ZIPファイルを入力できる値Cloud Walletを選択します。SQL Developerでは、使用可能な接続のリストが「サービス」フィールドに表示されます(これらの接続は資格証明ファイルに含まれています)。
アプリケーションでウォレットのサポートが提供されている場合、またはOracle SQL DeveloperなどのAutonomous AI Database接続に対する特定のサポートが提供されている場合、Oracleではそのタイプの接続を使用することをお薦めします。

図adb_connect_sqldev_db20.pngの説明
Oracle Databaseツールを使用したAutonomous AI Databaseへの接続
Oracle Database tools such as Database Actions, SQL Developer, SQLcl and SQL*Plus can be used with the Autonomous AI Database.
次のトピックでは、Oracle Databaseツールを使用してAutonomous AI Databaseに接続するためのステップバイステップの手順について説明します。
-
データベース・アクション: Oracle Database Actionsを使用したAutonomous AI Databaseへの接続
-
Oracle SQL Developer: Oracle SQL Developerを使用してAutonomous AI Databaseに接続
-
Oracle SQLcl: Oracle SQLclを使用したAutonomous AI Databaseへの接続
-
SQL*Plus: SQL*Plusを使用したAutonomous AI Databaseへの接続
Microsoft .NET、Visual StudioおよびVisual Studio Codeとの接続
Oracle Autonomous AI Database on Dedicated Exadata Infrastructureでは、Microsoft .NET Framework、.NET Core、Visual StudioおよびVisual Studio Codeへの接続がサポートされます。
Oracle Data Provider for .NET (ODP.NET)は、Autonomous AI 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 AI Databaseを管理するためのツールを含む、Visual Studioでデータベース・アプリケーションの設計時サポートを提供します。
Oracle Developer Tools for VS Codeは、Visual Studio Codeでのデータベース・アプリケーションの設計時サポートを提供します。
これらのソフトウェア・コンポーネントは、次のサイトから無償でダウンロードできます:
-
管理対象ODP.NETおよびODP.NET Core: NuGet Gallery
-
管理対象外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 AI Databaseで最新のプロバイダおよびツール・バージョンを使用することをお薦めします。
セットアップ手順
Oracle Autonomous AI Database on Dedicated Exadata Infrastructureで使用するためにこれらのコンポーネントをダウンロード、インストールおよび構成する手順は、Oracle Autonomous AI Database用の.NETアプリケーションの開発を参照してください:
これらの手順は、TCPS (SSLを使用したTCP)でデータベースに接続する方法を示しています。この場合はウォレットを使用する必要があります。専用インフラストラクチャ上のデータベースの場合は、TCPでデータベースに接続できます。この場合はウォレットを使用する必要はありません。
専用Exadataインフラストラクチャおよび.NETでのOracle Autonomous AI Databaseの使用についてさらに学習するには、無料のOracle Autonomous AI Databaseを使用した.NET開発クイック・スタートをお試しください。このラボでは、Autonomous AI Databaseに接続するOracle Cloud Infrastructureでの.NET Webサーバーの設定について説明します。次に、ラボでは、これらすべてのコンポーネントを使用する単純なASP.NET Core Webアプリケーションの開発とデプロイをガイドします。最終的には、インターネット上で稼働中のWebサイトを持つことになります。
スクリプティング言語による自律型AIデータベースへの接続
Python、Node.js、PHP、Ruby、R、Go、Perlなど様々な言語でプログラムを使用して、Oracle Autonomous AI Database on Dedicated Exadata Infrastructureに接続できます。セキュリティはクライアント資格証明を使用して適用されます。
これらのスクリプト言語には、Oracle Call Interface (OCI)ライブラリを使用するデータベース・アクセスAPIまたはドライバが含まれます。OCIライブラリは、完全なOracle Clientからも、Oracle Instant Clientからも使用できます。
様々なスクリプト言語を使用してAutonomous AI Databaseに接続するステップ・バイ・ステップの手順については、次の記事を参照してください。
-
Python: mTLSを使用したPythonアプリケーションの接続の確立
-
Node.jsおよびその他のスクリプト言語: Node.jsおよびその他のスクリプト言語を使用した接続
Oracle Cloud Infrastructure FastConnectを使用した接続
Oracle Cloud Infrastructure FastConnectを使用すると、FastConnectパブリック・ピアリングを使用してオンプレミス・ネットワークをAutonomous AI Databaseに簡単に接続できます。FastConnectは、インターネットベースの接続に比べて、高帯域幅のオプションを備えており、信頼性と一貫性が高いネットワーキングを実現できます。
FastConnectを使用すると、インターネットを使用せずにOracle Cloud Infrastructureのサービス(たとえば、オブジェクト・ストレージやOracle Cloud InfrastructureコンソールおよびAPIなど)にアクセスできます。FastConnectを使用しない場合、パブリックIPアドレスを宛先とするトラフィックはインターネット経由でルーティングされます。FastConnectを使用する場合、そのトラフィックはプライベートな物理接続を経由します。
Oracle Cloud Infrastructure FastConnectを使用したAutonomous AI Databaseの接続の詳細は、FastConnectの概要に関する項を参照してください。