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の継続的な可用性および高パフォーマンス機能を利用できるように開発システムを構成するには、これらのステップを実行します。
-
Node.jsをダウンロードしてインストールします。
-
Oracle Instant Clientをダウンロードしてインストールします。
-
node-oracledbをダウンロードしてインストールします。
-
データベースのクライアント資格証明をダウンロードして、Oracle Instant Clientで使用できるようにします。
開始する前に
開発システムを正常に構成するためには、それが特定の基準を満たしている必要があります。
-
インターネット・アクセスが必要です。
-
自律型AIデータベースへのネットワーク・アクセスが必要です。
開発システムがこの要件を満たしていることを確認する方法については、データベースにアクセスするための開発システムの構成を参照してください。
Node.jsのダウンロードとインストール
使用しているシステムのOSおよびアーキテクチャ用のNode.jsをダウンロードしてインストールします:
-
Oracle Linux:
次のコマンドを実行して、最新バージョンのNode.jsをダウンロードしてインストールします:
sudo yum install -y oracle-release-el7 oracle-nodejs-release-el7
sudo yum install -y nodejs
-
その他のOSおよびアーキテクチャ:
Node.jsの「ダウンロード」ページに移動し、使用しているシステムのOSおよびアーキテクチャ用の最新のLTS (長期サポート)バージョンを選択してインストールします。
Oracle Instant Clientのダウンロードとインストール
Oracle Instant Clientライブラリのバージョン19.6以降が必要です。
使用しているシステムのOSおよびアーキテクチャ用のOracle Instant Client Basicパッケージをダウンロードしてインストールします:
-
Oracle Linux:
次のコマンドを実行して、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に移動します。)
-
その他のOSおよびアーキテクチャ:
-
「Oracle Instant Clientのダウンロード」ページに移動し、使用しているシステムのOSおよびアーキテクチャ用のダウンロードを選択します。
-
ダウンロード・ページで、Oracle Technology Networkライセンス契約に同意して、最新バージョンのBasicパッケージをダウンロードしてから、ダウンロード・ページの下部にある指示に従ってインストールします。
-
node-oracledbのダウンロードとインストール
使用しているシステムのOSおよびアーキテクチャ用のNode.jsのnode-oracledbアドオンをダウンロードしてインストールします:
-
Oracle Linux:
次のコマンドを実行して、最新バージョンのnode-oracledbをダウンロードしてインストールします:
sudo yum install -y oracle-release-el7 oracle-nodejs-release-el7
sudo yum install -y node-oracledb-node10
-
その他のOSおよびアーキテクチャ:
「node-oracledbのインストール」ページに移動し、使用中のOSおよびアーキテクチャ用の「マイ・データベースが別のマシンにあります」の手順を選択してから、「アドオンのインストール」の手順に従います。
データベースのクライアント資格証明のダウンロードとインストール
-
データベースのクライアント資格証明を含むzipファイルをコンピュータ上の安全なディレクトリにダウンロードします。
このzipファイルは、Oracle Cloudコンソールのデータベースの「詳細」ページからダウンロードできます。このページへのアクセスを許可するOracle Cloudユーザー・アカウントを持っている場合は、次のように資格証明をダウンロードします。そのようなアカウントを持っていない場合は、データベースの管理者から、zipファイルとパスワード(zipファイルの保護に使用された)を一緒に取得する必要があります。
-
WebブラウザでOracle Cloudにサインインし、Autonomous AI Databaseの「詳細」ページに移動します。
-
「DB Connection」をクリックします。
-
「データベース接続」ページで「ダウンロード」をクリックします。
-
「Download Wallet」ダイアログで、「Password」フィールドにウォレット・パスワードを入力し、「Confirm Password」フィールドにパスワードを確認します。
パスワードは8文字以上の長さで、少なくとも1つの文字と、1つの数字または1つの特殊文字を含める必要があります。
-
「ダウンロード」をクリックして、クライアント資格証明zipファイルを安全なディレクトリに保存します。
-
-
zipファイルをダウンロードした後は、次のステップに従います:
-
クライアント資格証明zipファイルを解凍します。
-
クライアント資格証明内に提供されている
sqlnet.oraファイルを編集し、"?/network/admin"を、クライアント資格証明の解凍先ディレクトリのフルパスに置き換えます。例: 変更前:(DIRECTORY="?/network/admin")変更後:
(DIRECTORY="/users/jdoe/adbcredentials") -
TNS_ADMIN環境変数を作成し、その値をクライアント資格証明の解凍先ディレクトリのフルパスに設定します。
-
データベース接続およびSQL文のコーディング
Autonomous AI DatabaseへのNode.jsアプリケーションの接続をサポートするように開発システムを構成した後、次のステップに従って、アプリケーションのデータベース使用の最適なパフォーマンスを実現します:
-
node-oracledbアドオンとの依存関係をアプリケーションの
package.jsonファイルに追加します。 -
高パフォーマンスおよび継続的な可用性のために接続をコーディングします。
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
高パフォーマンスおよび継続的な可用性のための接続のコーディング
高パフォーマンスおよび継続的な可用性を実現するには、データベースへの接続を作成する際に次のガイドラインに従ってください:
-
接続プールを使用します。
-
FAN (高速アプリケーション通知)を有効にします。
-
実行する操作に最も適した事前定義済データベース・サービスを使用します。事前定義済データベース・サービスの詳細は、Autonomous AIデータベースの事前定義済データベース・サービス名を参照してください。
たとえば:
pool = await oracledb.createPool({
events: true,
user: "appuser",
password: process.env.MY_PASSWORD_ENV_VAR,
connectString: "tp_tls"
});
この例では、tp_tlsデータベース・サービスへの接続用のプールを作成し、eventsプロパティをtrueに設定してFANを有効にします。
関連コンテンツ
-
node-oracledbの詳細は、APIリファレンスとユーザー・ガイドの両方が含まれるnode-oracledbのドキュメント・ページを参照してください。
-
様々なnode-oracledb機能を示すコード例は、node-oracledb examplesフォルダを参照してください。