Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【DB笔试面试394】在Oracle中,SESSIONS和PROCESSES的关系是什么?

【DB笔试面试394】在Oracle中,SESSIONS和PROCESSES的关系是什么?

作者头像
AiDBA宝典
发布于 2019-09-30 11:10:46
发布于 2019-09-30 11:10:46
1.4K0
举报
题目

在Oracle中,SESSIONS和PROCESSES的关系是什么?

答案

数据库安装完成后,常常需要设置SESSIONS和PROCESSES的大小。其中,SESSIONS指定了一个实例中允许的会话数,即能同时登录到数据库的并发用户数。PROCESSES指定了一个实例在操作系统级别能同时运行的进程数,包括后台进程与服务器进程。由于一个后台进程可能同时对应对个会话,所以,通常SESSIONS的值是大于PROCESSES的值。

通过查找官方文档,可以知道SESSIONS参数的值在Oracle 10g和11g中是不同的,如下表所示:

属性

Oracle 10g

Oracle 11gR2

参数值的类型

Integer

Integer

默认值

Derived: (1.1 * PROCESSES) + 5

Derived: (1.5 * PROCESSES) + 22

是否可以动态修改

No

No

范围

1 to 231

1 to 216 (即1到65536)

注:在Oracle 11gR1中,该参数值和10g是一样的,修改语句为“ALTER SYSTEM SET PROCESSES|SESSIONS=200 SCOPE=SPFILE;”

由于SESSIONS的值是根据PROCESSES的值计算得到的,所以,一般情况下只需要设置PROCESSES的值即可。在Oracle 11gR2以下版本中,SESSIONS大小的计算公式为:(1.1 * PROCESSES) + 5;在Oracle 11gR2中,SESSIONS大小的计算公式为:(1.5 * PROCESSES) + 22。若SESSIONS的当前值比计算值大的话,则SESSIONS的值可能保持不变;若SESSIONS的当前值比计算值小的话,则SESSIONS取计算值,即SESSIONS的值总是取MAX(当前值,计算值),但是这个也不是绝对的。

当数据库连接的并发用户已经达到SESSIONS的值时,又有新会话连接进来,就会报错“ORA-00018,"maximum number of sessions exceeded"”的错误。

当Oracle需要启动新的PROCESS,而当前的进程数又已经达到PROCESSES参数时,就会报错:“ORA-00020: maximum number of processes (2048) exceeded”。

如果数据库上连接被占用完,当新的连接过来时,那么就会在客户端产生“ORA-12519, TNS:no appropriate service handler found”的报错信息。

About Me:小麦苗

● 本文作者:小麦苗,只专注于数据库的技术,更注重技术的运用

● 作者博客地址:http://blog.itpub.net/26736162/abstract/1/

● 本系列题目来源于作者的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解

● 版权所有,欢迎分享本文,转载请保留出处

