当前位置:首页 > 开发 > 数据库 > 正文

oracle I/O 从属进程

发表于: 2012-12-24   作者:daizj   来源:转载   浏览:
摘要: I/O 从属进程   I/O从属进程用于为不支持异步I/O的系统或设备模拟异步I/O.例如,磁带设备(相当慢)就不支持异步I/O.通过使用I/O 从属进程,可以让磁带机模仿通常只为磁盘驱动器提供的功能。就好像支持真正的异步I/O 一样,写设备的进程(调用者)会收集大量数据,并交由写入器写出。数据成功地写出时,写入器(此时写入器是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 I/O 从属进程

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
oracle使用参数filesystemio_options在支持的平台上利用同步I/O和异步I/O.参数filesystemio_options
Oracle 11g 提供了一个新特性——IO校准(I/O Calibration),可以用于评测一下数据库的I/O性能。在
一、前言   Java I/O这块是学好java必须了解的,以前都是只会用几个简单的类来读读文件啦,写写文
4 I/O
java中i/o相关类使用: 对二进制文本处理的类: import java.io.BufferedInputStream; import java.i
自动维护任务 维护窗口 Oracle Database 10g提倡在维护窗口期间执行自动维护任务。自动任务包括统计
利用Oracle分区表来减少磁盘I/O冲突 现在某家企业的Oracle数据库中有一张产品信息表。这张表中的记
Linux® 中最常用的输入/输出(I/O)模型是同步 I/O。在这个模型中,当请求发出之后,应用程序就会阻
Unix 网络编程_阅读笔记 二 (Socket高级篇之守护进程和高级I/O) --Unix Network Programming 由 王
最近研究文件进程,稍微总结一下,以后继续补充: 一、打开文件内核数据结构 1、一个进程打开两个文
I/O Stack流图分为几大部分: 1>.direct I/O 的O_Direct调用 2>.Page Cache; 3>.VFS,也
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号