npm node-red-contrib-oracledb-mod 0.8.0
v0.8.0 - Thin mode, Wallet/ADB, Test Connection, executeMany

6 hours ago

Highlights

Thin mode is now the default. No Oracle Instant Client install required for Oracle 12.1+ servers or Autonomous Database. Existing configs that had an Instant Client path auto-migrate into thick mode with a one-time warning — your flows keep working unchanged.

First-class support for OCI Autonomous Database. Wallet / TNS_ADMIN config fields, $TNS_ADMIN auto-detection, TNS Name dropdown auto-populated from your wallet's tnsnames.ora.

Test Connection + Pool Stats in the config dialog. Verify before you deploy; watch live pool usage with peak high-water marks and sizing hints.

What's new

Connection & wallets

  • Thin mode default (Oracle 12.1+ / ADB)
  • Wallet / TNS_ADMIN field with $TNS_ADMIN env auto-fill and read-only override
  • TNS Name combo populated from tnsnames.ora
  • Legacy migration: configs with instantclientpath set keep working in thick mode with a one-time warning

Test Connection button

One click returns: connect string, database name, service name, server host, user, current schema, accessible schemas list, other wallet aliases, plus connect / total timing.

Pool Stats panel

Live connectionsInUse / connectionsOpen, queue length, peak in-use and peak queued high-water marks since the pool started. Auto-refreshes every 2 s. Surfaces sizing hints ("Peak hit poolMax — consider raising Max Connections").

Pool-pressure visibility

  • Query node badge shows waiting for pool slot... (4/4) when getConnection() blocks
  • NJS-040 errors now read pool exhausted: 4/4 in use, 3 queued, waited 60000ms instead of a bare timeout

executeMany batch mode

High-volume DML in one round-trip via a new Batch mode checkbox or msg.executeMany = true.

Automatic retry on transient errors

NJS-003, NJS-040, ORA-03113, ORA-03114, ORA-12170, ORA-12541, ORA-12537, ORA-12514 retried with exponential backoff. Tunable per server config.

Richer pool tuning

poolIncrement, queueTimeout, stmtCacheSize exposed in the UI.

Result metadata sidecar

Every result message now carries msg.oracle:

msg.oracle = {
  durationMs: 23,
  mode: "single",           // single | multi | single-meta | batch | none
  statementKind: "query",   // query | ddl | plsql | insert | update | delete | ...
  rows: 1,                  // when applicable
  rowsAffected: 5           // when applicable
}

Don't miss a new node-red-contrib-oracledb-mod release

NewReleases is sending notifications on new releases.