Oracle学习笔记第十天

Oracle学习笔记第十天

Oracle的体系结构

概念:
​ 系统的体系架构指系统的组成部分,以及这些组成部分之间的关系。
​ Oracle的体系架构,是指Oracle数据库管理系统的组成部分和这些组成部分之间的相互关系,包括内存结构、后台进程、物理与逻辑结构等。

Oracle体系结构

Oracle由两大部分组成 = 实例+数据库

关系:实例就是程序,数据库是文件,程序读写并管理文件。

实例组成= 分配的内存+后台进程= SGA+PGA +后台进程。

Oracle体系结构01

实例:位与内存

Oracle体系结构02

后台进程应该是在CPU上,它所需要的数据应该在内存里。

数据库:位与硬盘上

Oracle体系结构03

Oracle的数据库的物理文件可以在硬盘上找到,在Oracle的安装目录下的oradata的文件夹–> orcl文件夹,在这个文件里。

CTL 结尾的是控制文件,DBF结尾的是数据文件,LOG结尾的是日志文件。其他文件需要进行某些配置才能出来,至于怎样的配置,没研究…

注意:里面的文件不要打开。

打开后你会发现文件内容看不懂,因为那个是一个二进制文件,需要用Oracle的专门解码器才能转换,一旦你打开了,对文件产生了修改,哪怕是加一个空格然后删掉那个空格,都是修改,那恭喜你,你的Oracle数据库可能被KO了。可能就启动不起来了。

Oracle体系结构-控制文件

Oracle的二进制控制文件本地打开后显示的内容

详解

物理结构:

物理组件包括:数据文件、控制文件、日志文件和其他文件(比如参数文件、口令文件、密码文件)

  1. 数据文件:

    用于存储数据库数据,如表、索引数据等。

  2. 日志文件:

    记录对数据库的所有修改信息,用于故障恢复。

  3. 控制文件:

    记录数据库物理结构的二进制文件。

逻辑结构:

概念:指Oracle的“逻辑上”是用什么对象进行存储的

  1. 数据块:
  • 数据块是Oracle服务器所能分配、读取或写入的最小存储单元。

  • Oracle服务器以数据块为单位管理数据文件的存储空间。

    数据块是Oracle数据库的最小单元,数据块最小的设置为8192bytes,即8kb,如果存储的数据小于8kb,读取这一批数据时,读取的大小不是数据的大小,而是数据块的大小,即8kb。

  1. 区:
  • 区为段分配空间,它由连续的数据块组成。

  • 当段中的所有空间已完全使用时,系统自动为该段分配一个新区。

    注意:第二点,每使用完一批连续的数据块,即一个区,系统不是会再分配一个数据块,而是一个新的区。

  1. 段:
  • 段是构成表空间的逻辑存储结构,段由一组区组成。

  • 按照段所存储数据的特征,将段分为即数据段、索引段、回退段和临时段。

    段是比区大一级的范围。

  1. 表空间:
  • 表空间是数据库中最大的逻辑单位,每个表空间是由一个或多个数据文件组成的,一个数据文件只能与一个表空间相关联。
  • 表空间的大小等于构成该表空间的所有数据文件大小之和。
  1. 模式:
  • 英文Schema,模式是对用户所创建的数据库对象的总称。

  • 模式对象包括表、视图、索引、同义词、序列、过程和程序包等。

  • 与用户的关系:模式名称就是控制该模式的用户名称。

    通俗简单的理解:就是一个用户。

Oracle体系结构-逻辑架构

SGA(系统全局区)

SGA保存了数据库环境和字典信息,由多个数据库进程共享

SGA包含:日志缓冲区、共享池、数据缓冲区。

SGA最大的作用:就是提升Oracle的各方面的性能。

缓存区:就是起缓冲作用的某个内存区域

  1. 共享池:
  • 共享池是对SQL、PL/SQL程序进行语法分析、编译、执行的内存区域
  • 共享池由库缓存和数据字典缓存组成。
  • 共享池的大小直接影响数据库的性能。
  • 保存了对SQL分析结果,减少了分析相同SQL的时间,提高SQL执行效率。
  1. 数据缓冲区
  • 用于存储从磁盘数据文件中读入的数据,所有用户共享。
  • 服务器进程将读入的数据保存在数据缓冲区中,当后续的请求需要这些数据时可以在内存中找到,不需要再从磁盘读取,提高了读取速度。
  • 数据缓冲区的大小对数据库的读取速度有直接的影响。
  • 已读取常见表格的数据,减少了对磁盘的操作,提高了数据库性能。
  1. 日志缓冲区
  • 日志记录数据库的所有修改信息,日志信息首先产生于日志缓冲区。
  • 当日志缓冲区的日志数据达到一定数量时,由后台进程将日志数据写入日志文件中。
  • 相对来说,日志缓冲区对数据库的性能影响较小。
  • 减少了保存日志时对磁盘的操作,提高了数据库性能。

PGA(程序全局区)

这玩意没有多余的介绍。

与SGA的区别:PGA是私有的,SGA公共的。

后台进程

Oracle体系结构-后台进程

  1. PMON 进程监控进程
  • 清理出现故障的进程。
  • 释放所有当前挂起的锁定。
  • 释放故障进程使用的资源。
  1. SMON 系统监控进程
  • 在实例失败之后,重新打开数据库时自动恢复实例。
  • 整理数据文件的自由空间,将相邻区域结合起来。
  • 释放不再使用的临时段。
  1. DBWR 数据写入进程
  • 管理数据缓冲区,将最近使用过的块保留在内存中。
  • 将修改后的缓冲区数据写入数据文件中。
  1. LGWR 日志写入进程
  • 负责将日志缓冲区中的日志数据写入日志文件。
  • 系统有多个日志文件,该进程以循环的方式将数据写入文件。

猜你喜欢

转载自blog.csdn.net/xxydzyr/article/details/85220948