oracle的服务器进程分为:专用(DEDICATED)服务器进程和共享(SHARED)服务器进程
一、专用服务器进程
数据库服务器要求每个用户拥有一个专用服务器进程,当用户比较多的时候,则其对服务器的硬件资源,特别是内存,会产生比较大的压力。

适用环境:
1、 只有少数客户端。
2、 为数据仓库搭建的数据库系统。
3、 联机事务处理系统。(大事务的处理,若使用共享服务器模式,很有可能会造成有些事务需要进入队列排队,响应时间拉长)
二、共享服务器进程
多个用户程序可以并发共用一个服务器进程,客户端程序通过调用调度程序与服务器进程相连

如何查看是否是共享服务器模式?
1 查看调度程序
SQL> show parameter dispatchers;
NAME TYPE VALUE
------------------------------------ ----------- -----------------------------
dispatchers string (PROTOCOL=TCP) (SERVICE=sdecp
yXDB)
max_dispatchers integer 5
mts_dispatchers string (PROTOCOL=TCP) (SERVICE=sdecp
yXDB)
mts_max_dispatchers integer 5
2、查看共享服务器进程数
SQL> show parameter shared_servers;
NAME TYPE VALUE
------------------------------------ ----------- -----------------------------
max_shared_servers integer 20
shared_servers integer 1
3、预留
SQL> show parameter shared_server_session;
NAME TYPE VALUE
------------------------------------ ----------- ---------
shared_server_sessions integer 165
其中
dispatchers:调度程序服务器进程
max_shared_servers :指定同时运行的最大服务器进程数
shared_servers :启动实例时可以创建的服务器进程数
shared_server_sessions:指定用于用户会话的总数,配置此参数可为专用服务器保留用户会话
4.改变进程数
SQL> alter system set shared_servers=2;
系统已更改。
SQL> show parameter shared_servers;
NAME TYPE VALUE
------------------------------------ ----------- -------------------------
max_shared_servers integer 20
shared_servers integer 2
SQL>
优点是客户端进程多对一,增加了数据库可以支持的用户数。缺点就是各个用户共享一个进程,对用户访问数据库的性能有所影响。

- 大小: 33.1 KB

- 大小: 39.2 KB
分享到:
相关推荐
当客户端发起请求时,请求会被调度器进程接收并放入请求队列,随后由共享服务器进程按顺序处理。这种方式减少了服务器进程的数量,降低了系统的开销,适合于处理大量并发连接但交易相对简单的应用,如Web服务或数据...
在Oracle中,服务器进程主要分为两类:专用服务器进程和共享服务器进程。 5.1 专用服务器进程 专用服务器进程( Dedicated Server Process)为每个客户端连接提供一个单独的服务器进程。这种模式下,每个连接都有...
在计算机系统设计中,服务器模型是决定服务处理方式的关键因素,主要分为进程服务器模型和线程服务器模型。这两种模型在处理并发请求、资源管理和性能优化方面各有特点。 **进程服务器模型** 进程服务器模型...
这将分配一块系统内存,供所有进程共享。 2. **创建视图访问器**:通过MemoryMappedFile.CreateViewAccessor或MemoryMappedFile.CreateOrOpenViewStream方法,创建一个视图访问器或流,以读取和写入内存映射文件。...
- **子进程执行不同程序**:子进程可以在`fork()`之后立即调用`exec()`函数来执行一个新的程序,这样可以确保子进程与父进程执行不同的任务。 #### `fork()`函数的局限性与错误处理 - **系统资源限制**:当系统中的...
Nginx使用共享内存区域来传递数据,例如,主进程与工作进程之间的配置信息更新,或者工作进程之间的负载均衡策略。这种通信方式减少了不必要的上下文切换,提升了整体性能。 此外,Nginx的多进程模型还具有稳定性...
共享内存是进程间通信的一种直接方式,它允许多个进程共享一个在物理内存中分配的特定区域。在Windows环境下,主要通过CreateFileMapping和MapViewOfFile函数来创建和映射共享内存。创建时需要指定内存大小和访问...
服务器进程读取客户端发送的数据,经过必要的处理(如存储、转发等),再将响应数据发送回客户端。这通常涉及到`read()`和`write()`系统调用,用于从套接字读取和写入数据。 为了实现聊天功能,服务器还需要处理...
1. **分配内存**:使用`CreateFileMapping`函数在系统中创建一个映射对象,这个对象对应一块可以被多个进程共享的内存区域。 2. **映射视图**:每个进程使用`MapViewOfFile`函数将刚才创建的映射对象映射到自己的...
标题中的“多用户同时远程服务器时的进程检测demo”指的是一个示例项目,设计用于解决在多用户远程访问同一服务器的场景下,如何检测并管理特定进程的问题。这个示例可能是一个应用程序,允许用户在远程服务器上启动...
1. 连接到服务器,获取共享内存的句柄。 2. 使用同步对象(如互斥量)等待访问权限。 3. 读取或写入共享内存中的数据。 4. 在完成操作后,释放互斥量,让其他进程可以继续访问。 在`www.pudn.com.txt`文件中,可能...
在给定的`server.c`和`client.c`代码中,服务器进程可能会创建一块共享内存,设置互斥锁和条件变量,然后在其中存储数据。客户端进程则通过连接共享内存,使用互斥锁保护数据,当数据满足预设条件时,服务器进程会...
这种一对一的关系意味着每个服务器进程都有自己的PGA(进程全局区域),不与其他服务器进程共享数据。 - **适用场景**:适用于批处理、大任务操作以及RMAN(恢复管理器)的数据库备份、恢复和管理操作,因为这些...
这种模式下,服务器进程与客户进程之间是一对一的关系,各服务器进程之间不共享数据。 - 适用场景:批处理、大任务操作、RMAN备份恢复以及数据库的启动和关闭等,因为这些操作可以使服务器进程保持忙碌,减少资源...
在IT领域,尤其是在Web开发和应用中,"WebBrowser跨进程共享Cookie"是一个重要的主题,涉及到浏览器组件(如WebBrowser控件)如何在不同的进程中处理和传递Cookie信息。Cookie是服务器在用户浏览器上存储的小型文本...
4. **同步与保护**:由于多个进程可能同时访问共享内存,因此必须使用同步原语(如互斥锁、信号量)来防止数据竞争和不一致。 5. **资源释放**:当不再需要共享内存时,所有参与进程都需要正确地解除附件,并最终由...
服务器进程 专用服务器连接 共享服务器连接 连接与会话 专用服务器与共享服务器 后台进程 中心后台进程 工具后台进程
共享内存是一种高效的进程间通信(IPC,Inter-Process Communication)机制,它允许不同的进程直接读写同一块内存区域,无需通过任何数据复制或传递过程。在这个实例中,我们利用共享内存来实现实时、快速的数据交换...
本篇文章将深入探讨如何使用`fork()`函数来实现一个服务器与多个客户端之间的通信,这是中南大学某课程的一个典型作业,旨在让学生掌握多进程编程的基本原理和实践技巧。 首先,我们要理解`fork()`函数的工作原理。...
在这种模式下,调度进程会管理用户请求,将请求放入请求队列,等待空闲的共享服务器进程来处理。共享服务器进程执行SQL,处理结果后再放入响应队列,由调度进程返回给用户。共享服务器模式在高并发环境下能有效减少...