本站中文解释
:
DBWR_IO_SLAVES参数控制数据库操作进程(DBWR)使用的文件I/O从进程数量。当系统出现磁盘I/O性能瓶颈,建议将该参数值设置大一点,以提高磁盘I/O的吞吐量。
默认情况下,DBWR_IO_SLAVES的值为0,表示不开启从进程,只有主进程。如果确实有I/O性能缓慢的情况出现,可以适当调整该参数。
正确设置DBWR_IO_SLAVES参数的方法是:
1、使用SQL或者SQL*Plus查看I/O使用的情况,比如可以使用V$SESSTAT和V$SYSSTAT视图,查看I/O操作的耗时和I/O调用次数;
2、如果耗时较高和调用次数较多,则适当调大DBWR_IO_SLAVES参数值,比如从0->2;
3、注意,调大DBWR_IO_SLAVES参数值有可能会降低系统性能,要根据实际情况来选择合适的值,并且需要经过一段时间的性能测试才能确定最佳参数值;
4、最终选择完成后,用alter system命令即可更新数据库参数。
官方英文解释
DBWR_IO_SLAVES
specifies the number of I/O server processes used by the DBW0
process.
Property | Description |
---|---|
Parameter type |
Integer |
Default value |
|
Modifiable |
No |
Modifiable in a PDB |
No |
Range of values |
0 to operating system-dependent |
Basic |
No |
DBWR_IO_SLAVES
is relevant only on systems with only one database writer process (DBW0
). The DBW0
process and its server processes always write to disk. By default, the value is 0
and I/O server processes are not used.
If you set DBWR_IO_SLAVES
to a nonzero value, the number of I/O server processes used by the ARCH
and LGWR
processes is set to 4
. However, the number of I/O server processes used by Recovery Manager is set to 4
only if asynchronous I/O is disabled (either your platform does not support asynchronous I/O or disk_asynch_io
is set to false
).
Typically, I/O server processes are used to simulate asynchronous I/O on platforms that do not support asynchronous I/O or that implement it inefficiently. However, you can use I/O server processes even when asynchronous I/O is being used. In that case the I/O server processes will use asynchronous I/O.
I/O server processes are also useful in database environments with very large I/O throughput, even if asynchronous I/O is enabled.
See Also:
-
“BACKUP_TAPE_IO_SLAVES”
-
Oracle Database
Performance Tuning Guide for more information about this parameter