Node.jsアプリケーションの構築

Autonomous AI DatabaseにアクセスするNode.jsアプリケーションを構築するには、まず、開発システムを構成して、Autonomous AI Databaseの継続的な可用性および高パフォーマンスの機能を利用できるデータベース・アクセスをサポートするように開発システムを構成します.

開発システムを構成した後、継続的な可用性および高パフォーマンスの機能を利用するように、アプリケーション内のデータベース接続およびSQL文をコーディングします。

ヒント:次のトピックを読んでまずに本当に試してみる場合は、開発者およびデータ・ユーザー専用Oracle Autonomous AI Databaseワークショップラボ3: Node.jsアプリケーションの構築とデプロイを実行できます。

Node.js開発システムの構成

Node.jsアプリケーションがAutonomous AI Databaseの継続的な可用性および高パフォーマンス機能を利用できるように開発システムを構成するには、これらのステップを実行します。

  1. Node.jsをダウンロードしてインストールします。

  2. Oracle Instant Clientをダウンロードしてインストールします。

  3. node-oracledbをダウンロードしてインストールします。

  4. データベースのクライアント資格証明をダウンロードして、Oracle Instant Clientで使用できるようにします。

開始する前に

開発システムを正常に構成するためには、それが特定の基準を満たしている必要があります。

Node.jsのダウンロードとインストール

使用しているシステムのOSおよびアーキテクチャ用のNode.jsをダウンロードしてインストールします:

sudo yum install -y oracle-release-el7 oracle-nodejs-release-el7
sudo yum install -y nodejs

Oracle Instant Clientのダウンロードとインストール

Oracle Instant Clientライブラリのバージョン19.6以降が必要です。

使用しているシステムのOSおよびアーキテクチャ用のOracle Instant Client Basicパッケージをダウンロードしてインストールします:

sudo yum -y install oracle-release-el7
sudo yum -y install oracle-instantclient19.3-basic

(すべてのインスタント・クライアント・パッケージのリストを確認するには、http://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/index.htmlに移動します。)

node-oracledbのダウンロードとインストール

使用しているシステムのOSおよびアーキテクチャ用のNode.jsのnode-oracledbアドオンをダウンロードしてインストールします:

sudo yum install -y oracle-release-el7 oracle-nodejs-release-el7
sudo yum install -y node-oracledb-node10

データベースのクライアント資格証明のダウンロードとインストール

  1. データベースのクライアント資格証明を含むzipファイルをコンピュータ上の安全なディレクトリにダウンロードします。

    このzipファイルは、Oracle Cloudコンソールのデータベースの「詳細」ページからダウンロードできます。このページへのアクセスを許可するOracle Cloudユーザー・アカウントを持っている場合は、次のように資格証明をダウンロードします。そのようなアカウントを持っていない場合は、データベースの管理者から、zipファイルとパスワード(zipファイルの保護に使用された)を一緒に取得する必要があります。

    1. WebブラウザでOracle Cloudにサインインし、Autonomous AI Databaseの「詳細」ページに移動します。

    2. 「DB Connection」をクリックします。

    3. 「データベース接続」ページで「ダウンロード」をクリックします。

    4. 「Download Wallet」ダイアログで、「Password」フィールドにウォレット・パスワードを入力し、「Confirm Password」フィールドにパスワードを確認します。

      パスワードは8文字以上の長さで、少なくとも1つの文字と、1つの数字または1つの特殊文字を含める必要があります。

    5. 「ダウンロード」をクリックして、クライアント資格証明zipファイルを安全なディレクトリに保存します。

  2. zipファイルをダウンロードした後は、次のステップに従います:

    1. クライアント資格証明zipファイルを解凍します。

    2. クライアント資格証明内に提供されているsqlnet.oraファイルを編集し、"?/network/admin"を、クライアント資格証明の解凍先ディレクトリのフルパスに置き換えます。例: 変更前:

      (DIRECTORY="?/network/admin")

      変更後:

      (DIRECTORY="/users/jdoe/adbcredentials")
    3. TNS_ADMIN環境変数を作成し、その値をクライアント資格証明の解凍先ディレクトリのフルパスに設定します。

データベース接続およびSQL文のコーディング

Autonomous AI DatabaseへのNode.jsアプリケーションの接続をサポートするように開発システムを構成した後、次のステップに従って、アプリケーションのデータベース使用の最適なパフォーマンスを実現します:

  1. node-oracledbアドオンとの依存関係をアプリケーションのpackage.jsonファイルに追加します。

  2. 高パフォーマンスおよび継続的な可用性のために接続をコーディングします。

node-oracledb依存性topackage.jsonを追加します

Edit the dependencies object in the package.json file for your application, adding the oracledb package and version. (Use command npm init to generate package.json if it doesn’t exist.) For example:

. . .
"dependencies": {
  . . .,
 "oracledb": "^4.0",
  . . .
},
. . .

dependenciesオブジェクトの詳細は、npm-package.jsonページを参照してください。インストールされているoracledbバージョンを表示するには、npm listコマンドを使用します。例:

npm list -g --depth=0

高パフォーマンスおよび継続的な可用性のための接続のコーディング

高パフォーマンスおよび継続的な可用性を実現するには、データベースへの接続を作成する際に次のガイドラインに従ってください:

たとえば:

pool = await oracledb.createPool({
  events: true,
  user: "appuser",
  password: process.env.MY_PASSWORD_ENV_VAR,
  connectString: "tp_tls"
});

この例では、tp_tlsデータベース・サービスへの接続用のプールを作成し、eventsプロパティをtrueに設定してFANを有効にします。