本帖最后由 89193_罗旭辉 于 2023-12-19 21:59 编辑
一.Oracle数据库体系结构 1.实例:一组用于管理数据库文件的内存结构,实例对应着数据库;RAC/CDB
CDB:CDB为数据库容器,PDB插拔数据库。在ORACLE 12C之前,实例与数据库是一对一或多对一关系(RAC),即一个实例只能与一个数据库相关联,数据库可以被多个实例所加载。而实例与数据库不可能是一对多的关系。当进入ORACLE 12C后,实例与数据库可以是一对多的关系。
RAC:允许多个Oracle数据库实例在多台服务器上共享同一个数据库存储空间,并通过集群来保证高可用性和容错性。简单来说,RAC就是将多个数据库实例连接起来,形成一个“集群”。 2.ShardingSphere:中间件,不同的数据库对应不同的实例,中间有一个中间件,使用者连接中间件;数据库中间件可以简化对读写分离以及分库分表的操作,并隐藏底层实现细节,可以像操作单库单表那样操作多库多表。 常见的中间件有MyCat,Mysql-Proxy,DRDS,Atlas,Zebra
二.Orcal数据库体系结构:Orcal服务器=数据库+实例 1.实例是暂时的,它只不过是一组逻辑划分的内存结构和进程结构,它会随着数据的关闭而消失 数据库它就是一堆物理文件(控制文件、数据文件、日志文件等等)它呢是永久存在的 数据库和实例是一对一的,这种结构我们一般称为单实例体系结构;既然有一对一,那就会有一对多,在复杂的分布式结构中,一个数据库可以对多个实例,多个实例之间可以通过网络来进行数据的一个交互或着交换 2.PGA:程序全局区,为单独的服务器进程存储私有数据的内存区域(SAG属于公共资源,PAG是私有的) 3.SGA:系统全局区,所有用户都可以访问的共享内存区域启动Oracle数据库时,系统先在内存内规划一个固定区域,用来储存用户需要的数据,以及Oracle运行时必备的系统信息 4.后台进程结构,此处只罗列必须启动的5个后台进程 系统监控器SMON:负载检查数据库一致性,有必要会在数据库打开时启动数据库恢复 进程监视器PMON:负责一个Orcal数据库进程失败时清理资源,会定期唤醒或者被其他主动事务主动唤醒 数据库写进程DBWR:负责将更改的数据从“数据库高速缓冲区”写入“数据文件” 日志写进程LGWR:负载把日志数据写到练级日志文件 检查点进程SKPT:负责检查点操作,主要检查数据库状态一致性和记录系统变更时间 5.三个文件 1)控制文件:存储数据库结构,一个控制文件只属于一个数据库,包含数据文件日志文件信息及相关状态归档信息, 2)数据文件:存储数据,xxx.dbf文件存储着系统数据,数据字典数据,索引数据及用户存储的数据 3)日志文件:存储与事务有关的重做日志
三.逻辑存储结构 1.块是Oracle用来管理存储的最小单元,也是最小的逻辑存储结构 2.区是Oracle数据库分配空间的最小单位 3.段由多个区组成,这些区可以是连续的,也可以是不连续的 4.表空间是Oracle数据库的最大逻辑划分区域,通常用来存放数据表、索引、回滚段等数据对象 |