文章目录1. 什么是 Oracle 数据库1.1 数据文件 (.DBF)1.2 控制文件 (.CTL)1.3 日志文件 (.LOG)2. 什么是 Oracle 实例 (Instance)3. Oracle 实例与数据库的关系 核心架构图解4. Oracle 版本说明1. 什么是 Oracle 数据库所有的关系型数据库存储数据的集合就是磁盘中的文件。Oracle 数据库其实就是一组文件的集合。Oracle 数据库主要由以下三种核心二进制文件构成数据文件 (.dbf)控制文件 (.ctl)日志文件 (.log)通俗理解你可以把 Oracle 数据库想象成一个**“档案柜”**。这个柜子不是魔法它本质上就是硬盘上的一堆文件。如果把这些文件拷贝走数据库就被“拷贝”了如果文件删了数据库就没了。1.1 数据文件 (.DBF)定义用于保存用户应用程序数据和 Oracle 系统内部数据的二进制文件。性质在操作系统中就是普通的文件。创建时机Oracle 在创建表空间的同时会创建数据文件。批注存什么你建的表、插入的数据比如员工信息、订单记录最终都是变成二进制代码存在这个文件里的。它是数据库的**“实体”相当于车的后备箱**真正装货物的地方。谁来管它数据文件本身是“死”的必须靠“实例”活的程序进程来控制。实例里的后台进程负责把内存中的数据读写到这个 .dbf 文件中。1.2 控制文件 (.CTL)定义记录数据库的名称、数据库的数据文件和日志文件存放位置等信息的二进制文件。归属一个控制文件只能属于一个数据库。重要性如果控制文件丢失数据库就无法启动和操作。批注控制文件 vs 实例区别到底是什么核心考点很多人容易把这两个概念搞混记住这个**“开车”**的比喻控制文件 (.ctl)静态的“地图/目录”。它是躺在硬盘上的一个小文件。它的作用是告诉 Oracle“你的数据文件在 D 盘日志文件在 E 盘”。断电后它依然存在。实例 (Instance)动态的“司机/程序”。它是运行在内存里的进程。只有司机坐进车里车才能跑。断电后它就消失了。关系司机实例启动时必须先翻开地图读取控制文件才知道去哪找数据文件.dbf干活。没有地图司机就瞎了数据库也就无法启动。1.3 日志文件 (.LOG)日志文件在 Oracle 数据库中主要分为两种重做日志 (Redo Log File)归档日志文件 (Archive Log File)重做日志是 Oracle 数据库正常运行不可缺少的文件。主要记录了数据库的所有操作过程。批注什么是重做日志 (Redo Log)作用它是数据库的**“黑匣子”或“行车记录仪”**。为什么需要它用于备份和还原恢复数据。假设你正在修改数据突然停电了。如果没有日志数据就乱了或丢了。原理Oracle 在你修改数据时会先把“我要怎么改”这个动作记在重做日志里然后再去改数据文件。如果数据库崩溃了重启时它会看日志“哦刚才的操作还没写完”然后根据日志把数据重做恢复回来保证数据不丢失。2. 什么是 Oracle 实例 (Instance)定义实例就是数据库启动后分配的内存和建立的后台进程。通俗理解实例可以理解为是一个正在运行的程序或程序进程比如 Windows 下的oracle.exe。生命周期数据库关闭后物理上的文件.dbf, .ctl, .log依然躺在硬盘上完好无损。实例消失但实例分配的内存被释放后台进程结束实例就不存在了。核心概念辨析重点数据库 (Database)静态的文件乐谱。哪怕电脑关机它也在。实例 (Instance)动态的运行环境演奏乐队。只有当你输入命令startup启动时实例才诞生输入shutdown实例就解散了。3. Oracle 实例与数据库的关系 核心架构图解实例是一组操作系统进程以及一些内存。这些进程负责操作数据库文件。数据库只是一个文件集合包括数据文件、临时文件、重做日志文件和控制文件。对应关系在任何时刻一个实例只能有一组相关的文件与一个数据库关联。大多数情况下反过来也成立一个数据库上只有一个实例对其进行操作。架构关系图下图展示了“动态的实例”是如何依赖和操控“静态的文件”的 Oracle 数据库 Database - 静态的/死的Oracle 实例 Instance - 动态的/活的1. 启动时读取获取文件位置2. 运行时读写存取实际业务数据3. 操作时记录写入重做日志防丢失内存 Memory后台进程 Processes相当于司机控制文件 .ctl️ 地图/目录数据文件 .dbf 实体/后备箱日志文件 .log 黑匣子/行车记录仪图解说明启动阶段后台进程司机首先读取控制文件地图找到其他文件的位置。运行阶段后台进程读写数据文件后备箱来处理你的业务数据。安全阶段后台进程同时往日志文件行车记录仪里写记录确保断电不丢数据。4. Oracle 版本说明Oracle 的版本号后缀代表了当时的技术潮流版本后缀含义解释Oracle 8i / 9ii Internet开启并强化对互联网 (Internet)的支持。Oracle 10g / 11gg Grid加入了网格计算 (Grid Computing)的功能多台电脑连成网一起算。Oracle 12c / 19cc Cloud表示对云计算 (Cloud)的全面支持。记忆口诀i时代上网冲浪 (Internet)g时代网格计算 (Grid)c时代上云 (Cloud)