欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Oracle后台进程之:Slave Processes

程序员文章站 2022-05-20 12:28:01
...

数据库在执行的时候映射颗粒(负载单元)到执行服务器上面(pnnn)。当执行服务器完成了任务颗粒,并且还有其他的颗粒任务残留,

slave processes是代表其他进程执行工作的后台进程。

I/O Slave Processes

I/O slave processes (Innn)simulate asynchronous I/O for systems and devices that do not support it. In asynchronous I/O, there is no timing requirement for transmission, enabling other processes to start before the transmission has finished.

Innn在底层的操作系统部不支持的时候模仿异步io。在异步io模式中,不需要时间等待传输,并且允许其他的进程服务无需等待传输结束。

For example, assume that an application writes 1000 blocks to a disk on an operating system that does not support asynchronous I/O. Each write occurs sequentially and waits for a confirmation that the write was successful. With asynchronous disk, the application can write the blocks in bulk and perform other work while waiting for a response from the operating system that all blocks were written.

比如说,假设一个应用程序写1000block到磁盘上,但是操作系统不支持异步io。每个写都是顺序的,而且需要等待确认信息。在异步磁盘上,应用程序可以批量的写blocks并且在等待所有块都写入完成之前执行其他的工作。

To simulate asynchronous I/O, one process oversees several slave processes. The invoker processassigns work to each of the slave processes, who wait for each write to complete and report back to the invoker when done. In true asynchronous I/O the operating system waits for the I/O to complete and reports back to the process, while in simulated asynchronous I/O the slaves wait and report back to the invoker.

为了模拟异步io,一个进程会监控多个从属进程。调用进程分配工作给每一个slave进程,slave进程会等待所有的写操作完成并且报告给调用进程。在真正的异步io中,os等待io完成,并且报告给进程。当模拟异步io的时候,io 协助进程等待并且报告给调用进程。

The database supports different types of I/O slaves, including the following:

数据库支持不同类型的io从属进程:

■ I/O slaves for Recovery Manager (RMAN)When using RMAN to back up or restore data, you can make use of I/O slaves for both disk and tape devices.
■ Database writer slaves If it is not practical to use multiple database writer processes, such as when the computer has one CPU, then the database can distribute I/O over multiple slave processes. DBWR is the only process that scans the buffer cache LRU list for blocks to be written to disk. However, I/O slaves perform the I/O for these blocks.

当使用rman去备份或者恢复的时候,可以使用io slave进程(对于所有的磁盘和磁带设备)。

数据库写slaves 它并不适应多数据库写进程,比如说数据库服务器只有一个cpu,那么数据库可以分步io到多个slave进程中。只有dbwr进程能够扫描buffer cache中lru。不管怎样io slaves 为这些block执行io(写操作)。

Parallel Query Slaves

In parallel executionor parallel processing, multiple processes work together simultaneously to run a single SQL statement. By dividing the work among multiple processes, Oracle Database can run the statement more quickly. For example, four processes handle four different quarters in a year instead of one process handling all four quarters by itself.

在并行执行或者并行处理中,多个进程同时为运行一个单一的sql语句执行工作。分离工作总量到多个进程中,,oracle数据库可以更快的运行语句。比如说,4个进程操作1年中的4个不同时间的工作,而不是一个进程处理所有的工作。

Parallel execution reduces response time for data-intensive operations on large databases such as data warehouses. Symmetric multiprocessing (SMP) and clustered system gain the largest performance benefits from parallel execution because statement processing can be split up among multiple CPUs. Parallel execution can also benefit certain types of OLTPand hybrid systems.

并行执行减少了数据比较集中的操作的相应时间(比如说在数据仓库中)。smp和集群系统因为并行执行增加了最大性能的效益,因为语句执行能够分离到不同的cpu上。并行执行能够同样的在oltp和混合系统中受益。

In Oracle RAC systems, the service placement of a particular service controls parallel execution. Specifically, parallel processes run on the nodes on which you have configured the service. By default, Oracle Database runs the parallel process only on the instance that offers the service used to connect to the database. This does not affect other parallel operations such as parallel recovery or the processing of GV$queries

在oracle rac系统中,特殊服务的布置控制着并行执行。特别是,并行进程运行在一个已经配置好服务的节点上,默认的oracle数据库运行并行进程,只在那些语句运行的实例上面进行。这样不会影响其他的并行操作。比如说并行恢复和处理gv$查询。

Oracle后台进程之:Slave Processes