DBWn performs batched (multiblock) writes to improve efficiency

  • From: "zhu chao" <chao_ping@xxxxxxxxxxx>
  • To: <oracle-l@xxxxxxxxxxxxx>
  • Date: Sun, 18 Apr 2004 22:34:53 +0800

From oracle 9i database concepts manual, I saw note:
In all cases, DBWn performs batched (multiblock) writes to improve efficiency. 
The number of blocks written in a multiblock write varies by operating system.

link: 
http://www.cise.ufl.edu/help/database/oracle-docs/server.920/a96524/c09procs.htm

I have difficulty understanding this.

I did several test on my database, no matter datafiles on raw device, or on 
general ufs/vxfs, I never saw dbwr do batched(multiblock) write.

The following is the result of truss -p dbwr:

datafiles on raw device:

aio(AIOWRITE, 407, 0x3870AA000, 8192, 0xB383800001FF0980) = 0
kaio(AIOWRITE, 407, 0x3830A2000, 8192, 0xB38400000223E458) = 0
kaio(AIOWRITE, 403, 0x38242E000, 8192, 0x3AAD400001FCA8C8) = 0
kaio(AIOWRITE, 407, 0x382A2A000, 8192, 0xB38460000205ABF0) = 0
kaio(AIOWRITE, 403, 0x380EB6000, 8192, 0x3AAE00000202AE80) = 0
kaio(AIOWRITE, 404, 0x385D58000, 8192, 0x0D578000020AF8D0) = 0

datafiles on vxfs filesystem without QuickIO:

pwrite(397, "0602\0\00301AC 0 & C90 ~".., 8192, 0x35860000) = 8192
lwp_mutex_lock(0xFFFFFFFF7DD09EC0)              = 0
pwrite(373, "0602\0\016\09D x & C89 V".., 8192, 0x13AF0000) = 8192
pwrite(396, "0602\0\003 CC0DE & C x }".., 8192, 0x781BC000) = 8192
lwp_mutex_wakeup(0xFFFFFFFF7DD09EC0)            = 0
lwp_mutex_wakeup(0xFFFFFFFF7DD09EC0)            = 0
pwrite(399, "0602\0\00281EC ] & BB6F7".., 8192, 0x3D8BA000) = 8192
lwp_mutex_lock(0xFFFFFFFF7DD09EC0)              = 0
pwrite(397, "0602\0\00301ABCD & CC0FF".., 8192, 0x3579A000) = 8192

I trussed many times, I never saw any os call like pwrite(xxx)=16384 etc. Nor 
have I saw kaio(aiowrite,xxx,xxx,16384,xxx) etc.

Can someone confirm it? Do I misunderstand the manual, or the manual itself is 
wrong, or simply I did not understand the truss output correctly?



Hope someone can give guidance.



Regards

Zhu Chao.









----------------------------------------------------------------
Please see the official ORACLE-L FAQ: http://www.orafaq.com
----------------------------------------------------------------
To unsubscribe send email to:  oracle-l-request@xxxxxxxxxxxxx
put 'unsubscribe' in the subject line.
--
Archives are at //www.freelists.org/archives/oracle-l/
FAQ is at //www.freelists.org/help/fom-serve/cache/1.html
-----------------------------------------------------------------

Other related posts: