Re: Oracle http server errors
Date: Thu, 19 Feb 2009 13:58:27 -0600
You didn't say why you turned keepalive off, but I presume from your wording that doing so reduced the number of errors you have received. I believe that the error is due to an HTML form that failed to submit required (non-default) parameters to the procedure (bwckctlg.p_display_courses). The parameters that were not submitted are listed in the error message for you.
Given that you're a university, I wouldn't rule out the possibility that a student or prospective student with too much idle time decided to have some fun and try to "hack" registrations somehow. You'd have to see that the referer logs (if you collect them) confirm that or not. I would assume that the referer URL should come from the same server. If it doesn't, then possibly some student has set up an HTML form somewhere to have some "fun" with your system.
To find the source of the issue (assuming it is an app problem and not a malicious action), I would identify the places in your code that result in a call to p_display_courses and see what HTML (or possibly dynamically generated HTML from a different procedure) results in a call to that procedure. It appears that submitted HTML form is not correctly submitting the parameters to the p_display_courses procedure.
On Thu, Feb 19, 2009 at 1:41 PM, Don Morse <dmorse2_at_yahoo.com> wrote:
> To List:
> Has anyone seen similar "mismatch" errors in Oracle http server error logs:
> mod_plsql: /prodlinuxss/bwckctlg.p_display_courses HTTP-404
> \nbwckctlg.p_display_courses: SIGNATURE (parameter names)
> MISMATCH\nVARIABLES IN FORM NOT IN PROCEDURE: \nNON-DEFAULT VARIABLES IN
> PROCEDURE NOT IN FORM:
> Product is Oracle App Server 10.1.2.0.2 with mod_plsql.
> The PLSQL DAD connector logs into 10.2.0.3 Database on RedHat. HTTP server
> is also RedHat. The error has also occurred on a previous AIX server, so
> does not seem to be platform-related. However until recently, the quantity
> of errors was always very small during high-activity spikes.
> Recently, during the semi-annual annual web registration (students at a
> university registering for next semester's classes), the error appeared >
> 700 times in the Apache log. Http server was unable to send the requests to
> the database because of the volume of errors, and everything came to a
> crawl. I have now turned keepalive off, previously was set on. However, for
> quite some time, keepalive set to "on" worked just fine. I'm unsure why
> something that worked so well for 5 years suddenly came crashing down.
> Thanks in advance for any ideas you may have!
> Don M