Forum Stats

  • 3,767,981 Users
  • 2,252,736 Discussions
  • 7,874,399 Comments

Discussions

After upgrade to 20.4: "The procedure named f could not be accessed or found"

Hi experts,

We're using Apex 20.2 and we've upgraded ORDS from 19.2.0.r1991647 to 20.4.1.013.1644.

We've had this error and was temporarily solved by bouncing Tomcat:


ProcedureForbiddenException [statusCode=404, logLevel=INFO, errorCode=ORDS-22001: The procedure named f could not be accessed or found Cause: The procedure may not be declared, or the user executing this request may not have been granted execute privilege on the procedure, or a function specified by security.requestValidationFunction configuration property has prevented access Action: Check the spelling of the procedure, check that the execute privilege has been granted to the caller and check the configured security.requestValidationFunction function]
    at oracle.dbtools.apex.ModApex.validateRequest(ModApex.java:427)
    at oracle.dbtools.apex.ModApex.doGet(ModApex.java:152)
    at oracle.dbtools.apex.ModApex.service(ModApex.java:119)
    at oracle.dbtools.http.entrypoint.Dispatcher.dispatch(Dispatcher.java:126)
    at oracle.dbtools.http.entrypoint.EntryPoint$FilteredServlet.service(EntryPoint.java:170)
    at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:73)
    at oracle.dbtools.http.forwarding.QueryFilteringRewrite.doFilter(QueryFilteringRewrite.java:90)
    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.ForwardingFilter.doFilter(ForwardingFilter.java:68)
    at oracle.dbtools.http.filters.HttpFilter.doFilter(HttpFilter.java:47)
    at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64)
...


Any ideas? Thanks!

Answers

  • jariola
    jariola Member Posts: 10,452 Silver Crown
  • brian.mcginity
    brian.mcginity Member Posts: 136 Bronze Badge

    I get the same error. It happens whenever a table is altered, such as adding a new column. The restarting Tomcat solves the problem. This is not an ideal solution.

  • thatJeffSmith-Oracle
    thatJeffSmith-Oracle Distinguished Product Manager Posts: 8,056 Employee

    How do you mean, 'table is altered' - exactly what tables are you altering that would impact the public synonym pointing to the APEX F procedure?

  • brian.mcginity
    brian.mcginity Member Posts: 136 Bronze Badge

    This error has happened in our system from time to time. It happens when I add a column to a table and that table has a view (select * from table). The view is used in many procedures. After adding the column, the view is rebuilt. Also, the entire schema is recompiled.

    Error ORDS-22001 starts to show up everywhere.

    I will look in TOAD and nothing shows as needing to be compiled. I refresh 5x and TOAD reports everything is compiled.

    Users are unable to access web pages. I reboot Tomcat and then everything is fixed.

    I am not using Apex. I have more than 5000 users accessing the system during peak times and I have multiple datacenters all running ORDS or mod-plsql (this does not happen with mod-plsql).

  • thatJeffSmith-Oracle
    thatJeffSmith-Oracle Distinguished Product Manager Posts: 8,056 Employee

    "We're using Apex 20.2 "

    F is all APEX. If you're getting that error, ORDS is trying to invoke APEX.

    Suggest you open a support ticket with MOS.

  • brian.mcginity
    brian.mcginity Member Posts: 136 Bronze Badge

    I get ORDS-22001 for all of the web-facing procedures. So this is not related to APEX.

  • thatJeffSmith-Oracle
    thatJeffSmith-Oracle Distinguished Product Manager Posts: 8,056 Employee

    take SQLcl

    login to your db, using the same user you have setup for your plsql gateway connection pools

    try to execute your procedures - what happens?

  • User_K68UP
    User_K68UP Member Posts: 37 Bronze Badge
    edited Nov 6, 2021 9:33PM

    I am using APEX 20.2.0.00.20 and ORDS 21.2.4 under Tomcat 8.5 and am encountering the same issue as described by the OP. In my case , stopping/starting ORDS from the Tomcat manager application makes the error go away. However the error randomly reappears sporadically.

    The Catalina log file reports the following error

    ProcedureForbiddenException [statusCode=404, logLevel=INFO, errorCode=ORDS-22001: The procedure named f could not be accessed or found Cause: The procedure may not be declared, or the user executing this request may not have been granted execute privilege on the procedure, or a function specified by security.requestValidationFunction configuration property has prevented access Action: Check the spelling of the procedure, check that the execute privilege has been granted to the caller and check the configured security.requestValidationFunction function]

        at oracle.dbtools.apex.ModApex.validateRequest(ModApex.java:427)

        at oracle.dbtools.apex.ModApex.doGet(ModApex.java:152)


    Varad

  • User_K68UP
    User_K68UP Member Posts: 37 Bronze Badge
    edited Nov 7, 2021 2:13PM

    Additional information for my previous posting.

    My apex application sits behind a reverse proxy (nginx). Various URLs of the form xyz.mycompany.com are forwarded by nginx to the apex application. The error mentioned in my previous post occurs randomly for just a few of such URLs while the application continues to be accessible for other URLs. The failed URLs wont become accessible until ORDS is bounced. This cycle repeats and it almost never is the same set of URLs that go bad. 

    Also, I have noticed that when a procedure other than 'f' that is not on the 'include list' (wwv_flow_epg_include_mod_local) is invoked from a browser, ORDS returns a 404 error to the browser with a similar error description as for the 'f' procedure. However, in this case ORDS does NOT log an error in the 'catalina.out' file. So, it appears to me that ORDS handles requests for 'f' differently than for other procedures.

    Varad

  • User_K68UP
    User_K68UP Member Posts: 37 Bronze Badge

    @thatJeffSmith-Oracle

    Any suggestions for the above issue ?


    varad