第五章 Oracle 进程
1、Oracle实例主要3类进程
a、服务器进程(server process):根据客户的请求来完成工作;
b、后台进程(background process):随数据库启动而启动,用于完成各种维护任务,如将块写至磁盘、维护在线重做日志、清理异常终止的进程、维护自动工作负载存储库(AWR)等;
c、从属进程(slave process):类似于后台进程,但它们要代表后台进程或服务器进程完成一些额外的工作。
注:本章所述进程有两层含义,既表示进程又涵盖线程。如果你使用的是一个多进程的Oracle实现,比如说Linux上的Oracle实现,进程就表示进程;如果你使用单进程的Windows实现,比如Windows上的Oracle实现,进程实际指Oracle进程中的线程。如DBWn进程,在Windows上就对应Oracle进程中的DBWn线程。
2、服务器进程
(1)连接与会话
a、连接:是指从客户端到Oracle实例的一条物理路径;
b、会话:是实例中存在的一个逻辑实体,就是表示特定会话的一组内存中的数据结构;各个会话是单独而且独立的,即使它们共享同一条数据库物理连接也是如此;一个会话中的提交不会影响该连接上的任何其它会话;
c、连接与会话的关系:在一条连接上可以建立0个、1个或多个会话。会话可以有连接也可以没有连接。如果使用Oracle Net的连接池,连接空闲一段时间后,客户可以删除一条物理连接,而会话依然保留(但是会话是空闲的),客户在这个会话上执行某个操作时,它会重新建立物理连接。简单的说,连接与会话之间有一种多对多的关系,不过最常见的是专用服务器与单一会话之间的一对一关系。
(2)专用服务器与共享服务器
a、专用服务器模式:在非OLTP环境中,也就是可能有长时间运行事务的情况下,应该只考虑这种模式,因为该模式下客户连接与服务器进程之间存在一种一对一的映射,不必担心长时间运行的事务会阻塞其他事务。
b、共享服务器模式:该模式下,多个进程会共享服务器资源,适合于OLTP环境、并发用户大的情况。
3、后台进程
略。
4、从属进程
略。