db_writer_processes DBWR_IO_SLAVES
来源:互联网 发布:淘宝神笔模块 编辑:程序博客网 时间:2024/04/29 06:42
DB_WRITER_PROCESSES
- Parameter type Integer
Default value 1
Parameter class Static
Range of values 1 to 20
- DB_WRITER_PROCESSES is useful for systems that modify data heavily. It specifies the initial number of database writer processes for an instance.
- Consider Multiple Database Writer (DBWR) Processes or I/O Slaves
Configuring multiple database writer processes, or using I/O slaves, is useful when
the transaction rates are high or when the buffer cache size is so large that a single
DBWn process cannot keep up with the load.
DB_WRITER_PROCESSES The DB_WRITER_PROCESSES initialization parameter
lets you configure multiple database writer processes (from DBW0 to DBW9 and
from DBWa to DBWj). Configuring multiple DBWR processes distributes the work
required to identify buffers to be written, and it also distributes the I/O load over
these processes. Multiple db writer processes are highly recommended for systems
with multiple CPUs (at least one db writer for every 8 CPUs) or multiple processor
groups (at least as many db writers as processor groups).
Based upon the number of CPUs and the number of processor groups, Oracle either
selects an appropriate default setting for DB_WRITER_PROCESSES or adjusts a
user-specified setting.
- DBWR_IO_SLAVES
- Parameter type Integer
- Default value 0
- Parameter class Static
- Range of values 0 to operating system-dependent
DBWR_IO_SLAVES is relevant only on systems with only one database writer
process (DBW0). It specifies the number of I/O server processes used by the DBW0
process. 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.
- DBWR_IO_SLAVES If it is not practical to use multiple DBWR processes, then Oracle
- Note: Implementing DBWR_IO_SLAVES requires that extra shared
memory be allocated for I/O buffers and request queues. Multiple
DBWR processes cannot be used with I/O slaves. Configuring I/O
slaves forces only one DBWR process to start.
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
- Note: If asynchronous I/O is not available on your platform, then
asynchronous I/O can be disabled by setting the DISK_ASYNCH_
IO initialization parameter to FALSE.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. 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.
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.
从以上这些官方文档可以看出:如果系统存在dbwr写出性能方面的瓶颈,按以下顺序来调整:
- 1.首先需要考虑系统是否能开启异步I/O以及是否已经开启异步I/O,如果没有开启先开启。
- 如果系统只有一个CPU,则不能设置db_writer_processes大于一,此时使用DBWR_IO_SLAVES参数
- 如果系统有多个CPU,db_writer_processes=num(cpu)/8
- 设置DBWR_IO_SLAVES的话,则只能强制设置一个db_writer_processes
2.如果不支持异步I/O,或者已经开启,或者开启之后没有缓解,那么考虑设置db_writer_processes参数。设置原则是:
原文地址:http://www.dbasky.com/oracle/db_writer_processes.html
- db_writer_processes DBWR_IO_SLAVES
- db_writer_processes 和 dbwr_io_slaves
- oracle的io优化--db_writer_processes & dbwr_io_slaves对比
- oracle的io优化--db_writer_processes & dbwr_io_slaves对比
- DBWn 进程和 DB_WRITER_PROCESSES/DBWR_IO_SLAVES 参数
- oracle的io优化--db_writer_processes & dbwr_io_slaves对比
- 关于oracle初始化参数中db_writer_processes和dbwr_io_slaves含义的解释
- db_writer_processes默认大小
- DB_WRITER_PROCESSES与LOG_ARCHIVE_MAX_PROCESSES
- 中断解析
- JavaScript压缩技术分析、实现
- 修改eth5为eth0 [复制链接]
- ftp使用
- BT5 R1不能启动ibus输入法解决方案
- db_writer_processes DBWR_IO_SLAVES
- 如何挖掘有效关键词建立报表
- Observer观察者模式
- 收集的几个开源Javascript图形库,非常不错.
- 数据倾斜总结
- 签了工作之后才发现,自己太草率了.....我看过的关于职业规划最好最全面的一篇文章
- Union与Union All的区别
- 顶级域名与花生壳的绑定
- oracle 创建新库时报错:enterprise manager 配置失败