|
| 1 | +--- |
| 2 | +title: "Disabling Fast Application Notifications" |
| 3 | +date: 2019-10-11T17:20:00-05:00 |
| 4 | +draft: false |
| 5 | +--- |
| 6 | + |
| 7 | +To support Fast Application Notifications (FAN), Oracle databases configure GRID (Oracle Grid Infrastructure). |
| 8 | +GRID is typically associated with (and required by) Oracle RAC databases but can |
| 9 | +also be used in other configurations. Oracle Autonomous Database-Serverless (ATP-S) does not provide GRID. |
| 10 | + |
| 11 | +When connecting to a database that does not have GRID, the only type of WebLogic Server |
| 12 | +data source that is supported is the Generic Data Sources. Multi Data Sources and Active GridLink |
| 13 | +data sources cannot be used because they work with RAC. |
| 14 | + |
| 15 | + |
| 16 | +WebLogic Server 12.2.1.3.0 shipped with the 12.2.0.1 Oracle driver. When connecting |
| 17 | +with this driver to a database that does not have GRID, you will |
| 18 | +encounter the following exception (however, the 18.3 driver does not have this problem): |
| 19 | + |
| 20 | +``` |
| 21 | +oracle.simplefan.impl.FanManager configure |
| 22 | +SEVERE: attempt to configure ONS in FanManager failed with oracle.ons.NoServersAvailable: Subscription time out |
| 23 | +``` |
| 24 | + |
| 25 | +To correct the problem, you must disable FAN, in one of two places: |
| 26 | + |
| 27 | +1) Through a system property at the domain, cluster, or server level. |
| 28 | + |
| 29 | +To do this, edit the Domain Custom Resource to set the system property `oracle.jdbc.fanEnabled` |
| 30 | +to `false` as shown in the following example: |
| 31 | + |
| 32 | +``` |
| 33 | + serverPod: |
| 34 | + # an (optional) list of environment variable to be set on the servers |
| 35 | + env: |
| 36 | + - name: JAVA_OPTIONS |
| 37 | + value: "-Dweblogic.StdoutDebugEnabled=false -Doracle.jdbc.fanEnabled=false" |
| 38 | +``` |
| 39 | + |
| 40 | +2) Configure the data source connection pool properties. |
| 41 | + |
| 42 | +The following WLST script adds the |
| 43 | + `oracle.jdbc.fanEnabled` property, set to `false`, to an existing data source. |
| 44 | + |
| 45 | +``` |
| 46 | + fmwDb = 'jdbc:oracle:thin:@' + db |
| 47 | + print 'fmwDatabase ' + fmwDb |
| 48 | + cd('/JDBCSystemResource/LocalSvcTblDataSource/JdbcResource/LocalSvcTblDataSource') |
| 49 | + cd('JDBCDriverParams/NO_NAME_0') |
| 50 | + set('DriverName', 'oracle.jdbc.OracleDriver') |
| 51 | + set('URL', fmwDb) |
| 52 | + set('PasswordEncrypted', dbPassword) |
| 53 | +
|
| 54 | + stbUser = dbPrefix + '_STB' |
| 55 | + cd('Properties/NO_NAME_0/Property/user') |
| 56 | + set('Value', stbUser) |
| 57 | + ls() |
| 58 | + cd('../..') |
| 59 | + ls() |
| 60 | + create('oracle.jdbc.fanEnabled','Property') |
| 61 | + ls() |
| 62 | + cd('Property/oracle.jdbc.fanEnabled') |
| 63 | + set('Value', 'false') |
| 64 | + ls() |
| 65 | +``` |
| 66 | +After changing the data source connection pool configuration, for the attribute to take effect, |
| 67 | +make sure to undeploy and redeploy the data source, or restart WebLogic Server. |
0 commit comments