02 入门概念
Oracle数据库
所有的关系型数据库存储数据的集合就是磁盘中的文件。Oracle数据库其实就是一组文件的集合。Oracle数据库分别由:数据文件、控制文件、日志文件组成。
数据文件(.DBF)
数据库的 “数据仓库”,专门存储表、索引等实际业务数据,是数据库中占用空间最大的文件。每个数据文件对应一个或多个表空间,数据只能写入数据文件,且文件大小可配置自动扩展。
控制文件(.CTL)
数据库的 “导航地图”,记录数据库的关键结构信息,包括数据文件、日志文件的名称、路径、状态,以及数据库名称、检查点信息等。数据库启动时必须首先读取控制文件,否则无法定位数据文件和日志文件。
日志文件(.LOG)
数据库的 “操作账本”,记录所有对数据的修改操作(插入、更新、删除等)。日志文件分为重做日志REDO log和归档日志文件两种。
| 维度 | 数据文件 | 控制文件 | 日志文件 |
|---|---|---|---|
| 核心作用 | 存储实际业务数据 | 记录数据库结构元数据 | 记录数据修改操作 |
| 读写频率 | 读写频繁,随业务操作变化 | 启动 / 结构变更时读取,结构变更时写入 | 实时写入,频率极高 |
| 数量与分组 | 多个,对应表空间 | 多个(建议冗余备份),无分组 | 多组多成员,每组循环使用 |
| 缺失影响 | 对应表空间数据丢失 | 数据库无法启动 | 可能导致数据恢复失败 |
实例的概念
Oracle 实例是数据库启动时在内存中创建的进程和内存结构集合。实例的作用是为数据库提供访问接口,所有对数据库文件的操作(读 / 写)都必须通过实例完成,无法直接操作磁盘文件。
实例和数据库的关系
1. 本质区别
- 实例:内存中的逻辑结构,是 “动态运行的程序集合”,随启动 / 关闭而创建 / 消失。
- 数据库:磁盘上的物理文件集合,是 “静态存储的数据载体”,独立于实例存在(实例关闭后文件仍在磁盘上)。
2. 关联规则
- 单实例环境(最常见):一个实例对应一个数据库,实例启动时会加载并挂载对应的数据库文件,二者一一绑定。
- RAC 集群环境:多个实例可对应同一个数据库,多个实例共享磁盘上的数据库文件,实现负载均衡和高可用。
- 关键原则:实例可以单独启动(未挂载数据库),但数据库必须通过实例才能被访问,无实例则数据库无法使用。
Oracle版本说明
Oracle 版本后缀的 i、g、c 是不同技术时代的标志性标识,分别对应互联网、网格计算、云计算三大技术趋势,且每个后缀对应的版本都新增了适配该趋势的核心功能,具体说明如下:
-
i:代表Internet(互联网)
该后缀主要用于 Oracle 8i 和 9i 这两个版本,是 1998 - 2001 年左右互联网技术兴起背景下的命名。Oracle 8i 是首个重点支持互联网技术的版本,新增了对 Java、HTTP 等互联网相关技术的原生支持,让数据库能更好地适配互联网应用场景的开发与部署;后续的 9i 进一步强化了这一方向,补充了 XML 支持、数据压缩等功能,提升了数据库在互联网环境中的性能和兼容性。
-
g:代表Grid(网格计算)
对应 Oracle 10g(2003 年发布)和 11g 版本,适配当时分布式计算普及的技术需求。网格计算的核心是将分散的服务器、存储等资源整合为共享资源池,实现资源的灵活分配与高效利用。这两个版本不仅引入了 Oracle Grid Computing 基础设施,还搭配了实时应用集群、自动存储管理等核心功能,能把数据中心从分散的系统资源孤岛,转化为可统一管理、动态调度的共享资源池,极大提升了数据库的高可用性和资源利用率。
-
c:代表Cloud(云计算)
从 2013 年发布的 Oracle 12c 开始启用,后续的 18c、19c、21c 等版本也延续了该后缀,契合云计算快速发展的行业趋势。该系列版本的核心亮点是引入了多租户架构,支持在一个容器数据库中创建多个可插拔数据库,既能实现资源共享,又能隔离不同租户的数据,大幅降低了云计算环境下数据库的部署、管理和运维成本,让数据库能灵活适配私有云、公有云以及混合云等多种云部署场景。****
Oracle目录说明
Oracle安装目录
| 目录名称 | 功能说明 |
|---|---|
| admin | 存储数据库管理相关的配置文件、脚本和管理工具,例如数据库创建脚本、参数文件(如 pfile、spfile)、SQL*Plus 脚本等,是数据库管理的核心配置区域。 |
| cfgtoollogs | 存放 Oracle 配置工具(如 DBCA、NETCA、EMCA 等)的日志文件,用于记录配置过程中的操作和可能出现的问题,方便排查配置相关的故障。 |
| checkpoints | 通常用于存储检查点相关的信息,检查点是 Oracle 数据库确保数据一致性和恢复的关键机制,该目录可能记录检查点的触发时间、状态等信息,辅助数据库恢复过程。 |
| diag | 诊断目录,存储 Oracle 数据库的诊断日志(ADR,自动诊断库),包括告警日志(alert log)、跟踪文件(trace files)、事件日志等,是排查数据库性能问题、故障的重要信息来源。 |
| flash_recovery_area | 闪回恢复区,是 Oracle 用于集中存储备份、归档日志、闪回日志等恢复相关文件的区域,支持数据库的备份恢复、闪回操作,保障数据的可恢复性。 |
| oradata | 存储数据库的物理数据文件(.dbf)、控制文件(.ctl)、联机重做日志文件(.log)等核心数据文件,是数据库实际数据的存储位置。 |
| oradiag_chains | 与 Oracle 诊断链相关的目录,可能用于存储诊断过程中产生的链式信息或临时诊断文件,辅助深入分析数据库的复杂问题。 |
| product | 存储 Oracle 数据库软件的安装文件和程序,包含各个版本的 Oracle 软件目录(如 11.2.0、19.0.0 等),是 Oracle 程序的安装根目录。RDBMS关系数据库管理系统安装根目录。 |
oradata文件目录

