Oracle的专用数据库和共享数据库区别

简介:

专用服务器进程(Dedicated server)


对于专用服务器配置,在登录时,Oracle总会创建一个新的进程,这个服务器进程会在会话生存期中专门这个连接服务。对于每个会话,都会出现一个新的专用服务器,会话与专用服务器之间存在一对一的映射。按照定义,这个专用服务器不是实例的一部分用户进程和服务器进程是分开的。每个用户进程都有自己的服务器进程。
用户进程和服务器进程可在不同的机器上运行,以利用分布式处理的优势。
用户进程和服务器进程的比率是1 比1。
即使用户进程不发出数据库请求,专用服务器也存在,只是保持空闲状态。
何时使用专用服务器
提交批作业(预计很少有或没有空闲时间)
以sysdba 身份连接以启动、关闭或执行恢复
要请求使用专用服务器,必须在tnsnames.ora 文件内的Oracle Net TNS 连接字符串中
包含SERVER=DEDICATED 子句。
注:对于大多数平台来说,如果您的机器有足够的内存支持专用服务器,则应使用专用服
务器。这样性能可能更好些。
但也有例外,例如Windows NT,在该系统中,由于共享服务器体系结构的异步特性,使
用Oracle Shared Server 配置性能可能会有所提高。
如何连接专用服务器
在客户端服务器中的tnsnames.ora文件里进行设置:
dedicated =(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST =192.168.1.52)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = itpux)
(server = dedicated)
)





共享服务器(shared server),正式的说法是多线程服务器(Multi-Threaded Server)或MTS。如果采用这种方式,就不会对每条用户连接创建另外的线程或新的UNIX 进程
Oracle Shared Server 的优点
减少针对某一例程的进程数目
增加可服务的用户数
实现负载平衡
减少空闲服务器进程的数目
减少内存占用和系统开销
如何连接共享服务器
不能使用共享服务器执行某些类型的数据库工作:
数据库管理
备份和恢复操作
批处理和批量加载操作
数据仓库操作
共享服务器具有以下一些缺点
一般我们以oracle默认的专用服务器方式就行了,没必要使用共享服务器模式。一个是我们是使用中间件(如:weblogic)去连oracle的,中间件本身有连接池机制,另外就是oracle的这个共享服务器方式也做的不够好了,有诸多缺点。
1)共享服务器的代码路径比专用服务器长,所以它天生就比专用服务器慢。
2)存在人为死锁的可能,因为它是串行的,只要一个连接阻塞,则该服务器进程上的所有用户都被阻塞,并且极可能死锁。 ITPUX 技术网(http://www.itpux.com),中国最专业最全面的 IT 行业技术网站。
3)存在独占事务的可能,因为如果一个会话的事务运行时间过长,它独占共享资源,其它用户只能等待,而专用服务器,每个客户端是一个会话。
4)共享服务器模式限制了某些数据库特性,例如:不能单独启动和关闭实例,不能进行介质恢复,不能使用Log Miner,并且SQL_TRACE没有意义(因为是共享而不是当前会话的)。


怎么知道oracle当前是 DEDICATED SERVER 还是 SHARED SERVER?
最简单的一个方法是查看监听: lsnrctl service

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
[grid@udevasm: /home/grid ]$lsnrctl service
LSNRCTL  for  Linux: Version 11.2.0.4.0 - Production on 15-JUL-2017 13:07:31
Copyright (c) 1991, 2013, Oracle.  All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
Services Summary...
Service  "+ASM"  has 1 instance(s).
   Instance  "+ASM" , status READY, has 1 handler(s)  for  this service...
     Handler(s):
       "DEDICATED"  established:0 refused:0 state:ready
          LOCAL SERVER
Service  "db01"  has 1 instance(s).
   Instance  "udevasm" , status READY, has 1 handler(s)  for  this service...
     Handler(s):
       "DEDICATED"  established:8 refused:0 state:ready
          LOCAL SERVER
Service  "udevasm"  has 1 instance(s).
   Instance  "udevasm" , status READY, has 1 handler(s)  for  this service...
     Handler(s):
       "DEDICATED"  established:8 refused:0 state:ready
          LOCAL SERVER
Service  "udevasmXDB"  has 1 instance(s).
   Instance  "udevasm" , status READY, has 1 handler(s)  for  this service...
     Handler(s):
       "D000"  established:0 refused:0 current:0 max:1022 state:ready
          DISPATCHER <machine: udevasm, pid: 2469>
          (ADDRESS=(PROTOCOL=tcp)(HOST=udevasm)(PORT=10275))
The  command  completed successfully

















本文转自xiaocao1314051CTO博客,原文链接: http://blog.51cto.com/xiaocao13140/1947928 ,如需转载请自行联系原作者


相关文章
|
2天前
|
Oracle 关系型数据库 数据库
实时计算 Flink版产品使用合集之采集Oracle数据库时,归档日志大小暴增的原因是什么
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStreamAPI、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
2天前
|
SQL Oracle 关系型数据库
实时计算 Flink版产品使用合集之从Oracle数据库同步数据时,checkpoint恢复后无法捕获到任务暂停期间的变更日志,如何处理
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStreamAPI、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
2天前
|
SQL Oracle 关系型数据库
实时计算 Flink版产品使用合集之如何SQL同步数据到Oracle数据库中
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStreamAPI、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
2天前
|
Oracle 关系型数据库 Java
实时计算 Flink版操作报错之读取Oracle数据库时遇到找不到驱动,是什么原因
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
实时计算 Flink版操作报错之读取Oracle数据库时遇到找不到驱动,是什么原因
|
8天前
|
关系型数据库 MySQL API
实时计算 Flink版产品使用合集之可以通过mysql-cdc动态监听MySQL数据库的数据变动吗
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
85 0
|
10天前
|
关系型数据库 MySQL 数据库
docker MySQL删除数据库时的错误(errno: 39)
docker MySQL删除数据库时的错误(errno: 39)
67 0
|
3天前
|
存储 SQL 关系型数据库
【MySQL】数据库基础 -- 详解
【MySQL】数据库基础 -- 详解
|
10天前
|
Java 关系型数据库 MySQL
【MySQL × SpringBoot 突发奇想】全面实现流程 · xlsx文件,Excel表格导入数据库的接口(下)
【MySQL × SpringBoot 突发奇想】全面实现流程 · xlsx文件,Excel表格导入数据库的接口
51 0
|
10天前
|
Java 关系型数据库 MySQL
【MySQL × SpringBoot 突发奇想】全面实现流程 · xlsx文件,Excel表格导入数据库的接口(上)
【MySQL × SpringBoot 突发奇想】全面实现流程 · xlsx文件,Excel表格导入数据库的接口
55 0
|
3天前
|
存储 数据可视化 关系型数据库
【MySQL进阶之路 | 基础篇】创建和管理数据库
【MySQL进阶之路 | 基础篇】创建和管理数据库

推荐镜像

更多