On Wed, 26 Jul 2000, Suresh wrote:
> I am running RedHat Linux 6.1 / Apache 1.3.12 /Mod_Perl / DBI and
> using Oracle 8.0.5 as database back end for web application we are
> developing. Everything works fine, but when i was testing for memory
> problems, i found that each request of any file accessing the database
> is increasing the process size.
The Oracle 8i OCI libraries do have a bug (or a design consequence) that
causes them to allocate space for the entire row cache that you've
enabled, i.e. if you set row cache to 10000 and select something with 3
rows of data it will still allocate memory for 10000 rows. However, even
here the memory gets freed when your statement handle gets destroyed
(which is never if you use prepare_cached), so I'm not sure why this would
be happening to you with the older OCI and normal prepare statements.
One thing to keep in mind is that (as Doug has explained in an earlier
e-mail to this list) your perl variables will not free up their memory
unless you explicitly undef them. If your data is the same for each query
though, the process shouldn't be growing. I'd suspect a problem in OCI.
- Perrin