一、概述
Oracle数据库是一个多进程服务器,当然在Windows上是多线程的。具体分为服务器进程、后台进程和从属进程。
二、服务器进程
服务器进程是指处理客户请求的进程。服务器进程又分为专用服务器进程和共享服务器进程。专用服务器进程只处理一个客户连接的请求,跟客户连接是一对一的关系。而共享服务器进程每次只处理一个请求,但是可以处理多个客户的请求,一个客户连接的请求由多个服务器进程处理,跟客户连接是多对多的关系。
如果事务时间很长可以选用专用服务器
如果可以控制并发数、控制内存占用、减少系统进程/线程数,可以考虑用共享服务器。
三、后台进程
后台进程是协助服务器进程完成请求的进程。
后台进程有包括:中心后台进程和工具后台进程
3.1)PMON进程监控器
· 客户连接异常终止时,负责清理相关资源,如服务器进程内存、锁、闩等
· 负责监控其他后台进程,有必要时进行重启
· 负责向TNS Listener注册实例
3.2)SMON系统监控器
· 临时表空间清理,虽然在数据库提供了真正的临时表空间后,清理工作大大减少,但是有些时候也会用来清理临时表空间。如创建索引的时候会分配临时空间,这些就需要smon来清理。
· 收缩回滚段
· 离线回滚段,离线命令虽然很快返回,但是真正的离线动作是由smon进程后台完成的。
· 清理OBJ$表,删除表、索引等的时候,obj$表中相应的条目会有smon清理。
· 合并空闲表空间,字典管理表空间时候用到。
· RAC环境中失败节点的恢复
· 负责原来不可用的文件恢复活动的事务的恢复
3.3)DBWn数据库块写入器
· 负责将被修改过的数据库块写入磁盘
· 负责建立检查点,检查点就是将数据库脏块写会内存。
3.4)LGWR日志写入器。把重做日志从内存写会磁盘,在以下三种情况下会把日志从内存写回磁盘:
· 每3s进行一次回写
· 有客户端提交事务
· 日志文件使用超过1/3或者大小超过1M
从上边分析看,一般配置过大的重做日志文件大小是没太多作用的。
3.5)CKPT检查点进程。此进程并不真正的建立检查点,只是更新数据库块首部。
3.6)ARCn归档进程。负责在重做日志文件被重用之前,把日志写进归档日志文件。
3.7)FBDA闪回数据归档进程。负责将闪回数据进行归档,在事务提交之后立即工作,读取该事务生成的UNDO,并回滚事务做出的修改,然后将回滚的这些行(原来的值)记录在闪回数据归档中。
3.8)其他进程如,RECO分布式数据库恢复、GEN0、DBRM和LCK、LMS、LMD等RAC环境才用到的进程。
3.9)工具后台进程,协助后台进程完成工作的进程。如CJQ0、Jnnn、QMNC、Qnnn、RMAN、MMON、CTWR等
部分进程、文件和内存的不完整协作图:
四、从属进程
协助服务器进程和后台进程完成任务的进程。
4.1)I/O从属进程
为了提高数据、日志写到磁盘的效率,可以用异步写功能,但是有些系统不支持异步写操作,这个时候数据库提供了IO从属进程来模拟异步写入。
4.1)并行执行进程
sql查询(插入?)可以并行的分成多个小任务来执行,并行执行进程就是来完成这个工作的。
分享到:
相关推荐
- 当Redo Log Buffer中的数据达到一定阈值(通常是其大小的三分之一)、数据量达到1MB、经过3秒钟或发生检查点时,LGWR(Log Writer)进程会被触发,将Redo Log Buffer中的数据写入磁盘上的Redo Log文件。 这一系列...
在操作系统中,**进程**是一种能够运行一系列步骤的机制。这一机制的具体实现形式依赖于所使用的操作系统。例如: - 在Linux系统上,一个Oracle后台进程就是一个Linux进程。 - 而在Windows系统中,一个Oracle后台...
日志写入进程(LGWR),又称为Log Writer Process,是Oracle数据库中至关重要的进程之一,主要负责将事务提交后的重做日志(redo log)从内存中的重做日志缓冲区写入到物理重做日志文件中。LGWR的触发时机包括但不...
Oracle实例是用户访问数据库的核心途径,它由系统全局区(SGA)和一系列后台进程组成。在操作系统层面,实例通过ORACLE_SID标识,而在Oracle数据库内部,这与INSTANCE_NAME参数的值匹配。 1. Oracle实例: 每个...
以下将详细阐述如何通过一系列步骤有效地关闭Oracle死锁进程,以及如何释放状态为killed的session。 ### 一、识别死锁进程 #### 查找被锁定的过程 首先,我们需要确定哪些进程正处于死锁状态。这可以通过查询`V$...
Oracle体系结构主要由实例(Instance)、文件(File)和进程(Process)组成,其中不包括后台进程。本篇教程将深入讲解Oracle数据库的这些核心组件。 首先,Oracle实例(Instance)是与数据库紧密关联的内存区域和...
Oracle系列培训教材是一套全面深入学习Oracle数据库系统的资源集合,对于想要掌握或深化Oracle知识的IT专业人士来说,具有很高的参考价值。Oracle是全球最广泛使用的商业数据库管理系统之一,以其高效、稳定和强大的...
"Oracle系列培训教程之五:逻辑结构.doc" 针对Oracle的数据模型,讲解了表空间、段、区和块等逻辑存储单元,以及如何通过创建表、索引和视图来组织数据。此外,还会涉及数据的逻辑操作,如插入、更新和删除。 ...
Oracle数据库系统是由一系列后台进程协同工作来保证数据的稳定性和高效性。这些后台进程是数据库运行的核心组成部分,它们各自承担着特定的任务,确保数据库的正常运行。以下是对这些主要后台进程的详细介绍: 1. *...
实例是Oracle数据库运行的基础,它是由内存区域(System Global Area, SGA)和一系列后台进程组成的。在操作系统中,我们通过ORACLE_SID来标识一个实例,而在Oracle内部,这个标识是通过INSTANCE_NAME参数设定的。...
接着,一系列常驻内存的后台进程会被启动,共同构成了Oracle的进程结构。这些内存区域和后台进程一起构成实例,每个实例只能对应一个数据库,但一个数据库可以对应多个实例,特别是在并行数据库系统中,以实现高可用...
实例启动时,系统会在服务器内存中创建系统全局区(SGA),同时启动一系列后台进程,共同构成了Oracle实例。在非并行系统中,一个数据库对应一个实例;而在并行系统中,一个数据库可能对应多个实例,以实现高可用性...
CRS包含一系列进程和服务,虽然平时不易察觉,但在整个RAC环境中起着至关重要的作用,负责监控、管理和恢复集群资源。 Cluster Verification Utility (CVU)是Oracle提供的一个检查工具,用于在安装RAC前检查系统的...
Oracle数据库是全球广泛使用的大型关系型数据库管理系统之一,其强大的功能和稳定性使其在企业级应用中占据了重要地位。本文将详细解析Oracle数据库的体系结构,帮助读者深入理解其内部工作原理。 Oracle数据库的...
数据库指的是一系列物理文件(数据文件、控制文件、重做日志文件),而实例是由一组操作系统进程和内存结构组成的。实例负责打开和访问数据库文件,提供数据库用户所需的服务。 #### 2. 数据库结构 - **数据文件...
#### 五、Oracle存储结构 Oracle 11g的存储结构主要包括以下几部分: 1. **数据文件**: - 数据文件是数据库中存储数据的物理文件,一个表空间可以由一个或多个数据文件组成。 - 每个数据文件都属于一个特定的表...
而Oracle数据库则是一系列物理文件的集合,包括数据文件、日志文件、控制文件、参数文件等。 Oracle实例主要负责内存管理和后台进程控制。内存管理涉及系统全局区(SGA)的配置,这是一个共享的内存区域,用于存储...
鑫诺通讯技术有限公司的Oracle系列培训旨在帮助员工理解和掌握Oracle的体系架构、开发方法以及相关开发工具的使用。 首先,Oracle的体系架构分为数据库和实例两部分。数据库是实际存储在磁盘上的数据集合,包括数据...
其中,DBWR(Database Writer Process)是负责将脏缓冲区(Dirty Buffer)中的数据写入磁盘的重要进程之一。本文旨在深入解析DBWR进程的功能及其在Oracle数据库内存管理中的作用。 #### 二、DBWR进程概述 DBWR进程...
### Oracle 如何杀掉带锁的进程 在Oracle数据库管理中,经常会出现因某些进程锁定资源而导致其他操作无法正常执行的情况。此时,就需要采取措施来杀掉这些带锁的进程,以确保系统的正常运行。本文将详细介绍如何在...