下面是关于各类虚处理器的更多描述:
(1)CPU:CPU虚处理器是处理操作最多的虚处理器。这类虚处理器的目的是把所有占用CPU资源较多的活动都运行在这些进程上,以使这些进程一直很繁忙,不要休眠。在这类虚处理器上不允许阻塞系统调用,如磁盘读写操作或者等待应用端的信息。当online启动时,系统管理员可以配置这类虚处理器的数目,也可以在后期根据需要动态增加或减少虚处理器数目,而不需要重启数据库。
(2)PIO:当数据库启动时,PIO虚处理器是自动申请的。经常只申请一个PIO虚处理器。只有当物理日志所在的dbspace是镜像的,这时才申请两个PIO虚处理器。
(3)LIO:当数据库启动时,LIO虚处理器是自动申请的。经常只申请一个LIO虚处理器。只有当物理日志所在的dbspace是镜像的,这时才申请两个LIO虚处理器。
(4)AIO:AIO(asynchronous I/O)虚处理器用于SQL语句读写磁盘、检查点或者其他的活动。当数据库运行期间,可以根据需要动态增加AIO虚处理器。
(5)ADT:当 ADTMODE 参数配置为非零值时,数据库会启动一个用于审计的虚处理器;当运行onaudit工具时,也会启动审计的虚处理器。
(6)classname:这类虚处理器在线索安全模式下运行用户定义函数,因此当这个函数失败时,数据库不会受到影响。可以通过设置VPCLASS参数来定义虚处理器的名字和个数。下面的例子中定义了一个名叫myvp的虚处理器。
(7)MSC:MSC 虚处理器用于完成其他的一些任务,如UNIX用户的身份验证。
(8)SHM:用户处理新的共享内存连接请求的任务,同时也处理从应用端发来的信息。这类虚处理器的数目可以在数据库启动之前进行配置,它的数目为NETTYPE的第二列。如果不使用共享内存连接,则不会启动SHM虚处理器。
(9)STR:流管道类虚处理器用于操作系统流机制发送和接受消息的通信。这类虚处理器的数目在数据库启动之前进行配置。如果不使用流管道通信,则不会启动这类虚处理器。
(10)TLI:TLI类虚处理器用于TCP/IP的TLI编程接口的连接请求。这类虚处理器的数目在数据库启动之前进行配置。如果不使用TLI的TCP/IP,则不会启动这类虚处理器。
(11)SOC:SOC类虚处理器用于处理socket类的应用连接请求,这类虚处理器的数目在数据库启动之前进行配置。如果socket进行通信,则不会启动这类虚处理器。
(12)ADM:ADM类VP扮演定时器的角色。定时器用来确定一些活动在什么时间发生,例如,一些线索经过多少秒后休眠。定时器的任务就是为这些线索定时。数据库只启动一个ADM虚处理器。
(13)JVP:用户执行Java的用户自定义过程或函数。它包含有Java的虚拟机环境。JVP和CPU虚处理器具有相同的功能,可以处理SQL语句。如果配置了多个JVP,就可以并行调用Java的用户自定义过程或函数。