`
edwards0307
  • 浏览: 27161 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

MULTI dbwr or io slaves

 
阅读更多

 

thanks dukope of itpub.

 

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
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.


--------------------------------------------------------------------------------
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.

--------------------------------------------------------------------------------


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.


--------------------------------------------------------------------------------
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

分享到:
评论

相关推荐

    Oracle数据库性能优化实务 数据文件IO.pptx

    数据文件 IO 相关的参数包括 DB_FILES、db_file_multiblock_read_count、filesystemio_options(none | setall | directIO | asynch)、dbwr_io_slaves、db_writer_processes 等。 三、操作系统对文件 IO 的影响 ...

    如何判断数据库IO是否慢

    如果数据库写进程(DBWR)能够快速清理脏块,则其他等待事件和统计信息将更具参考价值。 #### 确定响应时间的具体途径 一种有效的方法是通过10046 trace file中的level 8或12来获取相关等待事件的信息。响应时间以...

    计算机等考三级数据库基础:哪些初始化参数最影响Oracle系统性能.docx

    `dbwr_io_slaves`参数指定了后台写进程的数量,这些进程负责将数据缓冲区中的更改写入数据文件。增加`dbwr_io_slaves`可以提高并行写入能力,提升系统性能。 综上所述,调整这些初始化参数可以显著改善Oracle数据库...

    详述ckpt+redo+dbwr.doc

    【详述ckpt+redo+dbwr.doc】 在Oracle数据库系统中,ckpt、redo和dbwr是三个关键的后台进程,它们对于数据的持久化和一致性起着至关重要的作用。这里我们将详细探讨这些概念以及它们在Oracle数据库操作中的作用。 ...

    有哪些初始化参数最影响Oracle系统性能

    `dbwr_io_slaves`参数控制了后台写进程的数量,对于改善写操作性能非常关键。 - **后台写进程**:增加该值可以提高写操作的并行度,从而加快数据写入速度,尤其是在高写入负载环境下表现更为明显。 综上所述,这些...

    oracle ocp043 word 版

    (D) 增加数据库写入者(DBWR)的奴隶进程数量,通过设置更高的DBWR_IO_SLAVES值,可以提高磁盘I/O能力。增加检查点进程(A)和DBWR进程数(C)主要影响数据库的检查点和数据同步,而非磁盘添加或移除时的性能调整;...

    Oracle运维最佳实践-下.pdf 带书签

    - 本书对比了`db_writer_processes`和`dbwr_io_slaves`两个参数的区别及其对IO性能的影响。 - 通过实例展示了如何根据实际情况调整这两个参数以达到最优性能。 - 实例: - 设置`db_writer_processes`为较小值,...

    ORACLE initialization or shutdown in process

    ORA-01157: 无法标识/锁定数据文件 19 - 请参阅 DBWR 跟踪文件 ORA-01110: 数据文件 19: ''''C:\oracle\oradata\oradb\FYGL.ORA'' 这个提示文件部分根据每个人不同情况有点差别。 继续输入 SQL>alter database data...

    影响Oracle数据库系统性能的初始化参数.docx

    11. **dbwr_io_slaves** - 背景写进程的数量,用于写入数据文件。增加此值可以提高并行写入能力,提高系统的写入性能。 优化这些参数需要深入理解数据库的工作负载、资源利用情况和业务需求。适当的调整可以显著...

    ora-01033:oracle initialization or shutdown in progress 解决方法

    - 尝试打开数据库时,可能会遇到如“ORA-01157: 无法标识/锁定数据文件19 - 请参阅DBWR跟踪文件”这样的错误。此时,可以通过以下命令来解决: ``` SQL> alter database datafile 19 offline drop; ``` 其中,`...

    configuring and tuning oracle storage with veritas database edition

    - **DBWR_IO_SLAVES 参数**:控制 DBWR 进程的数量。 - **USE_READV 参数**:控制是否使用 readv() 系统调用。 #### 总结 通过上述步骤和最佳实践,可以显著提高 Oracle 数据库在 Solaris 上的性能和可靠性。...

    影响Oracle系统性能初始化参数

    12. `dbwr_io_slaves`:后台写进程的数量,增加这个参数可以提高数据写入的并行度,提高写入性能。 调整这些初始化参数需要根据系统的具体情况进行,包括硬件资源、工作负载、并发用户数等因素。正确的配置能显著...

    Oracle性能究极优化

    此时,调整I/O子进程(I/O Slaves)的数量,如dbwr_io_slaves和lgwr_io_slaves,有助于平衡I/O负载,使加载时间降低至10.48秒,TPS微升,显示了I/O子进程调整对系统性能的积极影响。 在Linux环境下,针对Oracle...

    Killtest 免费提供 1Z0-043 资料下载

    增加DBWR_IO_SLAVES数量:同样,这更多地影响到数据库内部的I/O操作,而非ASM层面的性能。 - E. 增加ASM Rebalance进程数量:通过设置更高的`ASM_POWER_LIMIT`值,可以优化ASM实例在磁盘变更时的性能,是另一个有效...

    oracle数据库参数.pdf

    - hash_multiblock_io_count:定义并行处理时的多块IO计数。 **5. 锁和事务管理** - distributed_transactions:指定分布式事务的数量。 - dml_locks:定义DML锁的数量。 - enqueue_resources:定义排队资源的数量...

    【故障】ASM diskgroup dismount with \"Waited 15 secs for write IO to PST\"

    标题中的“【故障】ASM diskgroup dismount with \"Waited 15 secs for write IO to PST\"”描述了一个Oracle Automatic Storage Management (ASM)磁盘组出现的问题,即在尝试卸载ASM磁盘组时,系统等待了15秒用于...

    dbwr:Display Builder Web运行时

    Display Builder Web运行时 ... DBWR1 , DBWR2 ,...:在起始页上建议的显示URL。 WHITELIST1 , WHITELIST2 ,...:允许显示的正则表达式。 当WHITELIST1条目时,将使用。 .* 。 将dbwr.war放在$

Global site tag (gtag.js) - Google Analytics