一、Oracle体系结构概述

Oracle数据库系统通常由实例(INSTANCE) 和数据库(DATABASE) 组成。
- 实例: 一组Oracle后台进程/线程以及在服务器分配的共享内存区。
- 数据库: 一系列物理文件(数据文件,控制文件,联机日志文件,参数文件等)的集合。
- 两者关系: 数据库可以由多个实例装载和打开,而实例可以在任何时候装载和打开一个数据库。也就是说,一个实例在其生存期最多只能装载和打开一个数据库。
二、逻辑存储结构

Oracle的逻辑存储单元从小到大依次为:数据块(DataBlocks),盘区(Extent),段(Segments)和表空间(TableSpace)。多个表空间组成了Oracle数据库。
- 数据块: Oracle管理存储空间的最小单元,也是执行数据库输入输出操作的最小单位。
- 盘区: Oracle存储分配的最小单位。
- 段: 独立的逻辑存储结构。
- 表空间: 最大的逻辑存储结构,在数据库中建立的所有内容都被存储在表空间。
三、物理存储结构

查看数据文件:

一个数据文件只能属于唯一的一个表空间。数据文件包含操作系统文件。
查看控制文件:

控制文件中的主要信息包括:数据库的名字、检查点信息、数据库创建的时间戳、所有的数据文件、重做日志文件信息和备份信息等。
查看日志文件:要先查看动态视图中日志文件的名称

注:
v$为动态视图
数据文件后缀:.dbf
控制文件后缀:.ctf
日志文件后缀:.log
敲重点: Oracle利用重做日志文件记录对数据库进行的修改。
四、实例的内存结构

五、实例的进程结构

- 用户进程:连接和会话。
- 服务器进程:代表用户会话完成工作的进程,应用向数据库发送的SQL语句由该进程接受并执行。
- 后台进程:保证数据库运行。
注:DBWR(数据写进程)的主要任务是将“弄脏”的缓存块的数据写入磁盘,使缓冲区保持干净。
六、数据字典
静态:
- user_:查看当前用户所拥有对象。
- all_:查看当前用户以及它所拥有的其他用户对象。
- dba_:查看所有数据库对象。
动态: - v$。
本文深入解析Oracle数据库的体系结构,涵盖实例与数据库的关系、逻辑与物理存储结构、实例的内存与进程结构及数据字典等内容,是理解Oracle数据库工作原理的必备指南。
373

被折叠的 条评论
为什么被折叠?



