Skip to Main Content

ORDS, SODA & JSON in the Database

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

ORDS with TNS - error when trying to connect DB for APEX

alacourbOct 28 2021

Oracle 12.1.0.2 with APEX 21.1
ORDS 21.3 on Tomcat 9.0.54 - Windows Server 2019
I'm getting following error when starting Tomcat which prevents ORDS from connecting to the DB:
oracle.net.resolver.EZConnectResolver.parseExtendedProperties Extended settings parsing failed. java.lang.RuntimeException: Invalid character at 24 : \
oracle.dbtools.common.logging.JDKLogSink.record IO Error: Invalid connection string format, a valid format is: "host:port:sid" (CONNECTION_ID=X8ADepYuRpK1p8FSAKp41Q==),|apex||-2021-10-26T20-46-37.212127400Z,jdbc:oracle:thin:@myDB?TNS_ADMIN=D:\App\Oracle\tns
oracle.dbtools.common.logging.JDKLogSink.record The pool named: |apex|| is invalid and will be ignored: ORDS was unable to make a connection to the database. This can occur if the database is unavailable, the maximum number of sessions has been reached or the pool is not correctly configured. The connection pool named: |apex|| had the following error(s): IO Error: Invalid connection string format, a valid format is: "host:port:sid" (CONNECTION_ID=X8ADepYuRpK1p8FSAKp41Q==)
When I'm using Basic connection instead of TNS it works perfectly. The TNS file format is fine since it works with ORDS 21.1.
I have also tried ORDS 21.2: same issue as with 21.3.
ORDS seems to have an issue with tns connection starting from version 21.2.
Any idea?

This post has been answered by Gerardo Gomez-Oracle on Jan 12 2022
Jump to Answer

Comments

Karunanidhi-Oracle

nice work , can otd supplemented with other lb's like big ip /ohs

MarceloParisi-Oracle

nice work , can otd supplemented with other lb's like big ip /ohs

In the past I've done this with OHS and mod_proxy / proxy_balance. You can work with other lbrs.
BTW, thanks...

bornesel

thanks for great article!

You wrote:

Finally, please note that OTD is supported only in Exalogic environments

OTD is supported in the ODA VP too

MarceloParisi-Oracle

thanks for great article!

You wrote:

Finally, please note that OTD is supported only in Exalogic environments

OTD is supported in the ODA VP too

Thank you! Good to know OTD is supported on another platform. Regards!

MarceloParisi-Oracle

On OHS/Apache, it should be something similar to this:

--------------------------------------------------------------------------------

<VirtualHost *:7777>

    ProxyRequests off

    ServerName services.parisi.spo

    <Proxy balancer://apibalancer>

        BalancerMember http://vmoag01.pub.parisi.spo:8080

        BalancerMember http://vmoag02.pub.parisi.spo:8080

        # Security

        Order Deny,Allow

        Deny from none

        Allow from all

        # Balancer Settings

        ProxySet lbmethod=byrequests

    </Proxy>

    <Location /balancer-manager>

        SetHandler balancer-manager

        # Security

        Order Deny,Allow

        Allow from all

    </Location>

    ProxyPass /balancer-manager !

    ProxyPass / balancer://apibalancer/

</VirtualHost>

--------------------------------------------------------------------------------

Thanks!

Marc Pérez

Hi Marcelo,

Good article. I was wondering if it's possible to "environmentalise" Business Services as I couldn't find a way to do so. I'm pretty sure that in most cases when promoting a Policy across environments, the endpoint of the exposed service and it's WSLD will change. How would you manage this? would you have to go into Policy Studio and reload from WSDL URL manually?

Thanks,

Marc

anishhshah

Hi Marcelo - qq,

• We are scaling the integration layer where interface volume will increase.  We also need to do reconfiguration of some of the existing interface policies in order to begin isolating some of the traffic so it can handle the volume.  How do you determine the impact of scalling the OAG layer? Is there any standard template available for such a effort ?? or OAG scale out is pretty much straight forward with minimum efforts in policy migration ??

• Do we need to build some additional v-servers & reconfigure some of the existing interface policies to isolate the trafic in order to handle the volume?  What additional efforts are needed for the install, config & OAG policy migration?  Is the reconfiguration needed in both source & additional servers?

Thanks

Anish

MarceloParisi-Oracle

Hi Marcelo,

Good article. I was wondering if it's possible to "environmentalise" Business Services as I couldn't find a way to do so. I'm pretty sure that in most cases when promoting a Policy across environments, the endpoint of the exposed service and it's WSLD will change. How would you manage this? would you have to go into Policy Studio and reload from WSDL URL manually?

Thanks,

