【Oracle】 oracle数据库的并发初步理解

先从一个列子来说:我们经常听到说某某网站的每天访问用户数有几十,几千,几百万甚至上千万,同时在线用户数有几万,几十万的。

从这个列子我们来分析,数据库并发的概念。

首先,这儿有两个名词,一个是每天访问的用户数,一个是同时在线用户数。那么这两个数据是不是就是数据库的并发数呢?Oracle数据库的一个相对比较稳定的并发数是200左右,也就是说一台比较好的服务器,并发数在200时,还能够正常的运行,不会死机。由此可见,上面两个数据都不是并发数。

我们再来了解这两个名词的含义。

访问用户数:一个大型的网站,每天肯定是有很多人访问的,每当有人进入这个网站时,访问数就会加一,这就造成了访问数很大。有人访问,进入这个网站,肯定就是要查询数据库的,除非是纯静态的网站,一人访问就会连接一次数据库,从里面拿出数据,这个时候就有并发了,并发数为1.如果还有人在此时此刻也访问了,注意,此时此刻是指连接数据库的时间,那么并发再累加。但是,我们要明白一个事实,能够做到在同一时刻访问数据库,是一件很困难的事情,总得有个时间的先后顺序,但也不是没有,只是数量不多而已,(比如,访问数据库的信息量比较大,第一个人还没有断开连接,又有人来访问了,就造成了并发)一般也就在10以下,这个数据大多数服务器都能接收,所以造成并发过高的机率就很低了。

在线用户数:指这个系统在某个时间点有多少个用户正在登陆,登录也就一瞬间的事儿,和访问网站差不多,他登陆并不意味着要干啥事,可能在发呆,也可能在嗑瓜子打游戏。

并发指同时刻或同一秒钟有多少个用户正在对这个系统做操作并产生数据交互。比如论坛,一个用户在写帖子的时候,没有和服务器发生数据交互,这时并发数+0,在他提交的那一瞬间,并发数+1;用户在打开帖子的时候,并发数+1,因为他需要从服务器读数据,浏览帖子时,并发数+0,因为数据已经下载到客户端。

对于数据库或中间层来说,上面的并发被转译为活动连接数。一个存在的连接不能称为并发,因为它可能是空闲的,通过这个连接操作数据才算并发数

对于Oracle数据库来说,一个并发数指一个状态为Active的session,总用户并发数指状态为Active的非后台Session的个数,你可以从gv$session中查到数据。

那么怎么来防止并发呢?在程序上我们是可以控制的,比如spring,连接池就是一个很好的东东,连接池里有多的,就给你用,用完了,你就等着吧。当然等的时间不会太久,基本感觉不出来,但是,访问的数据过大时,可能会给你造成一种自己网速慢的假象,其实是被人还没下载完呢!

原文链接:oracle数据库的并发初步理解

时间: 2024-08-25 08:16:56

【Oracle】 oracle数据库的并发初步理解的相关文章

数据库隔离级别深入理解(ORACLE)

TRANSACTION_READ_UNCOMMITTED 1 这种隔离级别最低,脏读,不可重复读,幻读都会发生,我用的oracle,并没有支持这个级别,不作研究. TRANSACTION_READ_COMMITTED  2  This is the default transaction isolation level. Each query executed by a transaction sees only data that was committed before the query

通过阅读Oracle Enterprise Asset Management User Guide,我对Oracle eAM的初步理解

通过阅读Oracle Enterprise Asset Management User Guide,我对Oracle eAM的初步理解 Oracle eAM是Oracle EBS套件的一部分,解决资产密集的组织的综合的和常规的设备维护需求.在设备层面追踪所有的维护成本和工作历史,来衡量绩效和最优化维护操作. eAM为组织提供了工具给资产和可重建的库存物料创建和应用维护程序.eAM让用户可以最大化地计划和安排维护活动,同时对组织的运作或生产中断最小.重要的是,它能提高资源有效性,增强维护质量,跟踪

