Skip to Main Content

APEX

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.

New APEX ORDS Installation - 503

Sanal Krishnan NarayananDec 27 2024 — edited Dec 28 2024

On an existing database, followed the steps to install APEX, and ORDS. However hitting the Apex button gets a 503 error and database connection errors in the log file (which doesnt make sense ).

Database version : 19.24.0.0.0

Apex Version : 24.1 (installed in PDB. all older versions were removed from CDB and PDB)

ORDS version : 24.4.0.345.1601

JDK : Oracle GraalVM 21.0.5+9.1 (tried JDK21 as well, same error)

I can connect to the PDB as ORDS_PUBLIC_USER, and I can also connect as proxy user APEX_PUBLIC_USER (tested with sql developer), so not sure why it says it couldn't proxy.

The hostname, service name is correct.

We can see a connection in the DB under ORDS_PUBLIC_USER, however nothing in the DBA_AUDIT_TRAIL suggests it trying to proxy to APEX_PUBLIC_USER. Have traced the connection as well, no reference to APEX_PUBLIC_USER in the db trace file.

There are no other entries in the DBA_AUDIT_TRAIL for this activity other than LOGON and LOGOFF for ORDS_PUBLIC_USER.


[xyz@xyz scripts]$ ords --config $ORDS_CONFIG install
Picked up _JAVA_OPTIONS: -Xms1126M -Xmx1126M

ORDS: Release 24.4 Production on Fri Dec 27 14:51:10 2024

Copyright (c) 2010, 2024, Oracle.

Configuration:
/u01/ords/config/ords

The configuration folder /u01/ords/config/ords does not contain any configuration files.

Oracle REST Data Services - Interactive Install

Created folder /u01/ords/config/ords
Enter a number to select the database connection type to use
[1] Basic (host name, port, service name)
[2] TNS (TNS alias, TNS directory)
[3] Custom database URL
Choose [1]: 1
Enter the database host name [localhost]: xyz
Enter the database listen port [1521]:
Enter the database service name [orcl]: xyz
Provide database user name with administrator privileges.
Enter the administrator username: sys
Enter the database password for SYS AS SYSDBA:

Retrieving information.
ORDS is not installed in the database. ORDS installation is required.

Enter a number to update the value or select option A to Accept and Continue
[1] Connection Type: Basic
[2] Basic Connection: HOST=xyz PORT=1521 SERVICE_NAME=xyz
Administrator User: SYS AS SYSDBA
[3] Database password for ORDS runtime user (ORDS_PUBLIC_USER): <generate>
[4] ORDS runtime user and schema tablespaces: Default: SYSAUX Temporary TEMP
[5] Additional Feature: Database Actions
[6] Configure and start ORDS in Standalone Mode: Yes
[7] Protocol: HTTP
[8] HTTP Port: 8080
[9] APEX static resources location:
[A] Accept and Continue - Create configuration and Install ORDS in the database
[Q] Quit - Do not proceed. No changes
Choose [A]: 9
Enter the APEX static resources location: /u01/ords/apex/apex/images
Enter a number to update the value or select option A to Accept and Continue
[1] Connection Type: Basic
[2] Basic Connection: HOST=xyz PORT=1521 SERVICE_NAME=xyz
Administrator User: SYS AS SYSDBA
[3] Database password for ORDS runtime user (ORDS_PUBLIC_USER): <generate>
[4] ORDS runtime user and schema tablespaces: Default: SYSAUX Temporary TEMP
[5] Additional Feature: Database Actions
[6] Configure and start ORDS in Standalone Mode: Yes
[7] Protocol: HTTP
[8] HTTP Port: 8080
[9] APEX static resources location: /u01/ords/apex/apex/images
[A] Accept and Continue - Create configuration and Install ORDS in the database
[Q] Quit - Do not proceed. No changes
Choose [A]: A
The setting named: db.connectionType was set to: basic in configuration: default
The setting named: db.hostname was set to: xyz in configuration: default
The setting named: db.port was set to: 1521 in configuration: default
The setting named: db.servicename was set to: xyz in configuration: default
The setting named: plsql.gateway.mode was set to: proxied in configuration: default
The setting named: db.username was set to: ORDS_PUBLIC_USER in configuration: default
The setting named: db.password was set to: ****** in configuration: default
The setting named: feature.sdw was set to: true in configuration: default
The global setting named: database.api.enabled was set to: true
The setting named: restEnabledSql.active was set to: true in configuration: default
The global setting named: standalone.http.port was set to: 8080
The global setting named: standalone.static.path was set to: /u01/ords/apex/apex/images
The global setting named: standalone.doc.root was set to: /u01/ords/config/ords/global/doc_root
The setting named: security.requestValidationFunction was set to: ords_util.authorize_plsql_gateway in configuration: default
2024-12-27T14:54:34.594Z INFO The log file is defaulted to the current working directory located at /u01/ords/scripts/logs/
2024-12-27T14:54:35.770Z INFO Installing Oracle REST Data Services version 24.4.0.r3451601 in xyz
2024-12-27T14:54:38.634Z INFO ... Verified database prerequisites
2024-12-27T14:54:39.422Z INFO ... Created Oracle REST Data Services proxy user
2024-12-27T14:54:40.575Z INFO ... Created Oracle REST Data Services schema
2024-12-27T14:54:41.415Z INFO ... Granted privileges to Oracle REST Data Services
2024-12-27T14:54:46.645Z INFO ... Created Oracle REST Data Services database objects
2024-12-27T14:55:03.555Z INFO Completed installation for Oracle REST Data Services version 24.4.0.r3451601. Elapsed time: 00:00:27.748

