目录
一、Oracle体系结构概述
Oracle数据库系统通常由实例(INSTANCE) 和数据库(DATABASE) 组成。
- 实例: 一组Oracle后台进程/线程以及在服务器分配的共享内存区。
- 数据库: 一系列物理文件(数据文件,控制文件,联机日志文件,参数文件等)的集合。
- 两者关系: 数据库可以由多个实例装载和打开,而实例可以在任何时候装载和打开一个数据库。也就是说,一个实例在其生存期最多只能装载和打开一个数据库。
二、逻辑存储结构
Oracle的逻辑存储单元从小到大依次为:数据块(DataBlocks),盘区(Extent),段(Segments)和表空间(TableSpace)。多个表空间组成了Oracle数据库。
- 数据块: Oracle管理存储空间的最小单元,也是执行数据库输入输出操作的最小单位。
- 盘区: Oracle存储分配的最小单位。
- 段: 独立的逻辑存储结构。
- 表空间: 最大的逻辑存储结构,在数据库中建立的所有内容都被存储在表空间。
三、物理存储结构
查看数据文件:
一个数据文件只能属于唯一的一个表空间。数据文件包含操作系统文件。
查看控制文件:
控制文件中的主要信息包括:数据库的名字、检查点信息、数据库创建的时间戳、所有的数据文件、重做日志文件信息和备份信息等。
查看日志文件:要先查看动态视图中日志文件的名称
注:
v$为动态视图
数据文件后缀:.dbf
控制文件后缀:.ctf
日志文件后缀:.log
敲重点: Oracle利用重做日志文件记录对数据库进行的修改。
四、实例的内存结构
五、实例的进程结构
- 用户进程:连接和会话。
- 服务器进程:代表用户会话完成工作的进程,应用向数据库发送的SQL语句由该进程接受并执行。
- 后台进程:保证数据库运行。
注:DBWR(数据写进程)的主要任务是将“弄脏”的缓存块的数据写入磁盘,使缓冲区保持干净。
六、数据字典
静态:
- user_:查看当前用户所拥有对象。
- all_:查看当前用户以及它所拥有的其他用户对象。
- dba_:查看所有数据库对象。
动态: - v$。