Marc

Hello Marc,

I am not 100% sure about the answer, as I am more the kind of "infrastructure" guy. I don't do too much the functional part (policies, etc...), but have you looked at Configuration Studio? I think this is the tool you are looking for, as it is used to promote policies and circuits across different environments (dev, test, prod...).

Thanks,

Parisi

MarceloParisi-Oracle

Hi Marcelo - qq,

• We are scaling the integration layer where interface volume will increase.  We also need to do reconfiguration of some of the existing interface policies in order to begin isolating some of the traffic so it can handle the volume.  How do you determine the impact of scalling the OAG layer? Is there any standard template available for such a effort ?? or OAG scale out is pretty much straight forward with minimum efforts in policy migration ??

• Do we need to build some additional v-servers & reconfigure some of the existing interface policies to isolate the trafic in order to handle the volume?  What additional efforts are needed for the install, config & OAG policy migration?  Is the reconfiguration needed in both source & additional servers?

Thanks

Anish

Hello

For the 1st question, from my understanding OAG scaling is pretty straight forward. Just make sure you deploy the policies across the nodes so that you achieve consistency on your "group". I don't know about any template available for this.

In this case, I think the best thing to do in this case is test. Performing tests, you'll be able to determine if your actual environment can handle everything, or if you need to create new v-servers. Also, test both scenarios: isolating the policies, and putting them all together.

Thanks,

Marcelo

anishhshah

Marcelo - Thanks for your reply. Expansion is for Production environment. If we need to define the estimates now how could we determine the capacity with increase in number of transaction volume and we can't really do performance testing in production ?? Also are there any benchmark results wrt to OAG capacity expansion ??

Thanks

Anish

MarceloParisi-Oracle

Marcelo - Thanks for your reply. Expansion is for Production environment. If we need to define the estimates now how could we determine the capacity with increase in number of transaction volume and we can't really do performance testing in production ?? Also are there any benchmark results wrt to OAG capacity expansion ??

Thanks

Anish

Anish,

Try setting up a "load" or "test" environment for this. You should not perform load tests in production. Best way is to setup an environment like production, and try to perform the load tests in this environment.

As a consultant, I don't have information about benchmark results because I don't usually work with capacity planning and sizing. This question should be addressed to the product team, sorry.

Best Regards,

Marcelo

Marc Pérez

Hello Marc,

I am not 100% sure about the answer, as I am more the kind of "infrastructure" guy. I don't do too much the functional part (policies, etc...), but have you looked at Configuration Studio? I think this is the tool you are looking for, as it is used to promote policies and circuits across different environments (dev, test, prod...).

Thanks,

Parisi

Hi Parisi,

I did look at Config Studio and it allows to create an environment deployment package based on what elements of your configuration you've "environmentalised", but the parametrising of the config needs to be done from the Policy Studio.

A colleague of mine mentioned that we might achieve this from within the property but I haven't had time to actually check it out.

Thanks,

Marc

MarceloParisi-Oracle

Hi Parisi,

I did look at Config Studio and it allows to create an environment deployment package based on what elements of your configuration you've "environmentalised", but the parametrising of the config needs to be done from the Policy Studio.

A colleague of mine mentioned that we might achieve this from within the property but I haven't had time to actually check it out.

Thanks,

Marc

Ok. I am not sure as I told you. Another place you might wanna take a look is at sample scripts in API Gateway installation directory. Maybe you can write something that automatically changes the endpoints according to the environment.

Please let me know how you worked this out.

Best Regards,

Marcelo

Marc Pérez

Ok. I am not sure as I told you. Another place you might wanna take a look is at sample scripts in API Gateway installation directory. Maybe you can write something that automatically changes the endpoints according to the environment.

Please let me know how you worked this out.

Best Regards,

Marcelo

Hi Marcelo,

This is what my colleague said but I haven't tested it yet:

"...When you add the web service in policy studio then it will auto-create a policy for you. If you go into that policy and open the service handler up then you will be able to change the routing details. The default is 'Use the WSDL of the back-end Web Service' but if you select 'Override...' you can then select the environmentalize..."

Regards,

Marc

MarceloParisi-Oracle

Hi Marcelo,

This is what my colleague said but I haven't tested it yet:

"...When you add the web service in policy studio then it will auto-create a policy for you. If you go into that policy and open the service handler up then you will be able to change the routing details. The default is 'Use the WSDL of the back-end Web Service' but if you select 'Override...' you can then select the environmentalize..."

Regards,

Marc

Yes, that way I know. But, what if you change the wsdl on development, for example, for a fix or new version?

1 - 15

Post Details

Added on Oct 28 2021
43 comments
4,224 views