Oracle 11g数据库详解(2015-1-18更新)

Oracle 11g数据库详解 整理者:高压锅 QQ:280604597 Email:[email protected] 大家有什么不明白的地方,或者想要详细了解的地方可以联系我,我会认真回复的 1   简介 数据库操作主要有以下几步: 1.  启动.停止数据库 2.  连接.断开数据库 3.  创建.修改.删除数据库用户 4.  表空间 5.  新建.修改.删除表 6.  查询.插入.修改.删除表数据 7.  新建.修改.删除视图 8.  新建.修改.删除存储过程 9.  新建.修改.删除触发

Oracle创建数据库

打开 Database Configuration Assistant 下一步 选择"高级模式" 下一步 选择创建数据库的类型(一般选择"数据仓库")(一般用途或事务处理?:?即OLTP(联机事务处理).一般数据量小,DML频繁. 数据仓库:?即OLAP,数据量大,DML少关键你的数据是OLTP还是OLAPOLTP:联机事务处理,表示事务多,但执行大多较短,并发量大的数据库,如日常的进销存操作等:OLAP:?联机分析处理,表示事务较少,但执行大多较长,并发量较小的数

Oracle 11g数据库详解(2015-02-28更新)

Oracle 11g数据库详解 整理者:高压锅 QQ:280604597 Email:[email protected] 大家有什么不明白的地方,或者想要详细了解的地方可以联系我,我会认真回复的 1   简介 数据库操作主要有以下几步: 1.  启动.停止数据库 2.  连接.断开数据库 3.  创建.修改.删除数据库用户 4.  表空间 5.  新建.修改.删除表 6.  查询.插入.修改.删除表数据 7.  新建.修改.删除视图 8.  新建.修改.删除存储过程 9.  新建.修改.删除触发

管理oracle企业管理数据库控制器

Oracle企业管理数据库控制器是一个web接口的oracle数据库管理工具.你可以执行管理员的操作,比如说创建实体对象(表,视图,索引),备份与恢复你的数据库,导入导出数据等等操作. 理解企业管理器的目录 当你安装数据库时,默认安装oracle 企业管理器.它在$oracle_home目录下安装一些列的企业管理器目录. emctl工具 $ORACLE_HOME/sysman 所有实例的公共文件与共享文件都存放在这个目录下面 $ORACLE_HOME/hostname_dbuniquename/

《Oracle 12c数据库DBA入门指南 》目录

 当当网页面链接: http://product.dangdang.com/23625712.html 第1章  Oracle数据库基础知识 1.1  什么是关系数据库 1.1.1  关系数据库模型 1.1.2  关系数据模型的创始人 1.2  Oracle数据库发展简史 1.2.1  公司之初 1.2.2  Oracle数据库的发展历程 1.3  数据库RDBMS 1.4  SQL语言简介 1.4.1  SQL语言概述 1.4.2  SQL语句 1.5  本章小结 第2章  Oracle

【翻译自mos文章】将Oracle 12c数据库从标准版convert到企业版

将Oracle 12c数据库从标准版convert到企业版 来源于: How to Convert Oracle Database 12c from Standard to Enterprise Edition ? (文档 ID 2046103.1) APPLIES TO: Oracle Database - Enterprise Edition - Version 12.1.0.1 and later Information in this document applies to any pl

探索Oracle之数据库升级二 11.2.0.3升级到11.2.0.4完整步骤

探索Oracle之数据库升级二  11.2.0.3升级到11.2.0.4完整步骤 说明:         这篇文章主要是记录下单实例环境下Oracle 11.2.0.1升级到11.2.0.3的过程,当然RAC的升级是会有所不同.但是他们每个版本之间升级步骤都是差不多的,先升级Database Software,再升级Oracle Instance. Oracle 11.2.0.4的Patchset No:19852360下载需要有Oracle Support才可以.  Patchset包含有7个