I have been fighting this for a few days now, reading lots of docs and posts, and have possible hit a new issue...
APEX 18.2 (upgraded from 4.2)
ORDS 18.3 - new install under Tomcat 8.5.24 (currently something much older)
Oracle 18.4 (Pluggable), upgraded from 11.2.0.4 and plugged in. (Old Sid=Sim6, new Sid=Sim7).
We are also migrating to new DB and Web machines with more modern OS. We are actually building a clone of the 11.2.0.4 system from RMAN files, and then we upgrade that one. This lets us test the upgrade a few times before we do it for real next week (during the annual shutdown - where I get 3 days to take the system and upgrade things).
As part of the move to the new system, we want to be able to start providing REST services, so I included that in some of the config steps. The ORDS install predated the APEX install, although I did the uninstall, and install, as well as the install advance, validate, etc.
At present, most of the classic APEX stuff appears to work. The only problem I have noticed, is with the Static Application and Workspace Files. We don't use these very much, but at least one of our Plugins (Select2) uses them for css and javascript. Following the notes from the Apex 5 release, I changed the prefix from #WORKSPACE_IMAGES# to #APP_IMAGES#. But instead of the 404 errors (which we had been getting before countless password resets, validates and restarts), we are now getting 200, but with only 5 bytes returned = web inspector calls them empty.
128.113.124.15 - - [20/Dec/2018:11:06:10 -0500] "GET /apex/f?p=185:1:4709339975226::::: HTTP/1.1" 200 35741
128.113.124.15 - - [20/Dec/2018:11:06:12 -0500] "GET /apex/simon_apex/r/files/static/v1Y/RPI.local.css HTTP/1.1" 200 5
128.113.124.15 - - [20/Dec/2018:11:06:28 -0500] "GET /apex/f?p=185:2:4709339975226::NO::P2_GROUP_INDEX:48 HTTP/1.1" 200 199954
128.113.124.15 - - [20/Dec/2018:11:06:29 -0500] "GET /apex/simon_apex/r/185/files/plugin/94293401484822504/v5/select2.min.css HTTP/1.1" 200 5
128.113.124.15 - - [20/Dec/2018:11:06:29 -0500] "GET /apex/simon_apex/r/185/files/plugin/94293401484822504/v5/select2.full.min.js HTTP/1.1" 200 5
128.113.124.15 - - [20/Dec/2018:11:06:29 -0500] "GET /apex/simon_apex/r/185/files/plugin/94293401484822504/v5/select2-apex.js HTTP/1.1" 200 5
128.113.124.15 - - [20/Dec/2018:11:06:29 -0500] "GET /apex/wwv_flow.js_messages?p_app_id=185&p_lang=en-us&p_version=1&p_names=DEVELOPER_TOOLBAR_ERRORS&p_names=DEVELOPER_TOOLBAR_ERRORS_BTN HTTP/1.1" 200 214
The only addition to the Catalina,out file was
20-Dec-2018 11:06:11.053 INFO [https-jsse-nio-443-exec-10] oracle.dbtools.rt.resource.templates.cache.MetadataCachesProvider.activate Enabling metadata cache
Workspace name is simon_apex, ORDS is installed as "apex.war". Oracle account status looks ok
USERNAME ACCOUNT_STATUS LOCK DATE LAST SIGNON CREATE DATE
------------------------ -------------------------------- --------------- --------------- ---------------
ORDSYS EXPIRED & LOCKED 26-Dec 09:13:22 26-Dec 09:13:2
ORDS_METADATA EXPIRED & LOCKED 18-Dec 10:29:42 18-Dec 10:29:42
APEX_180200 LOCKED 17-Dec 15:13:29 17-Dec 15:13:29
APEX_INSTANCE_ADMIN_USER OPEN 17-Dec 15:17:41
APEX_LISTENER OPEN 20-Dec 11:06:11 17-Dec 16:49:30
APEX_PUBLIC_USER OPEN 20-Dec 11:02:31 26-Dec 09:25:43
APEX_REST_PUBLIC_USER OPEN 20-Dec 11:06:29 17-Dec 16:49:30
ORDS_PUBLIC_USER OPEN 20-Dec 11:06:28 18-Dec 10:29:42
SIMON_APEX OPEN 26-Dec 10:05:10
I have "enabled" rest services in APEX, but have not defined any.
From conf/apex/defaults.xml
<properties>
<comment>Saved on Tue Dec 18 13:10:30 EST 2018</comment>
<entry key="cache.caching">false</entry>
<entry key="cache.directory">/tmp/apex/cache</entry>
<entry key="cache.duration">days</entry>
<entry key="cache.expiration">7</entry>
<entry key="cache.maxEntries">500</entry>
<entry key="cache.monitorInterval">60</entry>
<entry key="cache.procedureNameList"/>
<entry key="cache.type">lru</entry>
<entry key="db.hostname">simondb7.server.rpi.edu</entry>
<entry key="db.port">1521</entry>
<entry key="db.servicename">Sim7</entry>
<entry key="debug.debugger">false</entry>
<entry key="debug.printDebugToScreen">false</entry>
<entry key="error.keepErrorMessages">true</entry>
<entry key="error.maxEntries">50</entry>
<entry key="jdbc.DriverType">thin</entry>
<entry key="jdbc.InactivityTimeout">1800</entry>
<entry key="jdbc.InitialLimit">9</entry>
<entry key="jdbc.MaxConnectionReuseCount">1000</entry>
<entry key="jdbc.MaxLimit">30</entry>
<entry key="jdbc.MaxStatementsLimit">10</entry>
<entry key="jdbc.MinLimit">1</entry>
<entry key="jdbc.statementTimeout">900</entry>
<entry key="log.logging">true</entry>
<entry key="log.maxEntries">50</entry>
<entry key="misc.compress"/>
<entry key="misc.defaultPage">apex</entry>
<entry key="security.disableDefaultExclusionList">false</entry>
<entry key="security.maxEntries">2000</entry>
<entry key="security.requestValidationFunction">wwv_flow_epg_include_modules.authorize</entry>
<entry key="security.validationFunctionType">plsql</entry>
</properties>
I did read one suggestion in another thread to run two copies of ORDS, the apex.war for apex stuff, and ords.war for the more general REST services (we have none at the moment). I was hoping to use some of the REST support in APEX itself, as I spend a lot of time there already.
(For the one plugin in question - which is used by about 50 apps), I can put the files in /i/{local}, but that would still leave me with broken Static Application File and Static Workspace File support.