2024-12-27T14:55:03.641Z INFO Completed configuring PL/SQL gateway user for Oracle REST Data Services version 24.4.0.r3451601. Elapsed time: 00:00:00.85

2024-12-27T14:55:03.645Z INFO Log file written to /u01/ords/scripts/logs/ords_install_2024-12-27_145434_59651.log
2024-12-27T14:55:04.036Z INFO HTTP and HTTP/2 cleartext listening on host: 0.0.0.0 port: 8080
2024-12-27T14:55:04.084Z INFO Disabling document root because the specified folder does not exist: /u01/ords/config/ords/global/doc_root
2024-12-27T14:55:04.085Z INFO Default forwarding from / to contextRoot configured.
2024-12-27T14:55:09.876Z INFO Configuration properties for: |default|lo|
db.servicename=xyz
db.hostname=xyz
db.password=******
conf.use.wallet=true
security.requestValidationFunction=ords_util.authorize_plsql_gateway
database.api.enabled=true
db.username=ORDS_PUBLIC_USER
standalone.http.port=8080
standalone.static.path=/u01/ords/apex/apex/images
restEnabledSql.active=true
resource.templates.enabled=false
plsql.gateway.mode=proxied
db.port=1521
feature.sdw=true
config.required=true
db.connectionType=basic
standalone.doc.root=/u01/ords/config/ords/global/doc_root

2024-12-27T14:55:09.878Z WARNING *** jdbc.MaxLimit in configuration |default|lo| is using a value of 10, this setting may not be sized adequately for a production environment ***
2024-12-27T14:55:10.979Z INFO

Mapped local pools from /u01/ords/config/ords/databases:
/ords/ => default => VALID

2024-12-27T14:55:11.159Z INFO Oracle REST Data Services initialized
Oracle REST Data Services version : 24.4.0.r3451601
Oracle REST Data Services server info: jetty/12.0.13
Oracle REST Data Services java info: Java HotSpot(TM) 64-Bit Server VM Oracle GraalVM 21.0.5+9.1 (build: 21.0.5+9-LTS-jvmci-23.1-b48 mixed mode, sharing)

