Oracle数据库系统结构二(实例结构)

一.概述

Oracle实例的构成:

 Oracle数据库实例(Oracle Instance)主要包括Oracle进程结构和Oracle内存结构两种。

二.ORACLE的内存结构

内存结构是Oracle数据库系统结构中最为重要的一部分,内存也是影响数据库性能的第一因素。
按照对内存的使用方法的不同,Oracle数据库的内存可以分为:
系统全局区SGA(System Global Area)
程序全局区PGA(Program Global Area)

1.系统全局区SGA(System Global Area)

系统全局区SGA是一组为系统分配的共享内存结构,可以包含一个数据库实例的数据或控制信息。SGA可为多用户所共享。SGA 是在数据库实例启动时被自动分配的,在实例关闭时,SGA被回收
SGA主要包含:
数据缓冲区
日志缓冲区
共享池

 (1)数据缓冲区     

数据高速缓冲区存储的是最近从数据文件中检索出来的数据,供所有用户共享。当用户操作数据库中的数据时,先由服务器进程将数据从磁盘的数据文件读取到高速缓冲区,然后在缓冲区处理,结果被存储到数据缓冲区中,最后由数据写入进程DBWR写到硬盘的数据文件中永久保留。

(2)日志缓冲区 

用于存储数据库的修改信息,当日志缓冲区中的信息到达一定数量时,由LGWR进程将其写入重做日志文件。

 (3)共享池 

用于缓存SQL语句、数据字典、资源锁等相关数据。

 (4)大池

大池是数据库管理员可配置的可选内存空间。在数据库备份/恢复、执行大量排序语句、并行执行数据库操作时需要大的缓存空间时,可设置使用它。如没有在SGA区建立大池,操作所需的缓存空间将在共享池或PGA中分配。

(5) Java池

可选内存配置项,为Java语言提供语法分析区

(6)流池

可选内存配置项,为流数据提供支持。

2.程序全局区PGA

PGA是ORACLE为用户分配的内存区域,保存当前用户私有的数据和控制信息。是用户在与数据库会话时,ORACLE自动分配的,会话结束后将自动释放。PGA是非共享区,每个服务进程都有自己的PGA区。主要由排序区(Sort Area)、会话信息(Session Information)、游标状态(Cursor State)以及堆栈空间(Stack Space)等组成。

(1)排序区

排序区用于存放SQL排序时所产生的临时数据,它是影响PGA尺寸的主要因素。ORACLE中有两个排序区,一个是内存排序区,另一个是磁盘中的临时段,在内存够用时,优先使用内存排序区。

(2)会话信息

用户会话所具有的权限、角色及会话的性能统计信息等都存放在PGA中。

(3)游标状态

用于存放执行游标操作时所产生的数据。

(4)堆栈空间

用于存放会话中的变量信息,如在语句中使用的变量。

三.ORACLE的进程结构

进程 是操作系统中一个独立的可以调动的活动,用于完成指定的任务。

1.进程类型:

1) 用户进程(User Process) 

当用户连接数据库执行应用程序时,创建1个用户进程。

2) 服务器进程(Server Proces)

由Oracle自身创建,用于处理连接到数据库实例的用户进程所提出的请求。主要完成任务:解析并执行用户提交的SQL语句和PL/SQL程序;在SGA区搜索用户要访问的数据,如不存在,则由磁盘数据文件读入缓存;将用户对数据库的更改信息写入日志缓冲区;将查询或执行后的结果返回给用户进程。

3) 后台进程(Background Process)   

服务器进程在执行用户进程请求时,会调用后台进程来实现对数据库的操作。

2.Oracle的后台进程类型

(1)DBWR进程-数据写入进程

功能
DBWR进程将数据缓冲区中的脏数据块写入磁盘,使用户进程得到更多的空闲缓冲区。
算法
采用LRU(最近最少使用算法),淘汰最近最少使用的数据块

(2)LGWR进程-日志写入进程

功能
LGWR进程负责将重做日志缓冲区中的日志记录写入磁盘日志文件组.
LGWR执行日志切换时,会生成一个检查点。

(3)CKPT进程-检查点进程

检查点
     检查点是一个事件,当其发生时,DBWR进程把数据缓存中的脏数据快写入数据文件,同时系统对控制文件和数据文件的同步序号进行更新,以记录下当前的数据库结构和状态,保证数据的同步。功能
CKPT进程负责执行检查点并更新控制文件,启用DBWR进程将脏数据缓存块中的数据写入数据文件.

 (4) ARCH进程-归档进程功能

ARWR进程只在数据库运行在归档模式下时才会启动,即在发生日志切换时,则启动该进程将已写满的日志文件复制到指定的存储设备中,以避免被新日志文件覆盖。一个数据库实例可启动多个归档进程。

(5)SMON进程-系统监控进程

功能
SMON进程负责在实例启动时对数据库进行恢复操作(主要用于非正常关闭数据库); 负责回收临时表空间或临时段中不再使用的存储空间;合并各表空间的空闲空间碎片。
SMON在实例启动时被执行;实例运行期间会被定期唤醒。

(6)PMON进程-进程监控进程

功能
PMON进程负责在用户进程出现故障时执行恢复;负责清理非正常中断的用户进程的会话,回退未提交的事务,并释放该进程使用的系统资源(占用的锁、SGA、PGA等资源);负责周期性检查调度程序和服务进程的状态,若失败,则尝试重新启动它们,并释放其所占资源.

(7) Dnnn进程-调度进程

功能
在共享服务器模式下调度进程可为任意数量的用户进程提供服务.
服务器的两种操作模式:专用服务器模式

 共享服务器模式

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Oracle数据库体系结构是指Oracle数据库软件的组织结构和架构。它由多个组件组成,这些组件共同工作以提供高性能、可靠性和可伸缩性的数据库服务。 Oracle数据库体系结构包括以下几个重要组件: 1. 物理存储结构:包括数据文件、控制文件和日志文件。数据文件用于存储实际的用户数据,控制文件记录数据库结构和状态信息,日志文件用于记录数据库操作的过程。 2. 数据库实例数据库实例Oracle数据库软件的运行环境,它包括SGA(System Global Area)、后台进程和服务进程。SGA是用于缓存数据和SQL语句的内存区域,后台进程负责管理数据库的各种操作,服务进程用于处理来自客户端的请求。 3. 用户进程:用户进程是客户端应用程序与数据库之间的通信通道,它负责将用户请求传递到数据库实例,并返回查询结果。 4. Oracle实例进程:Oracle实例进程是负责管理和维护数据库实例的进程,它包括后台进程和服务进程。后台进程负责管理数据库的内部操作,如数据库恢复和故障检测,服务进程用于处理来自用户进程的请求。 5. 分布式数据库Oracle数据库支持分布式数据库,在多个数据库之间实现数据共享和同步。分布式数据库可以提供更高的可用性和可伸缩性。 通过这些组件的相互配合工作,Oracle数据库能够提供高效、可靠的数据存储和管理服务。它具有很强的可扩展性和可定制性,可以根据需求进行配置和优化,以满足不同应用场景的要求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值