笔者在学习Oracle之前,特地先去了解了OracleDB的框架。这样对Oracle数据库有一个整
体的认知,有由高屋建领地的作用。磨刀不误砍菜功吧。
Oracle数据库主要由一下5部分组成:
● 物理结构
● 逻辑结构
● 内存分配
● 后台进程
● SCN(System ChangeNumber):系统改变号
下面做一些介绍:
它是由控制文件、数据文件、重做日志文件、参数文件、归档文件、口令文件
组成。
于此我们需要知道的是,一个数据库中的数据是存储在磁盘上的物理文件,被
使用时才被调入内存中的。其中控制文件、数据文件、重做日志文件、跟踪文件、警
告文件属于数据库文件。参数文件、口令文件属于非数据库文件。
存储数据的文件,根据其使用的磁盘空间和数量代表了一个Oracle
数据库的容积。需要了解的是每一种类型的数据放在相应的一个或一系列文件中,并且
这些文件位于不同的磁盘中。
包含维护和验证数据库完整性的必要信息,识别数据文件和日志文件
一个数据库至少需要一个控制文件。对于其内容就不深究了!
认证哪些用户有权限启动和关闭数据库。
跟踪文件用于记录后台进程遇到的重大事件信息
警告日志文件用于同步记录数据库的错误和消息。
用于设定oracle数据库实例的相关功能。
表空间:数据库基本的逻辑结构,是一系列数据文件的集合。
段:是对象在数据库中占用的空间。
区:为数据一次性预留的较大的存储空间
块:Oracle数据库最基本的存储单位,在创建实例的时候指定
SGA:是用于存储数据库信息的内存区,该信息为数据库进程所共享。它包含
Oracle 服务器的数据和控制信息,它是在Oracle服务器所驻留的计算机的
实际内存中得以分配,如果实际内存不够再往虚拟内存中写。
PGA:包含单个服务器进程或单个后台进程的数据和控制信息,与几个进程共享
的SGA 正相反,PGA 是只被一个进程使用的区域,PGA 在创建进程时分配,
在终止进程时回收.
包括数据写进程(Database Writer,DBWR)、日志写进程(Log Writer,LGWR)、系统监控
(System Monitor,SMON)、进程监控(Process Monitor,PMON)、检查点进程(Checkpoint
Process,CKPT)、 归档进程、服务进程、用户进程)
数据写进程:负责将更改的数据从数据库缓冲区高速缓存写入数据文件
日志写进程:将重做日志缓冲区中的更改写入在线重做日志文件
系统监控:检查数据库的一致性如有必要还会在数据库打开时启动数据库的恢复
进程监控:负责在一个Oracle 进程失败时清理资源
检查点进程:负责在每当缓冲区高速缓存中的更改永久地记录在数据库中时,更新控制
文件和数据文件中的数据库状态信息。该进程在检查点出现时,对全部数据文
件的 标题进行修改,指示该检查点。在通常的情况下,该任务由LGWR执行。
然而如果检查点明显地降低系统性能时,可使CKPT进程运行,将原来由LGWR
进程 执行的检查点的工作分离出来,由CKPT进程实现。对于许多应用情况,
CKPT进程是不必要的。只有当数据库有许多数据文件,LGWR在检查点时明显
地降低性能才使CKPT运行。CKPT进程不将块写入磁盘,该工作是由DBWR
完成的。init.ora文件中 CHECKPOINT_PROCESS 参数控制CKPT进程的使能或
使不能。缺省时为FALSE,即为使不能。
归档进程:在每次日志切换时把已满的日志组进行备份或归档
服务进程:用户进程服务。
用户进程:在客户端,负责将用户的SQL语句传递给服务进程,并从服务器段拿回查询
数据。
系统改变号,一个由系统内部维护的序列号。当系统需要更新的时候自动增加,
他是系统中维持数据的一致性和顺序恢复的重要标志。