My Oracle Support Banner

ORDS 2.0.9 にアップグレード後、HTTP 500/ORA-01000 が発生する (Doc ID 1999374.1)

Last updated on FEBRUARY 18, 2021

適用範囲:

Oracle Application Express (APEX) - バージョン 4.2.4 以降
Oracle Database Exadata Cloud Machine - バージョン N/A 以降
Oracle Database Cloud Exadata Service - バージョン N/A 以降
Oracle Database Exadata Express Cloud Service - バージョン N/A 以降
Oracle Database Cloud Service - バージョン N/A 以降
この文書の内容はすべてのプラットフォームに適用されます。

現象


ORDS 2.0.9 にアップグレード後、HTTP-500/ORA-01000 が発生します。

現象は、サンプルの ORDS アプリケーションを繰り返し実行するだけで確認できます。

例)
http://<HOST>:port/ords/{WorkSpace Name}/hr/empinfo/

エラー
-----------------------


500 - Internal Server Error

Request Path passes syntax validationMapping request to database pool:
PoolMap [_failed=false, _lastUpdate=1392735600000, _pattern=/empinfo/, _poolName=apex,
_regex=null, _type=BASE_PATH, _workspaceIdentifier=MY_WS, _serviceName=null]Applied
database connection infoAttempting to process with PL/SQL GatewayNot processed as
PL/SQL Gateway requestAttempting to process as a RESTful Service

 

デバッグ・トレースでは以下の Exception が出力されます:

WebException [statusCode=500]
at oracle.dbtools.rt.web.WebException.webException(WebException.java:343)
at oracle.dbtools.rt.web.WebException.internalError(WebException.java:262)
at oracle.dbtools.rt.web.WebErrorResponse.internalError(WebErrorResponse.java:101)
at oracle.dbtools.rt.web.WebErrorResponse.error(WebErrorResponse.java:75)
at oracle.dbtools.rt.web.HttpEndpointBase.service(HttpEndpointBase.java:166)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:769)
at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:698)
at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:891)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
at java.lang.Thread.run(Thread.java:744)Caused by: JDBCException [kind=SQL]
at oracle.dbtools.common.jdbc.JDBCException.wrap(JDBCException.java:88)
at oracle.dbtools.common.jdbc.JDBCQueryProvider.query(JDBCQueryProvider.java:41)
at oracle.dbtools.rt.resource.templates.jdbc.JDBCResourceTemplateDispatcher.candidates(JDBCResourceTemplateDispatcher.java:144)
at oracle.dbtools.rt.resource.templates.jdbc.JDBCResourceTemplateDispatcher.matches(JDBCResourceTemplateDispatcher.java:165)
at oracle.dbtools.rt.resource.templates.jdbc.JDBCResourceTemplateDispatcher.canDispatch(JDBCResourceTemplateDispatcher.java:67)
at oracle.dbtools.rt.web.RequestDispatchers.choose(RequestDispatchers.java:160)
at oracle.dbtools.rt.web.RequestDispatchers.dispatch(RequestDispatchers.java:75)
at oracle.dbtools.rt.web.ETags.checkPrecondition(ETags.java:53)
at oracle.dbtools.rt.web.HttpEndpointBase.restfulServices(HttpEndpointBase.java:426)
at oracle.dbtools.rt.web.HttpEndpointBase.service(HttpEndpointBase.java:164) ... 16 more

Caused by: java.sql.SQLException: ORA-01000:  maximum open cursors exceeded
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:459)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:400)
at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:999)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:539)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:235)
at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:543)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:239)
at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:1246)
at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1500)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1709)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:4401)
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:4482)
at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:6272)
at sun.reflect.GeneratedMethodAccessor45.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at oracle.ucp.jdbc.proxy.PreparedStatementProxyFactory.invoke(PreparedStatementProxyFactory.java:111)
at com.sun.proxy.$Proxy23.executeQuery(Unknown Source)
at oracle.dbtools.common.jdbc.JDBCQueryImpl.resultSet(JDBCQueryImpl.java:92)
at oracle.dbtools.common.jdbc.JDBCResultRowIterator.<init>(JDBCResultRowIterator.java:29)
at oracle.dbtools.common.jdbc.JDBCQueryImpl.execute(JDBCQueryImpl.java:52)
at oracle.dbtools.common.jdbc.JDBCQueryProvider.query(JDBCQueryProvider.java:38) ... 24 more

 

 

変更点

ORDS 2.0.9 へのアップグレード

原因

To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!


本書の内容
現象
変更点
原因
解決策
参照情報

My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.