oracle数据库 oracle数据库应用结构包括?
oracle数据库应用结构包括?
Oracle数据库的体系结构包括四个方面:数据库的物理结构、逻辑结构、内存结构和进程。
1.物理结构
物理数据库结构由组成数据库的操作系统文件决定。Oracle数据库文件包括:
数据文件(数据文件)
数据文件用于存储数据库中的所有数据,例如数据库表中的数据和索引数据。通常是在*。dbf格式,例如,userCIMS.dbf
日志文件(重做日志文件)
日志用于记录数据库所做的所有更改(如添加、删除和修改),以便在系统出现故障时可以用来恢复数据库。该名称通常在Log*中。dbf格式,如log 1 IMS . DBF、log 2 IMS . DBF
控制文件(控制文件)
每个Oracle数据库都有相应的控制文件,这些文件是小型的二进制文件,用于记录数据库的物理结构,如数据库名称、数据库的数据文件和日志文件的名称和位置。用于打开和访问数据库。该名称通常采用Ctrl*ctl格式,如Ctrl1CIMS.ctl.
配置文件
配置文件记录了Oracle数据库运行时的一些重要参数,如数据块的大小、内存结构的配置等。该名称通常在init*中。ora格式,如initCIMS.ora
2逻辑结构
Oracle数据库的逻辑结构描述了数据库如何以逻辑方式存储数据库中的数据。该结构包括表空间、段、区、数据块和模式对象。数据库的逻辑结构将控制数据库如何使用系统的物理空间。模式对象及其关系描述了关系数据库的设计。
从逻辑上讲,数据库由一个或多个表空间组成,表空间是数据库中物理分组的数据仓库。每个表空间由段组成,段由一组盘区组成,区域由一组连续的数据库块组成,一个数据库块对应硬盘上的一个或多个物理块。表空间存储一个或多个数据库的物理文件(即数据文件)。数据库中的数据逻辑上存储在表空间中。
表(表空间)
Oracle数据库分为一个或多个逻辑结构,称为表空间,包括两种类型的表空间,系统表空间和非系统表空间。其中,系统表空间是在数据库安装时自动建立的,它包含数据库的所有数据字典、存储过程、包、函数和触发器的定义以及系统回滚段。此外,它还可以包含用户数据。
一个表空间包含许多段,每个段由一些不连续的区域组成,每个区域由一组连续的数据块组成,这些数据块是数据库操作的最小单位。
每个表空间对应一个或多个数据文件,每个数据文件只能属于一个表空间。
数据库块(数据库块)
数据库块也称为逻辑块或ORACLE块,对应于磁盘上的一个或多个物理块。其大小由初始化参数db-block-size(在init.ora文件中)决定,典型大小为2k。Pckfree和pctused这两个参数用于优化数据块空间的使用。
范围(范围)
区域是数据库存储空间分配的逻辑单位,由一组连续的数据块组成。
分段(线段)
段是一个或多个不连续区域的集合,包括表空间定逻辑结构的所有数据。段不能跨表空间存储。Oracle数据库包括数据段、索引段、临时段、回退段等。
模式对象(模式对象)
Oracle数据库的模式对象包括表、视图、序列、同意字、索引、触发器、存储、过程等。它们将在下面的章节中介绍。
3.Oracle服务器系统进程和内存结构
当Oracle数据库在计算机服务器上启动时,我们称之为在服务器上启动了一个Oracle实例。ORACLE实例是一种访问和控制数据库的软件机制,包括系统全局区(SGA)和ORACLE进程。SGA是系统为实例分配的一组共享内存缓冲区,用于存储数据库实例和控制信息,以便管理和操作数据库中的数据。
进程是操作系统中一个极其重要的概念。进程执行一组操作来完成特定的任务。对于ORACLE数据库管理系统,进程由用户进程、服务器进程和后台进程组成。
当用户运行一个应用程序时,系统为它建立一个用户进程。服务器处理连接的用户进程的请求,与用户进程通信,并为连接的用户进程的ORACLE请求提供服务。
为了提高系统性能,更好地实现多用户功能,ORACLE还在系统后台启动一些后台进程,进行数据库数据操作。
系统后台流程主要包括:
SMON系统监视进程:(系统监视器)负责自动实例恢复和排序表空间回收。
PMON进程监控进程:(进程监控器)实现用户进程的故障恢复,清理内存区,释放进程所需的资源。
DBWR数据库写进程:数据库缓冲区的管理进程。
在其治理下,数据库缓冲区中总是保持一定数量的空闲缓冲块,以保证用户进程总能找到空闲缓冲块供其使用。
LGWR日志文件写入过程:是日志缓冲区的治理过程,负责将日志缓冲区中的日志条目写入磁盘中的日志文件。每个实例只有一个LGWR进程。
ARCH进程:(归档进程)将填充的在线日志文件复制到指定的存储设备。只有当日志文件组开关出现时,才执行ARCH操作。ARCH不是必需的,但只有在自动归档可用或发出手动归档请求时才会发出。
RECO恢复流程:分布式选项可用时使用的流程,主要用于解决引用分布式事务时出现的故障。它只能出现在允许分布式事务的系统中。
LCKn阻塞进程:用于并行服务器系统,主要是阻塞实例。
记忆(SGA)
SGA是Oracle为实例分配的一组共享内存缓冲区,包含实例的数据和控制信息。SGA在实例启动时自动分配,在实例关闭时收回。数据库的所有数据操作都应通过SGA进行。
根据存储信息的不同,SGA中的内存可以分为以下几个区域:缓冲区缓存:用来存储数据库中数据库块的副本。它由一组缓冲块组成,这些缓冲块由链接到该实例的所有用户进程共享。缓冲块的数量由初始化参数DB_BLOCK_BUFFERS确定,缓冲块的大小由初始化参数DB_BLOCK_SIZE确定。大数据块可以提高查询速度。它由DBWR运营。
B.日志缓冲区重做日志缓冲区:存储数据操作的变化信息。它们以重做条目的形式存储在日志缓冲区中。当需要数据库恢复时,日志条目用于重建或回滚对数据库所做的更改。日志缓冲区的大小由初始化参数LOG_BUFFER决定。大型日志缓冲区可以减少日志文件的I/O数量。后台进程LGWR将日志缓冲区中的信息写入磁盘的日志文件中,并可以启动ARCH后台进程对日志信息进行归档。
C.共享池:包含用于处理的SQL语句信息。它包含共享SQL区和数据字典存储区。共享SQL区域包含用于执行特定SQL语句的信息。数据字典区用于存储数据字典,由所有用户进程共享。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。