When the database is deactivated, the memory which is database specific is released back to the operating system ..... This can be reused by any OS process/appln that requires it ....
Obviously, the contents of the bufferpool are cleared this time ...
Is there any specific reason you are looking at 'to empty the bufferpool' ?
Yeh ... If you have an installation of db2 on windows NT , you can 'see' the memory allocations and deallocations on the task manager's performance tab .... Activate the database and you will see the memory usage increase .... Deactivate the database and you see the memory fall, and a major portion of this is bufferpool ....
Originally posted by grofaty
What does the "de-allocate bufferpools" means? Does this mean that bufferpools are emptied? Is this memory free for another applications witch are not using db2 - for example ftp, batch jobs etc.
but IMHO, a db2kill will need a ipcrm because it is a 'dirty' stop of db2 ... A clean stop (like db2stop or terminate) should release the resources
Originally posted by koganti
The only way you can clear bufferpools is using db2 kill
You may want to run the command ipcrm.
The only time the bufferpools are definately clear is when the syatem is shutdown and brought back.
In a perfrect world on AIX, when you do a clean shutdown of DB2, it normally get rid of all ipcs (shared memory processes). But over 50% of the time, it leaves stuff out there that need to be cleanedup. If your trying to clean up a couple of them, do a ipcrm, if you have a bunch, shutdown db2 then run the exec db2nkill 0 and it will clean all of them up. DB2 will already be down, so it will just clean up the memory segments. I have done this a bunch of times with no problems.