| 文件名 | 文件类型 | 功能说明 |
|---|---|---|
| CONTROL01.CTL | 控制文件 | 记录数据库的结构信息,包括数据文件、日志文件的名称、位置、状态,以及数据库名称、检查点信息等,是数据库启动的必要文件。 |
| REDO01.LOG、REDO02.LOG、REDO03.LOG | 联机重做日志文件 | 记录所有对数据的修改操作(插入、更新、删除等),用于数据库故障恢复,确保数据一致性。这些文件以组为单位循环使用。 |
| SYSAUX01.DBF | 数据文件 | 存储系统辅助表空间的数据,用于存放除系统表空间外的其他 Oracle 系统对象(如统计信息、PL/SQL 程序、触发器等),减轻系统表空间的负载。 |
| SYSTEM01.DBF | 数据文件 | 存储系统表空间的数据,包含 Oracle 数据库的核心元数据(如数据字典、系统表、存储过程等),是数据库运行的基础文件。 |
| TEMP01.DBF | 数据文件 | 存储临时表空间的数据,用于存放数据库运行过程中产生的临时数据(如排序操作的中间结果、临时表等),操作结束后数据会被清理。 |
| UNDOTBS01.DBF | 数据文件 | 存储回滚表空间的数据,用于记录事务的回滚信息,支持事务的回滚(撤销操作)和数据库的读一致性。 |
| USERS01.DBF | 数据文件 | 存储用户表空间的数据,用于存放普通用户创建的表、索引、视图等数据库对象,是用户数据的主要存储位置。 |
Oracle系统用户
在 Oracle 数据库中,SYS用户和SYSTEM用户都是具有高权限的系统用户,主要作用和区别如下:
一、SYS用户
- 作用:是 Oracle 数据库的超级用户,拥有最高权限,负责数据库的核心管理与维护。
- 存储数据库的核心元数据(如数据字典、系统表等),这些对象存储在
SYSTEM表空间中。 - 可执行所有管理操作,包括创建数据库、启动 / 关闭数据库、修改数据库结构、管理其他用户权限等。
- 其模式下的对象属于数据库的 “系统底层架构”,直接影响数据库的运行机制。
- 存储数据库的核心元数据(如数据字典、系统表等),这些对象存储在
- 权限:具有
SYSDBA和SYSOPER权限,可执行数据库的所有管理命令(如CREATE DATABASE、ALTER DATABASE等)。
二、SYSTEM用户
- 作用:是 Oracle 数据库的系统管理员用户,用于管理数据库的日常操作和系统对象。
- 存储系统辅助对象,如 Oracle 自带的工具、示例程序、统计信息等,这些对象存储在
SYSAUX表空间中。 - 可执行数据库的大部分管理任务,如创建用户、管理表空间、配置数据库参数等,但权限略低于
SYS。 - 是 DBA(数据库管理员)日常操作的主要用户之一,用于执行常规的系统管理工作。
- 存储系统辅助对象,如 Oracle 自带的工具、示例程序、统计信息等,这些对象存储在
- 权限:具有
DBA角色权限,可管理数据库的常规对象和用户,但无法执行涉及数据库底层架构的核心操作(如直接修改数据字典的底层表)。
Oracle的启动
打开Windows服务

OracleServiceORCL:数据库实例,必须打开。 OracleOraDb11g_home1TNSListener:监听器服务,用来给第三方工具提供连接。 其他的服务可以关闭掉。
SQL PLUS使用
sys用户登陆口令:sys as sysdba/sysoper
system用户登陆口令:system
