Use Oracle Database with Node.js


In order to connect your Node.js application to an Oracle Database, you need to install the following packages.

  • libaio
  • Oracle Instant Client (and SDK)
  • oracledb Node.js module

Step 1: Install libaio

  • Execute the following command:

      $ sudo apt-get install libaio1

Step 2: Install Oracle Instant Client and Oracle Instant Client SDK

  • Download both and Remember to replace the X.Y.Z placeholder with the corresponding version. Download and (we will use them in the rest of the examples).

  • Uncompress by executing the following command:

      $ unzip
  • Copy the extracted contents to /opt/bitnami/common/lib:

      $ sudo cp -r *instantclient_X_Y/ /opt/bitnami/common/lib
  • Execute the following command:

      $ sudo ln -s /opt/bitnami/common/lib/ /opt/bitnami/common/lib/
  • Extract

      $ unzip
  • Copy the contents of the sdk subfolder to /opt/bitnami/common/include:

      $ sudo cp -r instantclient_X_Y/sdk/include/* /opt/bitnami/common/include

Step 3: Install OracleDB Node.js module

  • Before installing, set the following environment variables:

      $   export OCI_LIB_DIR=/opt/bitnami/common/lib
      $   export OCI_INC_DIR=/opt/bitnami/common/include
  • In your Node.js application folder, execute the following command:

      $   npm install oracledb

Step 4: Test the connection

In order to test that the plugin was installed correctly, execute one of the examples detailed in the OracleDB Node.js module documentation.

  • Download this example from the OracleDB Node.js module website.

  • In the same folder where connect.js was downloaded, create the file dbconfig.js with the following contents (remembering to replace the DATABASE_USER, DATABASE_PASSWORD and DATABASE_CONNECTION_STRING placeholders with the correct values):

      module.exports = {
          user          : "DATABASE_USER",
          password      : "DATABASE_PASSWORD",
          connectString : "DATABASE_CONNECTION_STRING"

    For example:

      module.exports = {
          user          : "SYSTEM",
          password      : "mypassword",
          connectString : ""
  • Run the testing program:

      $ node connect.js

If everything was correct, you should see the message “Connection was successful!”

Last modification December 21, 2022