`

oracle I/O 从属进程

阅读更多
I/O 从属进程

  I/O从属进程用于为不支持异步I/O的系统或设备模拟异步I/O.例如,磁带设备(相当慢)就不支持异步I/O.通过使用I/O 从属进程,可以让磁带机模仿通常只为磁盘驱动器提供的功能。就好像支持真正的异步I/O 一样,写设备的进程(调用者)会收集大量数据,并交由写入器写出。数据成功地写出时,写入器(此时写入器是I/O 从属进程,而不是操作系统)会通知原来的调用者,调用者则会从要写的数据列表中删除这批数据。

  采用这种方式,可以得到更高的吞吐量,这是因为会由I/O 从属进程来等待慢速的设备,而原来的调用进程得以脱身,可以做其他重要的工作来收集下一次要写的数据。

  I/O 从属进程在Oracle 中有两个用途。DBWn 和LGWR 可以利用I/O 从属进程来模拟异步I/O,另外RMAN写磁带时也可能利用I/O 从属进程。

  有两个参数控制着I/O 从属进程的使用:

  BACKUP_TAPE_IO_SLAVES:这个参数指定RMAN 是否使用I/O 从属进程将数据备份、复制或恢复到磁带上。由于这个参数是围绕着磁带设备设计的,而且磁带设备一次只能由一个进程访问,所以这个参数是一个布尔值,而不是所用从属进程的个数(这可能出乎你的意料)。RMAN 会为所用的物理设备启动多个必要的从属进程。BACKUP_TAPE_IO_SLAVES = TRUE 时,则使用一个I/O 从属进程从磁带设备读写。如果这个参数为FALSE(默认值),就不会使用I/O从属进程完成备份。相反,完成备份的专用服务器进程会直接访问磁带设备。

  DBWR_IO_SLAVES:这个参数指定了DBW0 进程所用I/O 从属进程的个数。DBW0 进程及其从属进程总是将缓冲区缓存中的脏块写至磁盘。这个值默认为0,表示不使用I/O 从属进程。注意,如果将这个参数设置为一个非0 的值,LGWR 和ARCH 也会使用其自己的I/O 从属进程,LGWR 和ARCH 最多允许4 个I/O 从属进程。

  DBWR I/O 从属进程的名字是I1nn,LGWRI/O 从属进程的名字是I2nn,这里nn 是一个数。

  并行查询从属进程

  Oracle7.1.6 引入了并行查询功能。这个功能是指:对于SELECT、CREATE TABLE、CREATE INDEX、UPDATE 等SQL 语句,创建一个执行计划,其中包含可以同时完成的多个(子)执行计划。将每个执行计划的输出合并在一起构成一个更大的结果。其目标是仅用少量的时间来完成操作,这只是串行完成同一操作所需时间的一小部分。

  例如,假设有一个相当大的表,分布在10 个不同的文件上。你配置有16 个CPU,并且需要在这个表上执行一个即席查询。另一种方法是:可以将这个查询计划分解为32 个小部分,并充分地利用机器;而不是只使用一个进程串行地读取和处理所有数据。相比之下,前一种做法要好得多。

  使用并行查询时,会看到名为Pnnn 的进程,这些就是并行查询从属进程。处理一条并行语句时,服务器进程则称为并行查询协调器(parallelquery coordinator)。操作系统上服务器进程的名字并不会改变,但是阅读有关并行查询的文档时,如果提到了协调器进程,你应该知道这就是原来的服务器进程
分享到:
评论

相关推荐

    基于Oracle数据库性能调优与监控分析.pdf

    利用I/O从属进程专门处理I/O任务,以提高处理效率。 3. **CPU使用调整**:由于Oracle的所有进程在同一优先级上运行,调整进程优先级有助于平衡CPU资源竞争,减少延迟,提高并发处理能力。 此外,监控是性能调优的...

    Oracle Init参数详解.docx

    3. **backup_tape_io_slaves**:用于RMAN(恢复管理器)备份,决定是否使用服务器进程或I/O从属进行磁带读写。 4. **db_block_buffers**:决定了数据库块缓存的大小,直接影响I/O性能。更大的值可以提高缓存命中率...

    oracle10g初始化参数说明.doc

    9. **background_tape_io_slaves**: 一个 RMAN 参数,用于决定读写磁带时是否使用服务器进程或额外的 I/O 从属进程。默认值为 FALSE,即不使用额外的 I/O 从属。 10. **bitmat_merge_area_size**: 与排序、散列联接...

    oracle初始化参数

    影响RMAN(Recovery Manager)的磁带I/O操作,决定是否使用额外的I/O从属进程。TRUE表示使用,FALSE则不使用。 10. **bitmat_merge_area_size**: 用于位图合并操作的内存大小,与索引扫描和内存管理相关。默认值...

    Oracle.RealExamQuestions.1Z0-052.v2011-11-08

    - **Large Pool**:大型池是Oracle SGA的一部分,主要用于各种高级功能,如RMAN备份和恢复操作、I/O从属进程等,因此它是最适合这些操作的内存区域。 #### 问题3:创建名为SALES_DATA的表空间 **问题描述**:执行...

    Oracle 9i&10g编程艺术:深入数据库体系结构.pdf

    其中,服务器进程负责处理用户请求,后台进程负责执行数据库级别的任务,而从属进程则支持并行操作和I/O处理。通过理解不同类型的进程及其作用,读者可以更有效地监控和优化数据库性能。 ### 第6章:锁 锁是数据库...

    oracle数据库参数

    5. **backup_tape_io_slaves**:此参数用于RMAN备份,决定是否使用服务器进程或I/O从属进程进行磁带读写。 6. **bitmap_merge_area_size** 和 **create_bitmap_area_size**:这些参数与索引的位图操作相关,分别...

    Oracle 9i&10g编程艺术:深入数据库体系结构

    - **I/O从属进程与并行查询从属进程**:I/O从属进程负责处理I/O请求,而并行查询从属进程则用于加速并行查询的执行。 #### 三、总结 通过以上对《Oracle 9i&10g编程艺术:深入数据库体系结构》一书的解析,可以...

    oracle初始化参数详解

    5. **backup_tape_io_slaves**:用于RMAN备份恢复,控制是否使用服务器进程或I/O从属来读写磁带。 6. **bitmap_merge_area_size**:优化参数,用于合并位图索引扫描结果时分配的内存。 7. **buffer_pool_keep** 和...

    oracle10g初始化参数说明

    用于RMAN(Recovery Manager),决定是否使用服务器进程或额外的I/O从属进程来读写磁带。 10. **bitmat_merge_area_size**: 设定了合并从索引范围扫描中获取的位图所需的内存大小。默认值通常是1MB。 11. **...

    Oracle 9i&10g编程艺术:深入数据库体系结构 中文

    - **I/O从属进程**:说明了I/O从属进程的作用。 - **并行查询从属进程**:解释了并行查询从属进程的工作原理。 6. **第6章:锁** - **6.1 什么是锁?**:定义了锁的概念及其在数据库中的作用。 - **6.2 锁定问题...

Global site tag (gtag.js) - Google Analytics