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!

ORDS on Tomcat with Oracle 21c XE : Getting ORA-00439: feature not enabled: Enterprise User Security

user525840Jun 28 2022 — edited Jun 28 2022

Tomcat 9.0 Error logs.txt (40.8 KB)Hi Experts,
I am getting this error "ORA-00439: feature not enabled: Enterprise User Security" when I am trying to access rest enabled view data from oracle database 21c XE running ORDS 21.4 version.
JDBC connection URL -> jdbc:oracle:thin:@//localhost:1521/XEPDB1
Please let me know if this is feature limitation of using ORDS with Oracle 21c XE. I have tried reinstalling of ORDS version along with %APEX% db users account reset multiple times but it didnt help resolve the errors.
I have REST enabled the schema "DENTOSYS_DEV" user and its objects via Apex web page.
Please let me know if I need to configure any pool.
Find below software versions:
OS : Windows 10
Database: Oracle 21c Express Edition
Web server: apache-tomcat-9.0.64
ORDS : ords-21.4.3.117.0405
Java: java version "17.0.3.1" 2022-04-22 LTS
Apex version: apex_22.1
REST user configuration:
Below mentioned DB users are unlocked and password rest done multiple times.
APEX_LISTENER OPEN
APEX_PUBLIC_USER OPEN
APEX_REST_PUBLIC_USER OPEN
ORDS_PUBLIC_USER OPEN
ORDS_METADATA OPEN
APEX_220100 OPEN
ORDS Config:
ORDS maintains the configuration into below path - C:\ords-21.4_config\ords\conf
I can see there are files created with names:
apex, apex_al, apex_pu, apex_rt
PROXY Users in Database:
SELECT * FROM proxy_users;
APEX_PUBLIC_USER DENTOSYS_DEV NO PROXY MAY ACTIVATE ALL CLIENT ROLES
APEX_REST_PUBLIC_USER DENTOSYS_DEV NO PROXY MAY ACTIVATE ALL CLIENT ROLES
ORDS_PUBLIC_USER DENTOSYS_DEV NO PROXY MAY ACTIVATE ALL CLIENT ROLES
APEX_REST_PUBLIC_USER APEX_PUBLIC_USER NO PROXY MAY ACTIVATE ALL CLIENT ROLES
ORDS_PUBLIC_USER APEX_PUBLIC_USER NO PROXY MAY ACTIVATE ALL CLIENT ROLES
ORDS_PUBLIC_USER APEX_REST_PUBLIC_USER NO PROXY MAY ACTIVATE ALL CLIENT ROLES
Error logs in Tomcat 9.0 :
Caused by: oracle.dbtools.common.jdbc.ConnectionPoolConfigurationException: The database user for the connection pool named |apex|pu|, is not able to proxy to the schema named DENTOSYS_DEV. 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:47)
at oracle.dbtools.common.jdbc.ConnectionPoolExceptions.from(ConnectionPoolExceptions.java:54)
at oracle.dbtools.common.jdbc.DataSourceConnection.getPooledConnection(DataSourceConnection.java:227)
at oracle.dbtools.common.jdbc.DataSourceConnection.getPooledConnection(DataSourceConnection.java:186)
at oracle.dbtools.common.jdbc.DataSourceConnection.getDefaultConnection(DataSourceConnection.java:144)
at oracle.dbtools.common.jdbc.DataSourceConnection.getConnection(DataSourceConnection.java:58)
at oracle.dbtools.common.pools.DataSourceTargetImpl.getConnection(DataSourceTargetImpl.java:57)
at oracle.dbtools.common.config.db.SchemaConnectionFactoryBase.inject(SchemaConnectionFactoryBase.java:69)
at oracle.dbtools.url.mapping.db.PoolInjector.inject(PoolInjector.java:58)
... 67 more
Caused by: oracle.dbtools.common.ucp.ConnectionLabelingException: Error occurred when attempting to configure url: jdbc:oracle:thin:@//localhost:1521/XEPDB1 with labels: {oracle.dbtools.jdbc.label.cleanup=RECYCLE, oracle.dbtools.jdbc.label.schema=DENTOSYS_DEV}
at oracle.dbtools.common.ucp.LabelingCallback.handle(LabelingCallback.java:192)
at oracle.dbtools.common.ucp.LabelingCallback.proxyToSchema(LabelingCallback.java:355)
at oracle.dbtools.common.ucp.LabelingCallback.configure(LabelingCallback.java:78)
at oracle.ucp.common.UniversalConnectionPoolImpl.borrowConnectionAndValidateHelper(UniversalConnectionPoolImpl.java:258)
at oracle.ucp.common.UniversalConnectionPoolImpl.borrowConnectionAndValidate(UniversalConnectionPoolImpl.java:166)
at oracle.ucp.common.UniversalConnectionPoolImpl.borrowConnection(UniversalConnectionPoolImpl.java:139)
at oracle.ucp.jdbc.JDBCConnectionPool.borrowConnection(JDBCConnectionPool.java:185)
at oracle.ucp.jdbc.oracle.OracleJDBCConnectionPool.borrowConnection(OracleJDBCConnectionPool.java:611)
at oracle.ucp.jdbc.oracle.OracleConnectionConnectionPool.borrowConnection(OracleConnectionConnectionPool.java:119)
at oracle.ucp.jdbc.PoolDataSourceImpl.getConnection(PoolDataSourceImpl.java:1880)
at oracle.ucp.jdbc.PoolDataSourceImpl.access$300(PoolDataSourceImpl.java:225)
at oracle.ucp.jdbc.PoolDataSourceImpl$3.build(PoolDataSourceImpl.java:4050)
at oracle.ucp.jdbc.PoolDataSourceImpl.getConnection(PoolDataSourceImpl.java:1823)
at oracle.dbtools.common.ucp.PoolDataSourceDelegate.getConnection(PoolDataSourceDelegate.java:109)
at oracle.dbtools.common.config.db.RefreshablePoolDataSource.getConnection(RefreshablePoolDataSource.java:109)
at oracle.dbtools.common.ucp.PoolDataSourceDelegate.getConnection(PoolDataSourceDelegate.java:109)
at oracle.dbtools.common.ucp.PoolDataSourceDelegate.getConnection(PoolDataSourceDelegate.java:96)
at oracle.dbtools.common.jdbc.DataSourceConnection.getPooledConnection(DataSourceConnection.java:210)
... 73 more
Caused by: java.sql.SQLException: ORA-00439: feature not enabled: Enterprise User Security

at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:630)  
at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:559)  
at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:554)  
at oracle.jdbc.driver.T4CTTIfun.processError(T4CTTIfun.java:1376)  
at oracle.jdbc.driver.T4CTTIoauthenticate.processError(T4CTTIoauthenticate.java:782)  
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:771)  
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:299)  
at oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:450)  
at oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:2101)  
at oracle.jdbc.driver.T4CConnection.doProxySession(T4CConnection.java:3470)  
at oracle.jdbc.driver.PhysicalConnection.openProxySession(PhysicalConnection.java:3105)  
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:434)  
at oracle.dbtools.common.ucp.LabelingCallback$ProxySchemaTask.call(LabelingCallback.java:422)  
at oracle.dbtools.common.concurrent.RetryStrategy.execute(RetryStrategy.java:46)  
at oracle.dbtools.common.ucp.LabelingCallback.proxyToSchema(LabelingCallback.java:342)  
... 89 more
Comments
Post Details
Added on Jun 28 2022
0 comments
1,042 views