● 题目解答若有不当之处,还望各位朋友批评指正,共同进步

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-11-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DB宝 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【DB笔试面试786】在Oracle中,什么是坏块?坏块可以分为哪几类?
Oracle数据文件的坏块可以分为物理坏块(Physical Block Corruptions)和逻辑坏块(Logical Block Corruptions)。坏块通常是通过Oracle的ORA-01578错误报告出来的,详细的损坏描述会在告警日志中打印出来,“oerr ora”对该错误的解释如下所示:
AiDBA宝典
2020/05/07
7980
【DB笔试面试723】在Oracle中,什么是VF(Voting File,表决磁盘文件)?
表决磁盘(Voting Disk)也叫仲裁盘(Quorum Disk),表决磁盘的作用是保存VF(Voting File,表决磁盘文件)。VF的作用是实现集群的磁盘心跳,主要用于记录节点成员状态信息,例如,包含哪些节点成员,节点添加删除信息的记录等。在集群出现脑裂时,VF可以用来决定哪个节点获得控制权,其它的节点必须从集群中剔除,即在集群出现脑裂时,可以提供解决方案。表决磁盘存储在ASM中,有如下几点要求:
AiDBA宝典
2020/01/20
1.2K0
【DB笔试面试761】在Oracle中,DG中GAP有几种解决方案?
当主库的某些日志没有成功传送到备库,那么这时候就发生了归档裂缝(Archive Gap)。目前Oracle提供了两种日志GAP的检测和处理机制,分别是自动GAP处理(Automatic Gap Resolution)和FAL进程GAP处理(FAL Gap Resolution)。自动GAP处理即主库上的ARCn进程会每分钟检查备库上的日志GAP情况并做相应处理。FAL(Fetch Archive Log)是通过配置FAL_SERVER和FAL_CLIENT实现GAP检测的一种机制,它是备库主动发起的“取”日志的过程。备库就是FAL_CLIENT,它从FAL_SERVER中取这些GAP。Oracle会首先尝试使用FAL进程处理GAP,当发现FAL机制并没有配置生效的时候,进而尝试使用自动GAP处理。
AiDBA宝典
2020/02/26
1.3K0
【DB笔试面试220】在Oracle中,如何备份控制文件?备份控制文件的方式有哪几种?
当数据库处于归档模式且设置了“CONFIGURE CONTROLFILE AUTOBACKUP ON;”时,若数据库的结构发生了变化(例如添加或删除表空间),则也会自动对控制文件进行备份。需要注意的是,从Oracle 11g开始,rman对控制文件自动备份做了延迟处理。在Oracle 10g中,引入了控制文件的自动备份特性。如果数据库的结构发生了变化,那么Oracle会自动将控制文件备份到指定目录中,并且在告警日志中记录相关的信息。前提是数据库处于归档模式,并且CONTROLFILE AUTOBACKUP设置为ON。但是,从Oracle 11gR2开始,引入了控制文件自动备份延迟创建的特性。即使设置了控制文件的自动备份,在数据库结构发现变化的时候也不会立即看到控制文件的备份,而是在300秒(由隐含参数“_controlfile_autobackup_delay”来控制,默认是300秒)后才会看到控制文件被自动做了备份(经过实验测试,发现实际上是10分钟之后)。而且,在告警日志中也只能看到数据库结构发生变化的信息,而看不到控制文件自动备份的信息了,这是Oracle为了改变性能而引入的,防止用户在一个脚本中多次对数据库结构的变化而创建多个控制文件备份。例如CREATE TABLEPACE、DROP LOGFILE、ADD LOGEILE等,那么Oracle 11g只会备份一个控制文件,而不是多个;对于Oracle 10g只要数据库结构改变,就会自动备份一个。MOS文档[ID 1068182.1]对这个问题做了说明。在Oracle 11g中,备份控制文件的后台进程为MMON的奴隶进程,默认会生成一个trace文件,名称为SID__m000_<OS_PID>.trc,该trace文件中记录了控制文件自动备份的位置和时间:
AiDBA宝典
2022/02/22
8010
【DB笔试面试734】在Oracle中,Oracle集群(RAC)的时间同步有哪几种方式?
从Oracle 11gR2 RAC开始,Oracle集群的时间同步可以采用操作系统的NTP(Network Time Protocol)服务,也可以使用Oracle自带的服务CTSS(Cluster Time Synchronization Service)。在Oracle 11gR2前,集群的时间是由NTP同步的,而在11gR2后,Oracle引入了CTSS组件。如果NTP没有启用,那么Oracle会自动启用自己的ctssd进程来同步集群时间。
AiDBA宝典
2020/01/20
5590
【DB笔试面试734】在Oracle中,Oracle集群(RAC)的时间同步有哪几种方式?
【DB笔试面试721】在Oracle中,什么是OLR?
OCR是用于保存CRSD所管理的资源的注册表,但是在CRSD启动之前集群还有很多初始化资源(例如ASM实例)需要启动,所以,只有OCR是不够的。因此,Oracle在11gR2版本中推出了另一种注册表OLR(Oracle Local Registry,Oracle本地注册表)。OLR类似于Oracle集群注册表,但是OLR只存储与本地节点有关的信息。OLR不与集群中的其它节点共享。OLR存储了集群启动初期ohasd(Oracle High Availability Service)使用的重要环境,如Oracle集群件的版本、配置等。如果OLR丢失或损坏,那么将会导致ohasd进程启动失败。所以,OLR的主要作用就是为ohasd守护进程提供集群的配置信息和初始化资源的定义信息。
AiDBA宝典
2020/01/20
1.1K0
【DB笔试面试721】在Oracle中,什么是OLR?
【DB笔试面试776】在Oracle中,SCN是什么?
SCN(System Change Number,系统改变号)是一个由系统内部维护的序列号,在数据库全局是唯一的。当系统需要更新的时候自动增加,它是系统中维持数据的一致性和顺序恢复的重要标志,是数据库中非常重要的一种数据结构。在数据库中,SCN作为一种时钟机制来标记数据库动作,比如,当事务发生时,数据库会用一个SCN来标记它。SCN是在某个时间点定义数据库已提交版本的时间戳标记,Oracle为每个已提交的事务分配一个唯一的SCN。SCN的值是对数据库进行更改的逻辑时间点。SCN是一个只会增加、不会减少的数字。
AiDBA宝典
2020/05/07
7380
如何修改集群的公网信息(包括 VIP) (文档 ID 1674442.1)
Oracle Database - Enterprise Edition - 版本 10.1.0.2 到 12.2.0.1 [发行版 10.1 到 12.2] 本文档所含信息适用于所有平台
AiDBA宝典
2019/09/30
9310
【DB笔试面试779】在Oracle中,SYS.SMON_SCN_TIME基表的作用是什么?
SYS.SMON_SCN_TIME基表用于记录过去时间段中SCN与具体的时间戳(timestamp)之间的映射关系,因为是采样记录这种映射关系,所以SMON_SCN_TIME可以较为粗糙地定位某个SCN的时间信息。实际的SMON_SCN_TIME是一张cluster table簇表。SMON_SCN_TIME基表的数据是由SMON后台进程来维护的。
AiDBA宝典
2020/05/07
6340
【DB笔试面试774】在Oracle中,闪回恢复区(Fast Recovery Area,FRA)是什么?如何监控FRA?
在Oracle中,闪回恢复区(Fast Recovery Area,FRA)是什么?如何监控FRA?
AiDBA宝典
2020/05/07
1.9K0
【DB笔试面试388】Oracle集群的日志体系有哪些?
在Oracle RAC环境中,对集群中的日志进行定期检查是必不可少的。通过查看集群日志,可以早期定位集群环境中出现的问题,以便将问题消灭在萌芽状态。下面简单介绍一下有关Oracle集群环境中日志的结构,有助于方便快速地查找所需的日志文件。
AiDBA宝典
2022/02/22
4170
【DB笔试面试392】Oracle的自治事务是什么?
Oracle的自治事务(Autonomous Transaction)是将一个主事务分割成几个子事务,在执行完子事务以后再继续执行主事务。这里的关键是,子事务是独立于主事务的,子事务中的ROLLBACK和COMMIT操作只会影响子事务中的DML操作;同样,主事务中的ROLLBACK和COMMIT操作只会影响主事务中的DML操作,而不会影响子事务中的操作。在子事务中已经COMMIT的操作,不会被主事务中的ROLLBACK撤销。
AiDBA宝典
2019/09/29
1.1K0
【DB笔试面试392】Oracle的自治事务是什么?
【DB笔试面试464】动态SQL是什么?
在PL/SQL开发过程中,使用SQL或PL/SQL可以实现大部分的需求,但是,在某些特殊的情况下,在PL/SQL中使用标准的SQL语句或DML语句不能实现自己的需求,例如需要动态建表或执行某个不确定的操作的时候,就需要动态执行,还有DDL语句及系统控制语句都不能在PL/SQL中直接使用,这就需要使用动态SQL来实现。因此,在Oracle数据库开发PL/SQL块中,可以把SQL分为静态SQL和动态SQL。所谓静态SQL指的是在PL/SQL块中使用的SQL语句在编译时是明确的,执行的是确定对象。动态SQL是指在PL/SQL块编译时SQL语句是不确定的,如根据用户输入的参数的不同而执行不同的操作。编译程序对动态语句部分不进行处理,只是在程序运行时动态地创建语句、对语句进行语法分析并执行该语句。动态SQL允许在SQL客户模块或嵌入式宿主程序的执行过程中执行动态生成的SQL语句,动态SQL语句在程序编译时尚未确定。其中,有些部分需要在程序的执行过程中临时生成的SQL语句,SQL标准引入动态SQL的原因是由于静态SQL不能提供足够的编程灵活性。
AiDBA宝典
2019/09/30
1.4K0
【DB笔试面试729】在Oracle中,不修改网卡、子网、网段等信息,只修改公网、私网、VIP和SCAN IP地址,如何操作?
在Oracle中,如果不修改网卡、子网、网段等信息,只修改公网、私网、VIP和SCAN IP地址,那么应该如何操作?
AiDBA宝典
2020/01/20
1.1K0
【DB笔试面试780】在Oracle中,参数FAST_START_MTTR_TARGET的作用是什么?
通过参数FAST_START_MTTR_TARGET可以指定数据库执行单实例的崩溃恢复所要花费的秒数(由后台进程SMON实现),可以认为是一个加快实例恢复的参数。基于内部统计信息,增量检查点会自动调整检查点目标,以满足FAST_START_MTTR_TARGET的要求。在Oracle 8i中,初始化参数FAST_START_IO_TARGET会使增量检查点自动调整其目标,从而使恢复所需的数据块数量不多于FAST_START_IO_TARGET设置的值。自Oracle 9i开始,已弃用此参数,取而代之的是参数FAST_START_MTTR_TARGET,并且该参数已成为优化增量检查点目标的首选方法。
AiDBA宝典
2020/05/07
9840
【DB笔试面试782】在Oracle中,TSPITR(表空间基于时间点恢复)是什么?
TSPITR(Tablespace Point-In-Time Recover,表空间基于时间点恢复)也称为小范围的不完全恢复,用于将一个或多个表空间恢复到过去某个时间点的状态,而其它表空间仍然保持现有状态。通过执行TSPITR可将一个或多个表空间快速恢复到以前的某个时间。执行TSPITR不会影响数据库中其它表空间或对象的状态。
AiDBA宝典
2020/05/07
8650
【DB笔试面试663】在Oracle中,死锁的产生情况有哪些?
Oracle中的死锁比较复杂,产生死锁的原因也有很多种,曾经有面试官让面试人员口头模拟死锁产生的一个场景。下面详细介绍死锁的相关内容。
AiDBA宝典
2019/10/23
9500
【DB笔试面试663】在Oracle中,死锁的产生情况有哪些?
【DB笔试面试787】在Oracle中,参数DB_BLOCK_CHECKSUM和DB_BLOCK_CHECKING的作用是什么?
在Oracle中,参数DB_BLOCK_CHECKSUM和DB_BLOCK_CHECKING的作用是什么?
AiDBA宝典
2020/05/07
6740
【DB笔试面试778】在Oracle中,SCN与时间如何相互转换?
一个SCN值总是发生在某一个特定的时刻,只不过由于粒度的不一样,通常会存在多个SCN对应同一个时间戳的情况。Oracle 10g提供了两个新函数用于SCN和时间戳进行相互转换,这两个函数分别是SCN_TO_TIMESTAMP和TIMESTAMP_TO_SCN,通过对SCN和时间戳进行转换,极大地方便了Oracle的很多备份和恢复过程:
AiDBA宝典
2020/05/07
8310
【DB笔试面试845】在Oracle中,sqlnet.ora文件的作用是什么?
sqlnet.ora文件的作用类似于Linux系统的nsswitch.conf文件,通过该文件来决定如何查找一个连接中出现的连接字符串。例如,在客户端输入命令:sqlplus sys/oracle@orcl,而sqlnet.ora的配置如下所示:
AiDBA宝典
2020/07/29
6870
推荐阅读
【DB笔试面试786】在Oracle中,什么是坏块?坏块可以分为哪几类?
7980
【DB笔试面试723】在Oracle中,什么是VF(Voting File,表决磁盘文件)?
1.2K0
【DB笔试面试761】在Oracle中,DG中GAP有几种解决方案?
1.3K0
【DB笔试面试220】在Oracle中,如何备份控制文件?备份控制文件的方式有哪几种?
8010
【DB笔试面试734】在Oracle中,Oracle集群(RAC)的时间同步有哪几种方式?
5590
【DB笔试面试721】在Oracle中,什么是OLR?
1.1K0
【DB笔试面试776】在Oracle中,SCN是什么?
7380
如何修改集群的公网信息(包括 VIP) (文档 ID 1674442.1)
9310
【DB笔试面试779】在Oracle中,SYS.SMON_SCN_TIME基表的作用是什么?
6340
【DB笔试面试774】在Oracle中,闪回恢复区(Fast Recovery Area,FRA)是什么?如何监控FRA?
1.9K0
【DB笔试面试388】Oracle集群的日志体系有哪些?
4170
【DB笔试面试392】Oracle的自治事务是什么?
1.1K0
【DB笔试面试464】动态SQL是什么?
1.4K0
【DB笔试面试729】在Oracle中,不修改网卡、子网、网段等信息,只修改公网、私网、VIP和SCAN IP地址,如何操作?
1.1K0
【DB笔试面试780】在Oracle中,参数FAST_START_MTTR_TARGET的作用是什么?
9840
【DB笔试面试782】在Oracle中,TSPITR(表空间基于时间点恢复)是什么?
8650
【DB笔试面试663】在Oracle中,死锁的产生情况有哪些?
9500
【DB笔试面试787】在Oracle中,参数DB_BLOCK_CHECKSUM和DB_BLOCK_CHECKING的作用是什么?
6740
【DB笔试面试778】在Oracle中,SCN与时间如何相互转换?
8310
【DB笔试面试845】在Oracle中,sqlnet.ora文件的作用是什么?
6870
相关推荐
【DB笔试面试786】在Oracle中,什么是坏块?坏块可以分为哪几类?
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档