@@ -8046,33 +8046,33 @@ availability and performance tuning. For example the database's
8046
8046
8047
8047
Users of [Oracle Database FAN][64] should set
8048
8048
[`oracledb.events`](#propdbevents) to *true*. This can also be
8049
- enabled via [Oracle Client Configuration](#oraaccess).
8049
+ enabled via [Oracle Client Configuration](#oraaccess). Your
8050
+ application must connect to a FAN-enabled database service.
8050
8051
8051
- FAN support gives fast connection failover, an Oracle Database high
8052
- availability feature. This allows applications to be notified when a
8053
- database machine becomes unavailable . Without FAN, node-oracledb can
8052
+ FAN support is useful for planned and unplanned outages. It provides
8053
+ immediate notification to node-oracledb following outages related to
8054
+ the database, computers, and networks . Without FAN, node-oracledb can
8054
8055
hang until a TCP timeout occurs and an error is returned, which might
8055
- be several minutes. Enabling FAN in node-oracledb can allow
8056
- applications to detect errors, re-connect to an available database
8057
- instance, and replay application logic without the application user
8058
- being aware of an outage. It is up to the application to handle
8059
- errors and take desired action.
8056
+ be several minutes.
8057
+
8058
+ FAN allows node-oracledb to provide high availability features without
8059
+ the application being aware of an outage. Unused, idle connections in
8060
+ a connection pool will be automatically cleaned up. A future
8061
+ `pool.getConnection()` calls will establish a fresh connection to a
8062
+ surviving database instance without the application being aware of any
8063
+ service disruption.
8064
+
8065
+ To handle errors that affect active connections, you can add
8066
+ application logic to re-connect (this will connect to a surviving
8067
+ database instance) and replay application logic without having to
8068
+ return an error to the application user.
8060
8069
8061
8070
FAN benefits users of Oracle Database' s clustering technology ([Oracle
8062
8071
RAC ][93 ]) because connections to surviving database instances can be
8063
- immediately made . Users of Oracle' s Data Guard with a broker will see
8064
- the FAN events generated when the standby database goes online.
8072
+ immediately made . Users of Oracle' s Data Guard with a broker will get
8073
+ FAN events generated when the standby database goes online.
8065
8074
Standalone databases will send FAN events when the database restarts.
8066
8075
8067
- For active connections, when a machine or database instance becomes
8068
- unavailable, a connection failure error will be returned by the
8069
- node-oracledb method currently being called. On a subsequent
8070
- re-connect, a connection to a surviving database instance will be
8071
- established. Node-oracledb also transparently cleans up any idle
8072
- connections affected by a database machine or instance failure so
8073
- future connect calls will establish a fresh connection without the
8074
- application being aware of any service disruption.
8075
-
8076
8076
For a more information on FAN see the [whitepaper on Fast Application
8077
8077
Notification][97].
8078
8078
0 commit comments