2024-12-27T14:57:55.279Z SEVERE <2-9gbWlluTXjwwSZOThFwg> GET troraefsnlt002 /ords/apex 503 The database user for the connection pool named |default|lo|, is not able to proxy to the schema named APEX_PUBLIC_USER. This could be a configured restriction on the maximum number of database sessions or an authorization failure.
ServiceUnavailableException [statusCode=503, logLevel=SEVERE, reasons=[The database user for the connection pool named |default|lo|, is not able to proxy to the schema named APEX_PUBLIC_USER. This could be a configured restriction on the maximum number of database sessions or an authorization failure.]]
at oracle.dbtools.http.errors.ServletResponseExceptionMapper.mapError(ServletResponseExceptionMapper.java:84)
at oracle.dbtools.http.errors.ErrorLogger.log(ErrorLogger.java:27)
at oracle.dbtools.http.errors.ErrorPageFilter.doFilter(ErrorPageFilter.java:111)
at oracle.dbtools.http.filters.HttpFilter.doFilter(HttpFilter.java:47)
at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64)
at oracle.dbtools.http.secure.ForceHttpsFilter.doFilter(ForceHttpsFilter.java:74)
at oracle.dbtools.http.filters.HttpFilter.doFilter(HttpFilter.java:47)
at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64)
at oracle.dbtools.http.auth.ForceAuthFilter.doFilter(ForceAuthFilter.java:44)
at oracle.dbtools.http.filters.HttpFilter.doFilter(HttpFilter.java:47)
at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64)
at oracle.dbtools.http.filters.Filters.filter(Filters.java:67)
at oracle.dbtools.http.entrypoint.EntryPoint.service(EntryPoint.java:70)
at oracle.dbtools.http.entrypoint.EntryPointServlet.service(EntryPointServlet.java:130)
at oracle.dbtools.entrypoint.WebApplicationRequestEntryPoint.service(WebApplicationRequestEntryPoint.java:50)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:584)
at org.eclipse.jetty.ee8.servlet.ServletHolder.handle(ServletHolder.java:640)
at org.eclipse.jetty.ee8.servlet.ServletHandler.doHandle(ServletHandler.java:456)
at org.eclipse.jetty.ee8.nested.ScopedHandler.nextHandle(ScopedHandler.java:181)
at org.eclipse.jetty.ee8.nested.SessionHandler.doHandle(SessionHandler.java:516)
at org.eclipse.jetty.ee8.nested.ScopedHandler.nextHandle(ScopedHandler.java:181)
at org.eclipse.jetty.ee8.nested.ContextHandler.doHandle(ContextHandler.java:879)
at org.eclipse.jetty.ee8.nested.ScopedHandler.nextScope(ScopedHandler.java:152)
at org.eclipse.jetty.ee8.servlet.ServletHandler.doScope(ServletHandler.java:423)
at org.eclipse.jetty.ee8.nested.ScopedHandler.nextScope(ScopedHandler.java:150)
at org.eclipse.jetty.ee8.nested.SessionHandler.doScope(SessionHandler.java:500)
at org.eclipse.jetty.ee8.nested.ScopedHandler.nextScope(ScopedHandler.java:150)
at org.eclipse.jetty.ee8.nested.ContextHandler.doScope(ContextHandler.java:824)
at org.eclipse.jetty.ee8.nested.ScopedHandler.handle(ScopedHandler.java:117)
at org.eclipse.jetty.ee8.nested.ContextHandler.handle(ContextHandler.java:1422)
at org.eclipse.jetty.ee8.nested.HttpChannel$RequestDispatchable.dispatch(HttpChannel.java:1294)
at org.eclipse.jetty.ee8.nested.HttpChannel.dispatch(HttpChannel.java:624)
at org.eclipse.jetty.ee8.nested.HttpChannel.handle(HttpChannel.java:456)
at org.eclipse.jetty.ee8.nested.ContextHandler$CoreContextHandler$CoreToNestedHandler.handle(ContextHandler.java:2375)
at org.eclipse.jetty.server.handler.ContextHandler.handle(ContextHandler.java:1060)
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:181)
at org.eclipse.jetty.server.Handler$Sequence.handle(Handler.java:805)
at org.eclipse.jetty.server.Handler$Wrapper.handle(Handler.java:740)
at org.eclipse.jetty.server.handler.EventsHandler.handle(EventsHandler.java:81)
at org.eclipse.jetty.server.Server.handle(Server.java:181)
at org.eclipse.jetty.server.internal.HttpChannelState$HandlerInvoker.run(HttpChannelState.java:661)
at org.eclipse.jetty.server.internal.HttpConnection.onFillable(HttpConnection.java:406)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:322)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:99)
at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53)
at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:478)
at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:441)
at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:293)
at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.run(AdaptiveExecutionStrategy.java:201)
at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:311)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:979)
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1209)
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1164)
at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: oracle.dbtools.url.mapping.TargetNotAvailableException: The database user for the connection pool named |default|lo|, is not able to proxy to the schema named APEX_PUBLIC_USER. This could be a configured restriction on the maximum number of database sessions or an authorization failure.
at oracle.dbtools.url.mapping.db.PoolInjector.inject(PoolInjector.java:72)
at oracle.dbtools.url.mapping.db.PoolInjector.inject(PoolInjector.java:52)
at oracle.dbtools.url.mapping.db.DatabaseURLMappingBase.injectPLSQLGatewayConnection(DatabaseURLMappingBase.java:1024)
at oracle.dbtools.url.mapping.db.DatabaseURLMappingBase.addServices(DatabaseURLMappingBase.java:375)
at oracle.dbtools.jdbc.pools.JDBCPoolURLMapping.addServices(JDBCPoolURLMapping.java:103)
at oracle.dbtools.url.mapping.URLMappingBase.doFilter(URLMappingBase.java:75)
at oracle.dbtools.url.mapping.db.DatabaseTenantMapping.dispatchSelf(DatabaseTenantMapping.java:216)
at oracle.dbtools.url.mapping.db.DatabaseTenantMappingBase.doFilter(DatabaseTenantMappingBase.java:51)
at oracle.dbtools.url.mapping.tenant.TenantMappingDispatcher.dispatch(TenantMappingDispatcher.java:59)
at oracle.dbtools.jdbc.pools.local.DefaultLocalTenantMapping.dispatchSelf(DefaultLocalTenantMapping.java:153)
at oracle.dbtools.url.mapping.db.DatabaseTenantMappingBase.doFilter(DatabaseTenantMappingBase.java:51)
at oracle.dbtools.jdbc.pools.local.DefaultLocalTenantMapping.doFilter(DefaultLocalTenantMapping.java:109)
at oracle.dbtools.url.mapping.tenant.TenantMappingDispatcher.dispatch(TenantMappingDispatcher.java:59)
at oracle.dbtools.url.mapping.tenant.TenantMappingFilter.doFilter(TenantMappingFilter.java:91)
at oracle.dbtools.http.filters.HttpFilter.doFilter(HttpFilter.java:47)
at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64)
at oracle.dbtools.http.forwarding.ForwardingFailedFilter.doFilter(ForwardingFailedFilter.java:41)
at oracle.dbtools.http.filters.HttpFilter.doFilter(HttpFilter.java:47)
at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64)
at oracle.dbtools.http.auth.external.ExternalSessionFilter.doFilter(ExternalSessionFilter.java:59)
at oracle.dbtools.http.filters.HttpFilter.doFilter(HttpFilter.java:47)
at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64)
at oracle.dbtools.apex.support.auth.ApexSessionQueryRewriteFilter.doFilter(ApexSessionQueryRewriteFilter.java:58)
at oracle.dbtools.http.filters.HttpFilter.doFilter(HttpFilter.java:47)
at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64)
at oracle.dbtools.http.cors.CORSResponseFilter.doFilter(CORSResponseFilter.java:90)
at oracle.dbtools.http.filters.HttpResponseFilter.doFilter(HttpResponseFilter.java:45)
at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64)
at oracle.dbtools.http.filters.AbsoluteLocationFilter.doFilter(AbsoluteLocationFilter.java:65)
at oracle.dbtools.http.filters.HttpResponseFilter.doFilter(HttpResponseFilter.java:45)
at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64)
at oracle.dbtools.http.auth.external.ExternalAccessValidationFilter.doFilter(ExternalAccessValidationFilter.java:59)
at oracle.dbtools.http.filters.HttpFilter.doFilter(HttpFilter.java:47)
at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64)
at oracle.dbtools.http.errors.ErrorPageFilter.doFilter(ErrorPageFilter.java:87)
... 51 more
Caused by: oracle.dbtools.common.jdbc.ConnectionPoolConfigurationException: The database user for the connection pool named |default|lo|, is not able to proxy to the schema named APEX_PUBLIC_USER. This could be a configured restriction on the maximum number of database sessions or an authorization failure.
at oracle.dbtools.common.jdbc.ConnectionPoolExceptions.from(ConnectionPoolExceptions.java:63)
at oracle.dbtools.common.jdbc.ConnectionPoolExceptions.from(ConnectionPoolExceptions.java:69)
at oracle.dbtools.common.jdbc.DataSourceConnection.getPooledConnection(DataSourceConnection.java:231)
at oracle.dbtools.common.jdbc.DataSourceConnection.getPooledConnection(DataSourceConnection.java:189)
at oracle.dbtools.common.jdbc.DataSourceConnection.getDefaultConnection(DataSourceConnection.java:144)
at oracle.dbtools.common.jdbc.DataSourceConnection.getConnection(DataSourceConnection.java:58)
at oracle.dbtools.jdbc.pools.JDBCSchemaTarget.getConnection(JDBCSchemaTarget.java:85)
at oracle.dbtools.common.config.db.SchemaConnectionFactoryBase.inject(SchemaConnectionFactoryBase.java:70)
at oracle.dbtools.url.mapping.db.PoolInjector.inject(PoolInjector.java:62)
... 85 more
Caused by: oracle.dbtools.common.ucp.ConnectionLabelingException: Error occurred when attempting to configure url: jdbc:oracle:thin:@//xyz:1521/xyz with labels: {oracle.dbtools.jdbc.label.cleanup=RECYCLE, oracle.dbtools.jdbc.label.schema=APEX_PUBLIC_USER}
at oracle.dbtools.common.ucp.LabelingCallback.handle(LabelingCallback.java:192)
at oracle.dbtools.common.ucp.LabelingCallback.proxyToSchema(LabelingCallback.java:358)
at oracle.dbtools.common.ucp.LabelingCallback.configure(LabelingCallback.java:78)
at oracle.ucp.common.UniversalConnectionPoolImpl.borrowConnectionAndValidate(UniversalConnectionPoolImpl.java:595)
at oracle.ucp.common.UniversalConnectionPoolImpl.borrowConnectionAndValidate(UniversalConnectionPoolImpl.java:277)
at oracle.ucp.common.UniversalConnectionPoolImpl.borrowConnection(UniversalConnectionPoolImpl.java:215)
at oracle.ucp.jdbc.JDBCConnectionPool.borrowConnection(JDBCConnectionPool.java:248)
at oracle.ucp.jdbc.oracle.OracleJDBCConnectionPool.borrowConnection(OracleJDBCConnectionPool.java:629)
at oracle.ucp.jdbc.oracle.OracleConnectionConnectionPool.borrowConnection(OracleConnectionConnectionPool.java:128)
at oracle.ucp.jdbc.PoolDataSourceImpl.getConnection(PoolDataSourceImpl.java:2096)
at oracle.ucp.jdbc.PoolDataSourceImpl.getConnection(PoolDataSourceImpl.java:2075)
at oracle.ucp.jdbc.PoolDataSourceImpl$3.build(PoolDataSourceImpl.java:4462)
at oracle.ucp.jdbc.PoolDataSourceImpl.getConnection(PoolDataSourceImpl.java:1979)
at oracle.dbtools.common.ucp.PoolDataSourceDelegate.getConnection(PoolDataSourceDelegate.java:115)
at oracle.dbtools.common.config.db.RefreshablePoolDataSource.getConnection(RefreshablePoolDataSource.java:109)
at oracle.dbtools.common.ucp.PoolDataSourceDelegate.getConnection(PoolDataSourceDelegate.java:115)
at oracle.dbtools.common.ucp.PoolDataSourceDelegate.getConnection(PoolDataSourceDelegate.java:115)
at oracle.dbtools.common.ucp.PoolDataSourceDelegate.getConnection(PoolDataSourceDelegate.java:100)
at oracle.dbtools.common.jdbc.DataSourceConnection.getPooledConnection(DataSourceConnection.java:213)
... 91 more
Caused by: java.sql.SQLException: ORA-01017: invalid username/password; logon denied

