The first thing I did was fully configure the Listener so I can manage it via SQL Developer and this part is working. I have added the DB Connections but the part that getting murky is setting up the routing in the listener so that it goes to the correct DB. How does the terms used in SQL Developer translate over to the ones in the URL-Map information in the manual as it uses different names for each type of URL map. I am thinking I will need to use a Request type of URL-Map.
Listeners are so light-weight, I have one for each (in virtual boxes)
I prefer to keep listeners on separate servers as it is easier for me to verify that I am not about to run 'truncate table ...' on production.
(my $0.02 worth)
For dev, I have multiple DB connections.
The primary one (http://host:port/apex) points to my true development 11g box.
The secondary one (http://host:port/apex/a12) points to my "playground" 12c box.
For the 12c, the URL Mappings are: (SQL Developer 3.2 and 4.0)
Rule Type = URL Path
Routing Rule = http://host:port/apex/a12
Schema for REST. = (blank)
After I got that to work, I haven't played with any other options/ideas.
I am in a similar situation to you:
However I have got the Listener to talk to multiple databases.
The following works for me across three different databases - I have three separate entries under the Database settings node under the SQL Developer Listener configuration GUI.
dev - this is the connection that was set up by the Listener by default.
URL mapping simply has a "Request Path" entry with routing Rule of /dev and schema name of /dev <RESTful service name - in my case the same name of the APEX workspace>
(NB: This is only to facilitate REST - by default this will connect to the dev instance of APEX as this was the default credentials used to set up the Listener)
Therefore the URL is http://servername/apex by default.
uat - new entry created manually through SQL Developer
setup Connections node to point to your database as you would for any standard type of database connections
URL mapping simply has a "Request Path" entry with Routing Rule of /acc and RESTful Services schema of blank
The URL is then http://servername/apex/uat
prd - same as uat but with request path entry and Routing Rule of /prd
The URL is then http://servername/apex/prd
I like the request path setting rather than the full URL path as it is more flexible.
I like the idea of running separate listeners as well as long as you are looking at one listener, one instance of APEX, one webtier server, and one db server. In our case, the reason I am looking at multi-tenant listeners is because we plan to run our APEX on a Weblogic cluster of four VM Servers with a hardware load balancer in front of it. By leveraging the same front ends we get to minimize the footprint on our physical hardware (ie. need fewer VMs for the entire infrastructure to support APEX) and we gain the resiliency of the clustered front end for our development and pre-production instances as well (seen as a bonus but not required). Eventually our hopes are to implement Oracle RAC and this all seems to work together nicely to that end.