关于DBWR_IO_SLAVES

DBWR_IO_SLAVES
If it is not practical to use multiple DBWR processes, then Oracle provides a facility whereby the I/O load can be distributed over multiple slave processes. The DBWR process is the only process that scans the buffer cache LRU list for blocks to be written out. However, the I/O for those blocks is performed by the I/O slaves. The number of I/O slaves is determined by the parameter DBWR_IO_SLAVES.

DBWR_IO_SLAVES is intended for scenarios where you cannot use multiple DB_WRITER_PROCESSES (for example, where you have a single CPU). I/O slaves are also useful when asynchronous I/O is not available, because the multiple I/O slaves simulate nonblocking, asynchronous requests by freeing DBWR to continue identifying blocks in the cache to be written. Asynchronous I/O at the operating system level, if you have it, is generally preferred.

DBWR I/O slaves are allocated immediately following database open when the first I/O request is made. The DBWR continues to perform all of the DBWR-related work, apart from performing I/O. I/O slaves simply perform the I/O on behalf of DBWR. The writing of the batch is parallelized between the I/O slaves.

Choosing Between Multiple DBWR Processes and I/O Slaves
Configuring multiple DBWR processes benefits performance when a single DBWR process is unable to keep up with the required workload. However, before configuring multiple DBWR processes, check whether asynchronous I/O is available and configured on the system. If the system supports asynchronous I/O but it is not currently used, then enable asynchronous I/O to see if this alleviates the problem. If the system does not support asynchronous I/O, or if asynchronous I/O is already configured and there is still a DBWR bottleneck, then configure multiple DBWR processes.

Using multiple DBWRs parallelizes the gathering and writing of buffers. Therefore, multiple DBWn processes should deliver more throughput than one DBWR process with the same number of I/O slaves. [B]For this reason, the use of I/O slaves has been deprecated in favor of multiple DBWR processes. I/O slaves should only be used if multiple DBWR processes cannot be configured


SQL> create pfile='/opt/oracle/pfile150626.ora' from spfile;

File created.

SQL> exit
Disconnected from Oracle9i Enterprise Edition Release 9.2.0.6.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.6.0 - Production
[oracle@New1 ~]$ ls
backup  doc    jre  oraInventory  oui  pfile150626.ora  pfile.ora  product
[oracle@New1 ~]$ cat pfile150626.ora
*.aq_tm_processes=1
*.audit_trail='DB'
*.background_dump_dest='/u01/product/admin/itown01m/bdump'
*.compatible='9.2.0.0.0'
*.control_files='/u01/product/oradata/itown01m/control01.ctl','/u01/product/oradata/itown01m/control02.ctl','/u01/product/oradata/itown01m/control03.ctl'
*.core_dump_dest='/u01/product/admin/itown01m/cdump'
*.cursor_sharing='SIMILAR'
*.db_block_size=8192
*.db_cache_size=838860800
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_files=50
*.db_name='itown01m'
*.db_writer_processes=1
*.dbwr_io_slaves=10
.......


最后两个参数要一起

[oracle@New1 backup]$ ps -ef|grep ora
root      4567  4537  0  2013 ?        03:13:13 hald-addon-storage: polling /dev/scd0
root      9170  4685  0 09:32 ?        00:00:00 sshd: oracle [priv]
oracle    9172  9170  0 09:32 ?        00:00:00 sshd: oracle@pts/1
oracle    9173  9172  0 09:32 pts/1    00:00:00 -bash
oracle    9221     1  0 09:41 ?        00:00:00 oracleitown01 (LOCAL=NO)
oracle    9225     1  0 09:41 ?        00:00:00 oracleitown01 (LOCAL=NO)
oracle    9239  9173  0 09:49 pts/1    00:00:00 ps -ef
oracle    9240  9173  0 09:49 pts/1    00:00:00 grep ora
oracle   13212     1  0 Jan15 ?        00:00:00 ora_s000_itown01
oracle   15768     1  0 Feb09 ?        01:59:10 ora_j000_itown01
oracle   15770     1  0 Feb09 ?        00:19:55 ora_j001_itown01
oracle   15772     1  0 Feb09 ?        00:04:59 ora_j002_itown01
oracle   18805     1  0  2014 ?        00:00:00 /opt/oracle/product/9ir2/bin/tnslsnr LISTENER -inherit
oracle   19354     1  0  2014 ?        00:00:52 ora_pmon_itown01
oracle   19356     1  0  2014 ?        00:03:32 ora_dbw0_itown01
oracle   19358     1  0  2014 ?        00:25:59 ora_lgwr_itown01
oracle   19360     1  0  2014 ?        00:00:40 ora_ckpt_itown01
oracle   19362     1  0  2014 ?        00:03:31 ora_smon_itown01
oracle   19364     1  0  2014 ?        00:00:00 ora_reco_itown01
oracle   19366     1  0  2014 ?        00:00:00 ora_cjq0_itown01
oracle   19368     1  0  2014 ?        01:13:34 ora_qmn0_itown01
oracle   19372     1  0  2014 ?        00:00:00 ora_d000_itown01
oracle   19374     1  0  2014 ?        00:04:32 ora_arc0_itown01
oracle   19376     1  0  2014 ?        00:04:31 ora_arc1_itown01
oracle   19380     1  0  2014 ?        00:24:58 ora_i201_itown01
oracle   19398     1  0  2014 ?        00:01:40 ora_i101_itown01
oracle   19400     1  0  2014 ?        00:01:38 ora_i102_itown01
oracle   19402     1  0  2014 ?        00:01:38 ora_i103_itown01
oracle   19404     1  0  2014 ?        00:01:38 ora_i104_itown01
oracle   19406     1  0  2014 ?        00:01:37 ora_i105_itown01
oracle   19408     1  0  2014 ?        00:01:37 ora_i106_itown01
oracle   19410     1  0  2014 ?        00:01:37 ora_i107_itown01
oracle   19412     1  0  2014 ?        00:01:38 ora_i108_itown01
oracle   19414     1  0  2014 ?        00:01:38 ora_i109_itown01
oracle   19416     1  0  2014 ?        00:01:38 ora_i10a_itown01
请使用浏览器的分享功能分享到微信等