https://docs.oracle.com/error-help/db/ora-01017/
at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:709)
at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:604)
at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:599)
at oracle.jdbc.driver.T4CTTIfun.processError(T4CTTIfun.java:1809)
at oracle.jdbc.driver.T4CTTIoauthenticate.processError(T4CTTIoauthenticate.java:903)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:1100)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:408)
at oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:530)
at oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:2263)
at oracle.jdbc.driver.T4CConnection.doProxySession(T4CConnection.java:4816)
at oracle.jdbc.driver.PhysicalConnection.openProxySession(PhysicalConnection.java:3618)
at oracle.ucp.jdbc.proxy.oracle$1ucp$1jdbc$1proxy$1oracle$1ConnectionProxy$2oracle$1jdbc$1internal$1OracleConnection$$$Proxy.openProxySession(Unknown Source)
at oracle.dbtools.common.ucp.LabelingCallback$ProxySchemaTask.call(LabelingCallback.java:437)
at oracle.dbtools.common.ucp.LabelingCallback$ProxySchemaTask.call(LabelingCallback.java:425)
at oracle.dbtools.common.concurrent.RetryStrategy.execute(RetryStrategy.java:47)
at oracle.dbtools.common.ucp.LabelingCallback.proxyToSchema(LabelingCallback.java:345)
... 108 more



Comments

Post Details

Added on Dec 27 2024
1 comment
283 views