db writer working data sets

  • From: Taral Desai <taral.desai@xxxxxxxxx>
  • To: oracle-l@xxxxxxxxxxxxx
  • Date: Tue, 2 Jun 2009 16:50:56 -0500

Hi All,
Can you please educate me on below things. Also, please correct me if i am
wrong

1.
db_writer_processes controls number of db writers that are been started when
instance is initialized. So, once DB is up lets say we have 6 dbwriter
process then your buffer cache is splitted in 6 working data sets. Can you
please explain what is this datasets are ? or may be if i am wrong .

2.
If so this is true how can we find that which dataset is used by which
dbwrite processes. I mean how to find one to one mapping for say 0x address-
to 0y address is been worked by dbwr1 process and so on. how to find this

3.
If we have multiple buffer cache like db_16k and db_32k then how do we map
this.

Reason behind this we are using 12 dbwriter process for we have 12gb of sga
and 10gb of pga. Some time we are getting buffer busy waits. So, need to
find that we are using multiple buffer pools. So, if it is from there then i
can suggest management to use only default block size and not multiple. I
already know that multiple buffer pool have overhead
of managing one more memory structure so need to investigate and learn from
you.

My idea is to reduce this and then start adding processes if necessary.

-- 

Thanks & Regards,
Taral Desai

Other related posts: