dbTalk Databases Forums  

odbc and memory problem

comp.databases.btrieve comp.databases.btrieve


Discuss odbc and memory problem in the comp.databases.btrieve forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
[BuKoX]
 
Posts: n/a

Default odbc and memory problem - 07-17-2004 , 10:37 AM






Hello
I wrote an application in Delphi which connect to database to
Pervasive.SQL 8.5 server through ODBC. If my application disconnect from
database - memory resources which are allocated on database server are
free - so everything is ok. But if the other application (which use
oryginal pervasive client) is working and using the same database files
which my application, disconnect of my aplplication doesn't free memory
resources on server. They are free only if the other application will
disconnect. It look's like the Pervasive.SQL Server can't distinguish
connect of my and other application. Unfortunalety the memory resources
is growing without limit becouse my application can't free memory on
server after disconnect.

What's wrong?
Is it reason of some configuration option?
How to free resources on server after disconnect of my application if
other application is using the same files as my?

Sorry for my engish

bye...

--
__ __
Quote:
__\\ | || |_// / \\ \_// FreeBSD: The Power To Serve
__// |__|| | \\ \__// / \\ +------------------------------+
+[ http://bukox.prv.pl ][ http://total.bukox.dmkproject.pl ]+


Reply With Quote
  #2  
Old   
Leonard
 
Posts: n/a

Default Re: odbc and memory problem - 07-20-2004 , 08:22 AM






While there is any session connected at all the Pervasive.SQL V8(.5)
engine will remain "active" and not release all the memory. Actually
the default setting for "back to idle" is now "no" so if you want it
to go "idle" when no session is connected you would have to change
that setting. I do not recomend it as releasing memory gets rid of
all data in cache (dirty cache is flushed to disk first of course)
..
There is another setting that you may be interested in also, "Max
MicroKernel Memory Usage". It is in % of total physical memory. By
default it is set to 90% which will leave approximately 10% physical
memory free on the server. This is normal and generally recommended
if it is a dedicated database server. If you feel that is too much
memory to use to improve database performance for that particular
server you can reduce the setting or in fact turn it all the way off
(0).

Leonard

On Sat, 17 Jul 2004 17:37:54 +0200, "[BuKoX]" <bukox.wytnij (AT) tlen (DOT) pl>
wrote:

Quote:
Hello
I wrote an application in Delphi which connect to database to
Pervasive.SQL 8.5 server through ODBC. If my application disconnect from
database - memory resources which are allocated on database server are
free - so everything is ok. But if the other application (which use
oryginal pervasive client) is working and using the same database files
which my application, disconnect of my aplplication doesn't free memory
resources on server. They are free only if the other application will
disconnect. It look's like the Pervasive.SQL Server can't distinguish
connect of my and other application. Unfortunalety the memory resources
is growing without limit becouse my application can't free memory on
server after disconnect.

What's wrong?
Is it reason of some configuration option?
How to free resources on server after disconnect of my application if
other application is using the same files as my?

Sorry for my engish

bye...


Reply With Quote
  #3  
Old   
[BuKoX]
 
Posts: n/a

Default Re: odbc and memory problem - 07-20-2004 , 08:40 AM



Użytkownik Leonard napisał:

Quote:
While there is any session connected at all the Pervasive.SQL V8(.5)
engine will remain "active" and not release all the memory. Actually
the default setting for "back to idle" is now "no" so if you want it
to go "idle" when no session is connected you would have to change
that setting. I do not recomend it as releasing memory gets rid of
all data in cache (dirty cache is flushed to disk first of course)
I have options Back to minial State if inactive to "on" and "Minial
State Delay" to 5 sec. But it doesn't solve my problem. The resources is
growing and I cant freed it.

Quote:
There is another setting that you may be interested in also, "Max
MicroKernel Memory Usage". It is in % of total physical memory. By
default it is set to 90% which will leave approximately 10% physical
memory free on the server. This is normal and generally recommended
if it is a dedicated database server. If you feel that is too much
memory to use to improve database performance for that particular
server you can reduce the setting or in fact turn it all the way off
(0).
I set Max Microkernel Memoru Usage to 10 percent. But my problem doesn't
depend of this setting.

I have another question. If I send a query the temporary file is appear.
I read that if I use dynamic cursor, don't use ORDER BY and another
options - the temporary table doesn't appear. But it's not true - for
example if I send a query with some JOIN without ORDER BY, IN, DISTINCT
and other words. Am I right that the temporary file is always appear?

bye...


Reply With Quote
  #4  
Old   
Leonard
 
Posts: n/a

Default Re: odbc and memory problem - 07-20-2004 , 09:51 PM



On Tue, 20 Jul 2004 15:40:31 +0200, "[BuKoX]" <bukox_WYTNIJ_ (AT) tlen (DOT) pl>
wrote:

Quote:
Użytkownik Leonard napisał:

While there is any session connected at all the Pervasive.SQL V8(.5)
engine will remain "active" and not release all the memory. Actually
the default setting for "back to idle" is now "no" so if you want it
to go "idle" when no session is connected you would have to change
that setting. I do not recomend it as releasing memory gets rid of
all data in cache (dirty cache is flushed to disk first of course)

I have options Back to minial State if inactive to "on" and "Minial
State Delay" to 5 sec. But it doesn't solve my problem. The resources is
growing and I cant freed it.
As I indicated the engine will not go idle when ANY session is
connected (yours or the other).
Quote:
There is another setting that you may be interested in also, "Max
MicroKernel Memory Usage". It is in % of total physical memory. By
default it is set to 90% which will leave approximately 10% physical
memory free on the server. This is normal and generally recommended
if it is a dedicated database server. If you feel that is too much
memory to use to improve database performance for that particular
server you can reduce the setting or in fact turn it all the way off
(0).

I set Max Microkernel Memoru Usage to 10 percent. But my problem doesn't
depend of this setting.

I have another question. If I send a query the temporary file is appear.
I read that if I use dynamic cursor, don't use ORDER BY and another
options - the temporary table doesn't appear. But it's not true - for
example if I send a query with some JOIN without ORDER BY, IN, DISTINCT
and other words. Am I right that the temporary file is always appear?
It really does depend on the query and the data set (and cursor type).
I would first do a check database and see if it passes that check. If
the database fails the check database it would be good to correct
those issues (if any) first.

After that if the temporary tables still keep popping up and you
really want to know that the temporary table is used for I would
recomend using the query plan viewer.
http://www.pervasive.com/documentati...nal_access.pdf

Leonard
Quote:
bye...


Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.3
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.