Oracle 体系结构详解

本文详细介绍了Oracle数据库的体系结构,包括实例、数据库的概念及其相互关系。重点讲解了SGA的组成部分,如库缓存、数据字典缓冲区、数据库缓冲区和重做日志缓冲区,以及后台进程如DBWR、LGWR、CKPT等的作用和工作原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

到目前为止,接触Oracle已经将近2年了,但是总也没有好好的总结过这些东西,今天闲下来了,从头到尾捋一捋,写一写,如果能真正写下来,那么这个印象可就更加深刻了。。。

学习一门技能,你首先应该搞清楚它的架构,了解到它的架构,懂得它的组成、工作过程、原理,你学习起来才能更简单些。如下图所示就是Oracle体系架构

学习Oracle数据库,你首先应该清楚它的两个比较重要的概念:

  1. 实例(Instance):是由内存结构和后台进程组成的,每次实例启动时,会分配一个称为SGA(System Global Area)的共享内存区域,启动后台进程。
  2. 数据库:数据库是由物理结构和逻辑结构构成。物理结构是:比较实际的东西,看得见的,如:数据文件、控制文件、日志文件、参数文件和归档日志文件等,逻辑结构是:描述Oracle内部组织和管理数据的方式,说起来可能你感觉你比较抽象,哈哈哈,但是你映射到表空间、数据段、数据区、数据块等,差不多就能理解了~

实例和数据库,这两个是如何相辅相成的呢?

实例是用来管理和控制数据库的,而数据库是用来存储数据的,这些数据就是为实例准备的,一个数据库可以被一个或多个实例打开,但是一个实例的运行时期只能打开一个数据库。我们常见的单机数据库,就是一个实例对应一个数据库,而高性能RAC,就是多个实例,一个库,还有容灾环境DG,是多个数据库,多个实例。

下面咱们详解上图SGA的各个组件:

  1. 系统全局区(SGA):SGA是一组为系统分配的共享的内存结构,可以包含一个数据库实例的数据或控制信息。如果多个用户连接到同一个数据库实例,在实例的SGA中,数据可以被多个用户共享,当数据库实例启动时,SGA的内存被自动分配;当数据库实例关闭时,SGA内存被回收。SGA是占用内
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值