安装 ORDS(没有 APEX)
Installing ORDS (without APEX)
我很难让 ORDS 3.0.4.60.12.48 在 Tomcat 7.0.68 服务器上运行。数据库本身是 Oracle 12.1.0.2.0.
每当我尝试访问位于 localhost:8080/ords
的 ORDS 页面时,我都会收到 404 错误。启用 debug.printDebugToScreen
属性 后,页面显示如下:
调试跟踪
Could not find any dispatcher to handle request:
--Attributes--
apex.diagnostic.context = ...
ECID-Principal = ECIDPrincipal [ecid=DRfgpsk1Jpq7KZ67hEo6Dw..]
oracle.dbtools.http.ecid = ogil1RMV3372zbyEOpN1Rg..
oracle.dbtools.common.di.Services = Request Scope
--Attributes--
GET /ords/ HTTP/1.1
Host: localhost
host: localhost:8080
user-agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0
accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
accept-language: en-US,en;q=0.5
accept-encoding: gzip, deflate
referer: http://localhost:8080/manager/html/list
connection: keep-alive
org.apache.catalina.connector.CoyoteInputStream@139aac67
堆栈跟踪
DispatcherNotFoundException [statusCode=404, reasons=[]]
at oracle.dbtools.http.entrypoint.Dispatcher.choose(Dispatcher.java:86)
at oracle.dbtools.http.entrypoint.Dispatcher.dispatch(Dispatcher.java:96)
at oracle.dbtools.http.entrypoint.EntryPoint$FilteredServlet.service(EntryPoint.java:153)
at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:73)
at oracle.dbtools.http.forwarding.QueryFilteringRewrite.doFilter(QueryFilteringRewrite.java:89)
at oracle.dbtools.http.filters.HttpFilter.doFilter(HttpFilter.java:45)
at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64)
at oracle.dbtools.http.forwarding.ForwardingFilter.doFilter(ForwardingFilter.java:59)
at oracle.dbtools.http.filters.HttpFilter.doFilter(HttpFilter.java:45)
at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64)
at oracle.dbtools.http.cors.CORSPreflightFilter.doFilter(CORSPreflightFilter.java:67)
at oracle.dbtools.http.filters.HttpFilter.doFilter(HttpFilter.java:45)
at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64)
at oracle.dbtools.http.cookies.auth.CookieSessionCSRFFilter.doFilter(CookieSessionCSRFFilter.java:73)
at oracle.dbtools.http.filters.HttpFilter.doFilter(HttpFilter.java:45)
at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64)
at oracle.dbtools.http.auth.AuthenticationFilter.authenticate(AuthenticationFilter.java:89)
at oracle.dbtools.http.auth.AuthenticationFilter.doFilter(AuthenticationFilter.java:62)
at oracle.dbtools.http.filters.HttpFilter.doFilter(HttpFilter.java:45)
at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64)
at oracle.dbtools.url.mapping.filter.URLMappingFilter.doFilter(URLMappingFilter.java:69)
at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64)
at oracle.dbtools.http.locale.LocaleFilter.doFilter(LocaleFilter.java:60)
at oracle.dbtools.http.filters.HttpFilter.doFilter(HttpFilter.java:45)
at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64)
at oracle.dbtools.http.cors.CORSResponseFilter.doFilter(CORSResponseFilter.java:83)
at oracle.dbtools.http.filters.HttpResponseFilter.doFilter(HttpResponseFilter.java:45)
at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64)
at oracle.dbtools.http.errors.ErrorPageFilter.doFilter(ErrorPageFilter.java:75)
at oracle.dbtools.http.filters.HttpFilter.doFilter(HttpFilter.java:45)
at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64)
at oracle.dbtools.http.ecid.ECIDFilter.doFilter(ECIDFilter.java:35)
at oracle.dbtools.http.filters.HttpFilter.doFilter(HttpFilter.java:45)
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:45)
at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64)
at oracle.dbtools.http.filters.Filters.filter(Filters.java:47)
at oracle.dbtools.http.entrypoint.EntryPoint.service(EntryPoint.java:82)
at oracle.dbtools.http.entrypoint.EntryPointServlet.service(EntryPointServlet.java:49)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
at oracle.dbtools.rt.web.HttpEndpointBase.dispatchableServices(HttpEndpointBase.java:156)
at oracle.dbtools.rt.web.HttpEndpointBase.service(HttpEndpointBase.java:85)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:436)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1078)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Unknown Source)
不幸的是,我并没有在网上找到很多关于这方面的信息。其中很多是在检查我没有使用的 APEX 特定用户。在我确实找到的内容中,我已经检查并可以确认我可以手动登录为 ORDS_PUBLIC_USER
,并且我已经尝试将 ojdbc.jar
文件从我的 Oracle 客户端复制到 Tomcat lib
文件夹。但是,问题似乎仍然存在。
如有任何帮助,我们将不胜感激!
[编辑] 所以我尝试使用新的 ORDS 配置重新安装它,并意识到我的安装在 ords\conf\
目录中没有 apex_pu.xml
文件。但是,我仍然遇到类似的错误:
调试跟踪
mapped request using: /* to: apex_pu
Could not find any dispatcher to handle request:
--Attributes--
apex.diagnostic.context = ...
ECID-Principal = ECIDPrincipal [ecid=wDuKj9PEUNnl3Oy8vwesDg..]
oracle.dbtools.http.ecid = xXACfwD3YDNtXCQUNuqIAw..
oracle.dbtools.common.di.Services = Request Scope
--Attributes--
GET /ords/ HTTP/1.1
Host: localhost
host: localhost:8080
user-agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0
accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
accept-language: en-US,en;q=0.5
accept-encoding: gzip, deflate
referer: http://localhost:8080/manager/html/list
connection: keep-alive
org.apache.catalina.connector.CoyoteInputStream@1405a57f
mapped request using: /* to: apex_pu
Could not find any dispatcher to handle request:
--Attributes--
apex.diagnostic.context = ...
ECID-Principal = ECIDPrincipal [ecid=wDuKj9PEUNnl3Oy8vwesDg..]
oracle.dbtools.http.ecid = xXACfwD3YDNtXCQUNuqIAw..
oracle.dbtools.common.di.Services = Request Scope
--Attributes--
GET /ords/ HTTP/1.1
Host: localhost
host: localhost:8080
user-agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0
accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
accept-language: en-US,en;q=0.5
accept-encoding: gzip, deflate
referer: http://localhost:8080/manager/html/list
connection: keep-alive
org.apache.catalina.connector.CoyoteInputStream@1405a57f
堆栈跟踪与之前几乎相同。
这都是我的误会。我原以为 localhost:8080/ords
和 localhost:8080/ords/ordstest
应该 return 编辑了某种元数据,但事实并非如此。
按照 ORDS examples
文件夹中的 getting-started
指南设置 ORDSTEST
模式和 运行
exec ords.enable_schema();
exec ords.enable_object(p_object => 'EMP');
commit;
代替不想下载 SQL 开发者,我设法 http://localhost:8080/ords/ordstest/emp
成功 return 数据。
我很难让 ORDS 3.0.4.60.12.48 在 Tomcat 7.0.68 服务器上运行。数据库本身是 Oracle 12.1.0.2.0.
每当我尝试访问位于 localhost:8080/ords
的 ORDS 页面时,我都会收到 404 错误。启用 debug.printDebugToScreen
属性 后,页面显示如下:
调试跟踪
Could not find any dispatcher to handle request:
--Attributes--
apex.diagnostic.context = ...
ECID-Principal = ECIDPrincipal [ecid=DRfgpsk1Jpq7KZ67hEo6Dw..]
oracle.dbtools.http.ecid = ogil1RMV3372zbyEOpN1Rg..
oracle.dbtools.common.di.Services = Request Scope
--Attributes--
GET /ords/ HTTP/1.1
Host: localhost
host: localhost:8080
user-agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0
accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
accept-language: en-US,en;q=0.5
accept-encoding: gzip, deflate
referer: http://localhost:8080/manager/html/list
connection: keep-alive
org.apache.catalina.connector.CoyoteInputStream@139aac67
堆栈跟踪
DispatcherNotFoundException [statusCode=404, reasons=[]]
at oracle.dbtools.http.entrypoint.Dispatcher.choose(Dispatcher.java:86)
at oracle.dbtools.http.entrypoint.Dispatcher.dispatch(Dispatcher.java:96)
at oracle.dbtools.http.entrypoint.EntryPoint$FilteredServlet.service(EntryPoint.java:153)
at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:73)
at oracle.dbtools.http.forwarding.QueryFilteringRewrite.doFilter(QueryFilteringRewrite.java:89)
at oracle.dbtools.http.filters.HttpFilter.doFilter(HttpFilter.java:45)
at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64)
at oracle.dbtools.http.forwarding.ForwardingFilter.doFilter(ForwardingFilter.java:59)
at oracle.dbtools.http.filters.HttpFilter.doFilter(HttpFilter.java:45)
at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64)
at oracle.dbtools.http.cors.CORSPreflightFilter.doFilter(CORSPreflightFilter.java:67)
at oracle.dbtools.http.filters.HttpFilter.doFilter(HttpFilter.java:45)
at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64)
at oracle.dbtools.http.cookies.auth.CookieSessionCSRFFilter.doFilter(CookieSessionCSRFFilter.java:73)
at oracle.dbtools.http.filters.HttpFilter.doFilter(HttpFilter.java:45)
at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64)
at oracle.dbtools.http.auth.AuthenticationFilter.authenticate(AuthenticationFilter.java:89)
at oracle.dbtools.http.auth.AuthenticationFilter.doFilter(AuthenticationFilter.java:62)
at oracle.dbtools.http.filters.HttpFilter.doFilter(HttpFilter.java:45)
at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64)
at oracle.dbtools.url.mapping.filter.URLMappingFilter.doFilter(URLMappingFilter.java:69)
at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64)
at oracle.dbtools.http.locale.LocaleFilter.doFilter(LocaleFilter.java:60)
at oracle.dbtools.http.filters.HttpFilter.doFilter(HttpFilter.java:45)
at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64)
at oracle.dbtools.http.cors.CORSResponseFilter.doFilter(CORSResponseFilter.java:83)
at oracle.dbtools.http.filters.HttpResponseFilter.doFilter(HttpResponseFilter.java:45)
at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64)
at oracle.dbtools.http.errors.ErrorPageFilter.doFilter(ErrorPageFilter.java:75)
at oracle.dbtools.http.filters.HttpFilter.doFilter(HttpFilter.java:45)
at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64)
at oracle.dbtools.http.ecid.ECIDFilter.doFilter(ECIDFilter.java:35)
at oracle.dbtools.http.filters.HttpFilter.doFilter(HttpFilter.java:45)
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:45)
at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64)
at oracle.dbtools.http.filters.Filters.filter(Filters.java:47)
at oracle.dbtools.http.entrypoint.EntryPoint.service(EntryPoint.java:82)
at oracle.dbtools.http.entrypoint.EntryPointServlet.service(EntryPointServlet.java:49)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
at oracle.dbtools.rt.web.HttpEndpointBase.dispatchableServices(HttpEndpointBase.java:156)
at oracle.dbtools.rt.web.HttpEndpointBase.service(HttpEndpointBase.java:85)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:436)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1078)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Unknown Source)
不幸的是,我并没有在网上找到很多关于这方面的信息。其中很多是在检查我没有使用的 APEX 特定用户。在我确实找到的内容中,我已经检查并可以确认我可以手动登录为 ORDS_PUBLIC_USER
,并且我已经尝试将 ojdbc.jar
文件从我的 Oracle 客户端复制到 Tomcat lib
文件夹。但是,问题似乎仍然存在。
如有任何帮助,我们将不胜感激!
[编辑] 所以我尝试使用新的 ORDS 配置重新安装它,并意识到我的安装在 ords\conf\
目录中没有 apex_pu.xml
文件。但是,我仍然遇到类似的错误:
调试跟踪
mapped request using: /* to: apex_pu
Could not find any dispatcher to handle request:
--Attributes--
apex.diagnostic.context = ...
ECID-Principal = ECIDPrincipal [ecid=wDuKj9PEUNnl3Oy8vwesDg..]
oracle.dbtools.http.ecid = xXACfwD3YDNtXCQUNuqIAw..
oracle.dbtools.common.di.Services = Request Scope
--Attributes--
GET /ords/ HTTP/1.1
Host: localhost
host: localhost:8080
user-agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0
accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
accept-language: en-US,en;q=0.5
accept-encoding: gzip, deflate
referer: http://localhost:8080/manager/html/list
connection: keep-alive
org.apache.catalina.connector.CoyoteInputStream@1405a57f
mapped request using: /* to: apex_pu
Could not find any dispatcher to handle request:
--Attributes--
apex.diagnostic.context = ...
ECID-Principal = ECIDPrincipal [ecid=wDuKj9PEUNnl3Oy8vwesDg..]
oracle.dbtools.http.ecid = xXACfwD3YDNtXCQUNuqIAw..
oracle.dbtools.common.di.Services = Request Scope
--Attributes--
GET /ords/ HTTP/1.1
Host: localhost
host: localhost:8080
user-agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0
accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
accept-language: en-US,en;q=0.5
accept-encoding: gzip, deflate
referer: http://localhost:8080/manager/html/list
connection: keep-alive
org.apache.catalina.connector.CoyoteInputStream@1405a57f
堆栈跟踪与之前几乎相同。
这都是我的误会。我原以为 localhost:8080/ords
和 localhost:8080/ords/ordstest
应该 return 编辑了某种元数据,但事实并非如此。
按照 ORDS examples
文件夹中的 getting-started
指南设置 ORDSTEST
模式和 运行
exec ords.enable_schema();
exec ords.enable_object(p_object => 'EMP');
commit;
代替不想下载 SQL 开发者,我设法 http://localhost:8080/ords/ordstest/emp
成功 return 数据。