1820879 Members
3745 Online
109628 Solutions
New Discussion юеВ

Bufer cache

 
Nitsulenko Sergey
Frequent Advisor

Bufer cache

Excuse me,
How to look than it is occupied bufer cache and for example how many occupies in it oracle?
Thank's.
sin
6 REPLIES 6
James R. Ferguson
Acclaimed Contributor

Re: Bufer cache

Hi:

'glance' will report the value of the buffer cache. If you are running a database like Oracle, a large buffer cache is double buffering since Oracle manages it own buffers.

Generally, a 'dbc_max_pct' around 5% with a 'dbc_min_pct' about 2% where 5% works out to be 200-400 MB is ample. Make sure 'nbuf' and 'bufpages' are set to zero to enable the dynamic buffer cache.

Use 'kmtune' to assay your kernel settings. See the man pages for more details.

Regards!

...JRF...
Nitsulenko Sergey
Frequent Advisor

Re: Bufer cache

Oracle it is located on Row dev, whether I want to define any processes oracle in bufer cache and if yes on how many I can reduce bufer cache that then to increase SGA. Whether get is possible to adjust system that the certain processes did not get in bufer cache?
sin
Sridhar Bhaskarla
Honored Contributor

Re: Bufer cache

Hi Sergey,

It is not the process but the storage component that will decide whether to use the buffer cache or not.

If you are using raw volumes, then buffer cache will not be used.

The best you can do is to create different filesystems and use OnlineJFS options to control the buffer activity. Options "mincache=direct" "convosync=direct" will bypass the buffer cache for "that" filesystem. So you may want to devide your data amongst different filesystems and enable the above options on the ones that you do not want to buffer the data.

-Sri
You may be disappointed if you fail, but you are doomed if you don't try
A. Clay Stephenson
Acclaimed Contributor

Re: Bufer cache

Unless you have access to the source code, you have no way to control how a process uses buffer cache. The is an API for vxfs that allows one to control this. You can use filesystems with OnlineJFS that use mincache=direct,convosync=direct and all access will bypass the buffer cache. The performance of Oracle using these options for datafiles and indices is essentially identical to raw i/o - and conventional backup tools can then be used.

If this is a pure database server then you can radically reduce buffer cache to 1OO MB or so by setting bufpages to a nonzero value. This will turn off dynamic buffer cache. You are still going to find that your best bet is to leave archive and redologs using the buffer cache.

By the way, if this is 11.11, it performs best using 'cooked' files for everything.
If it ain't broke, I can fix that.
monasingh_1
Trusted Contributor

Re: Bufer cache

As far as I know oracle uses its own SGA (allocated memory and sort of locked memory), that has nothing to do with buffer cache.All oracle related disk-IO go through SGA..
Buffer cache will be used for other processes(including oracle processes) interacting with filesystem for IO.
If your system is just used for oracle DB then you can simply reduce buf cache to very near to 100 or 50 MB as suggested earlier and will still be okay and increase your SGA.
You may not gain in performance by increasing your SGA if all the fetching from SGA is already at ~99 percent but it is always good to increase the SGA if you do not need memory for other thing.
hope this explains.
Nitsulenko Sergey
Frequent Advisor

Re: Bufer cache

Thank's.
sin