Node.jsアプリケーションの構築
Autonomous DatabaseにアクセスするNode.jsアプリケーションを構築するには、まず、Autonomous Databaseの継続的な可用性および高パフォーマンスの機能を利用できるデータベース・アクセスをサポートするように開発システムを構成します。
開発システムを構成した後、継続的な可用性および高パフォーマンスの機能を利用するように、アプリケーション内のデータベース接続およびSQL文をコーディングします。
ヒント:
次のトピックを読まずに実際に試してみる場合は、開発者およびデータベース・ユーザー専用Oracle Autonomous Databaseワークショップのラボ3: Node.jsアプリケーションの構築とデプロイを実行できます。Node.js開発システムの構成
Node.jsアプリケーションがAutonomous Databaseの継続的可用性および高パフォーマンスの機能を利用できるように開発システムを構成するには、次のステップを実行します。
- Node.jsをダウンロードしてインストールします。
- Oracle Instant Clientをダウンロードしてインストールします。
- node-oracledbをダウンロードしてインストールします。
- データベースのクライアント資格証明をダウンロードして、Oracle Instant Clientで使用できるようにします。
始める前に
開発システムを正常に構成するためには、それが特定の基準を満たしている必要があります。
-
インターネット・アクセスが必要です。
-
Autonomous Databaseへのネットワーク・アクセスが必要です。
開発システムがこの要件を満たしていることを確認する方法については、データベースにアクセスするための開発システムの構成を参照してください。
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
-
その他のOSesおよびアーキテクチャ:
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
に移動します。) -
その他のOSesおよびアーキテクチャ:
-
「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
-
その他のOSesおよびアーキテクチャ:
「node-oracledbのインストール」ページに移動し、使用しているOSおよびアーキテクチャ用の「マイ・データベースは別のマシンにあります」の手順を選択してから、「アドオンのインストール」の手順に従います。
データベースのクライアント資格証明のダウンロードとインストール
-
データベースのクライアント資格証明を含むzipファイルをコンピュータ上の安全なディレクトリにダウンロードします。
このzipファイルは、Oracle Cloudコンソールのデータベースの「詳細」ページからダウンロードできます。次のように資格証明をダウンロードします。
-
WebブラウザでOracle Cloudにログインし、Autonomous Databaseの詳細ページに移動します。
-
「DB接続」をクリックします。
-
「データベース接続」ページで、「ダウンロード」をクリックします。
-
「ウォレットのダウンロード」ダイアログで、「パスワード」フィールドにウォレット・パスワードを入力し、「パスワードの確認」フィールドでパスワードを確認します。
パスワードは8文字以上の長さで、少なくとも1つの文字と、1つの数字または1つの特殊文字を含める必要があります。
-
「ダウンロード」をクリックして、クライアント資格証明zipファイルを安全なディレクトリに保存します。
-
-
zipファイルをダウンロードした後は、次のステップに従います:
-
クライアント資格証明zipファイルを解凍します。
-
クライアント資格証明内に提供されている
sqlnet.ora
ファイルを編集し、"?/network/admin"
を、クライアント資格証明の解凍先ディレクトリのフルパスに置き換えます。例: 変更前:(DIRECTORY="?/network/admin")
変更後:
(DIRECTORY="/users/jdoe/adbcredentials")
-
TNS_ADMIN
環境変数を作成し、その値をクライアント資格証明の解凍先ディレクトリのフルパスに設定します。
-
親トピック: Node.jsアプリケーションの構築
データベース接続およびSQL文のコーディング
Autonomous DatabaseへのNode.jsアプリケーション接続をサポートするように開発システムを構成したら、次のステップに従って、アプリケーションのデータベース使用の最適なパフォーマンスを確保します:
-
node-oracledbアドオンとの依存関係をアプリケーションの
package.json
ファイルに追加します。 -
高パフォーマンスおよび継続的な可用性のために接続をコーディングします。
package.json
へのnode-oracledbとの依存関係の追加
アプリケーションのpackage.json
ファイルで、oracledb
パッケージとバージョンを追加して、dependencies
オブジェクトを編集します。(package.json
が存在しない場合は、コマンドnpm init
を使用して生成します。)例:
. . .
"dependencies": {
. . .,
"oracledb": "^4.0",
. . .
},
. . .
dependencies
オブジェクトの詳細は、npm-package.jsonページを参照してください。インストールされているoracledb
バージョンを表示するには、npm list
コマンドを使用します。例:
npm list -g --depth=0
高パフォーマンスおよび継続的な可用性のための接続のコーディング
高パフォーマンスおよび継続的な可用性を実現するには、データベースへの接続を作成する際に次のガイドラインに従ってください:
- 接続プールを使用します。
- FAN (高速アプリケーション通知)を有効にします。
- 実行する操作に最も適した事前定義済データベース・サービスを使用します。事前定義済データベース・サービスの詳細は、Autonomous Databaseの事前定義済データベース・サービス名を参照してください。
例:
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フォルダを参照してください。
親トピック: Node.jsアプリケーションの構築