六、Oracle 目录结构

文章目录

一、整体结构概览

Oracle 的安装目录结构可以分为 5 大核心区域 ,它们共同构成了数据库的物理基础:

复制代码
Oracle 安装根目录 (如 D:\app\Administrator)
│
├── admin/                  ← 实例的"病历本"
├── cfgtoollogs/            ← 安装工具的"工作日志"
├── checkpoints/            ← 检查点文件
├── diag/                   ← 11g 新增的"诊断中心"
├── flash_recovery_area/    ← "保险箱"(闪回区)
├── oradata/                ← 💎 **"仓库本体"**(核心数据存储)
└── product/                ← "程序安装目录"(Oracle 软件本身)

二、核心目录详解

1️⃣ oradata/ ------ 数据库的"仓库本体"

重要性 :⭐⭐⭐⭐⭐

作用 :存放数据库的核心文件 (.ctl, .dbf, .log),是数据库的命根子

比喻 :图书馆的主体建筑,所有书籍(数据)都藏在这里。

关键文件说明:
文件 作用 比喻 必要性
CONTROL01.CTL 控制文件 🗺️ 地图 ⚠️ 丢了数据库就废了
SYSTEM01.DBF 系统表空间 🧠 大脑 ⚠️ 丢了数据库就崩溃
SYSAUX01.DBF 辅助表空间 👨‍💼 秘书 ⚠️ 丢了部分功能失效
USERS01.DBF 用户表空间 📦 你的仓库 ⚠️ 丢了你的数据就没了
TEMP01.DBF 临时表空间 📝 草稿纸 ✅ 可重建
UNDOTBS01.DBF 撤销表空间 ↩️ 后悔药 ⚠️ 丢了无法回滚
REDO01.LOG 重做日志 📹 行车记录仪 ⚠️ 丢了无法恢复

2️⃣ admin/ ------ 实例的"病历本"

重要性 :⭐⭐⭐⭐

作用 :记录实例 的配置和运行日志,每个实例一个文件夹。

比喻 :医生的病历本,记录了患者的每次就诊情况。

目录结构:
复制代码
admin/<SID>/
    ├── adump/      (审计文件:谁在什么时候做了什么)
    ├── bdump/      (后台进程日志:实例的运行状态)
    ├── cdump/      (核心转储文件)
    ├── pfile/      (参数文件备份)
    └── udump/      (用户跟踪文件:SQL 异常时的诊断)

关键点

  • 每个实例(SID)一个独立文件夹
  • DBA 排查问题时的第一手资料
  • 如果实例配置丢失,可以从中恢复

3️⃣ flash_recovery_area/ ------ 数据库的"保险箱"

重要性 :⭐⭐⭐⭐

作用 :集中管理所有恢复相关文件,是数据恢复的最后保障。

比喻 :银行的保险库,存放重要资产的备份。

存放内容:
  • ✅ 完整的数据库备份
  • ✅ 增量备份
  • ✅ 归档日志文件
  • ✅ 控制文件副本
  • ✅ 闪回日志

关键点

  • 数据库崩溃时,从这里拿文件恢复
  • oradata/ 中的文件互为备份关系

4️⃣ diag/ ------ 11g 新增的"诊断中心"

重要性 :⭐⭐⭐

作用 :统一管理所有组件的日志,解决 10g 时代日志散乱的问题。

比喻 :医院的综合诊断中心,集中处理所有科室的检查结果。

关键点

  • 11g 新增的统一日志管理机制
  • ASM、CRS、RDBMS 的日志都集中在这里
  • 使 DBA 排查问题更加高效

5️⃣ cfgtoollogs/ ------ 安装工具的"工作日志"

重要性 :⭐⭐

作用 :存放数据库配置工具的执行日志。

比喻 :施工队的工作日志,记录每天干了什么。

存放内容:
  • DBCA(数据库配置助手)日志
  • EMCA(企业管理器配置助手)日志
  • NETCA(网络配置助手)日志

关键点

  • 如果安装配置失败,来这里找原因
  • 日志文件名通常包含日期和工具名

6️⃣ product/ ------ Oracle 软件的"家"

重要性 :⭐⭐⭐

作用 :存放 Oracle 程序本身 (二进制文件)。

比喻 :工厂的车间,生产工具和程序的地方。

目录结构:
复制代码
product/11.2.0/dbhome_1/
    ├── bin/          (可执行文件:oracle.exe, sqlplus.exe)
    ├── lib/          (库文件)
    ├── network/      (网络配置:tnsnames.ora)
    └── rdbms/        (数据库管理系统核心代码)

关键点

  • 删除这个目录 = 卸载 Oracle 软件
  • oradata/ 不同:这里是程序 ,不是数据

三、目录关系图解

#mermaid-svg-rtlZQEM1pfm9MRM3{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-rtlZQEM1pfm9MRM3 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-rtlZQEM1pfm9MRM3 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-rtlZQEM1pfm9MRM3 .error-icon{fill:#552222;}#mermaid-svg-rtlZQEM1pfm9MRM3 .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-rtlZQEM1pfm9MRM3 .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-rtlZQEM1pfm9MRM3 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-rtlZQEM1pfm9MRM3 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-rtlZQEM1pfm9MRM3 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-rtlZQEM1pfm9MRM3 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-rtlZQEM1pfm9MRM3 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-rtlZQEM1pfm9MRM3 .marker{fill:#333333;stroke:#333333;}#mermaid-svg-rtlZQEM1pfm9MRM3 .marker.cross{stroke:#333333;}#mermaid-svg-rtlZQEM1pfm9MRM3 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-rtlZQEM1pfm9MRM3 p{margin:0;}#mermaid-svg-rtlZQEM1pfm9MRM3 .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-rtlZQEM1pfm9MRM3 .cluster-label text{fill:#333;}#mermaid-svg-rtlZQEM1pfm9MRM3 .cluster-label span{color:#333;}#mermaid-svg-rtlZQEM1pfm9MRM3 .cluster-label span p{background-color:transparent;}#mermaid-svg-rtlZQEM1pfm9MRM3 .label text,#mermaid-svg-rtlZQEM1pfm9MRM3 span{fill:#333;color:#333;}#mermaid-svg-rtlZQEM1pfm9MRM3 .node rect,#mermaid-svg-rtlZQEM1pfm9MRM3 .node circle,#mermaid-svg-rtlZQEM1pfm9MRM3 .node ellipse,#mermaid-svg-rtlZQEM1pfm9MRM3 .node polygon,#mermaid-svg-rtlZQEM1pfm9MRM3 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-rtlZQEM1pfm9MRM3 .rough-node .label text,#mermaid-svg-rtlZQEM1pfm9MRM3 .node .label text,#mermaid-svg-rtlZQEM1pfm9MRM3 .image-shape .label,#mermaid-svg-rtlZQEM1pfm9MRM3 .icon-shape .label{text-anchor:middle;}#mermaid-svg-rtlZQEM1pfm9MRM3 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-rtlZQEM1pfm9MRM3 .rough-node .label,#mermaid-svg-rtlZQEM1pfm9MRM3 .node .label,#mermaid-svg-rtlZQEM1pfm9MRM3 .image-shape .label,#mermaid-svg-rtlZQEM1pfm9MRM3 .icon-shape .label{text-align:center;}#mermaid-svg-rtlZQEM1pfm9MRM3 .node.clickable{cursor:pointer;}#mermaid-svg-rtlZQEM1pfm9MRM3 .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-rtlZQEM1pfm9MRM3 .arrowheadPath{fill:#333333;}#mermaid-svg-rtlZQEM1pfm9MRM3 .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-rtlZQEM1pfm9MRM3 .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-rtlZQEM1pfm9MRM3 .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-rtlZQEM1pfm9MRM3 .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-rtlZQEM1pfm9MRM3 .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-rtlZQEM1pfm9MRM3 .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-rtlZQEM1pfm9MRM3 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-rtlZQEM1pfm9MRM3 .cluster text{fill:#333;}#mermaid-svg-rtlZQEM1pfm9MRM3 .cluster span{color:#333;}#mermaid-svg-rtlZQEM1pfm9MRM3 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-rtlZQEM1pfm9MRM3 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-rtlZQEM1pfm9MRM3 rect.text{fill:none;stroke-width:0;}#mermaid-svg-rtlZQEM1pfm9MRM3 .icon-shape,#mermaid-svg-rtlZQEM1pfm9MRM3 .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-rtlZQEM1pfm9MRM3 .icon-shape p,#mermaid-svg-rtlZQEM1pfm9MRM3 .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-rtlZQEM1pfm9MRM3 .icon-shape .label rect,#mermaid-svg-rtlZQEM1pfm9MRM3 .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-rtlZQEM1pfm9MRM3 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-rtlZQEM1pfm9MRM3 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-rtlZQEM1pfm9MRM3 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 闪回区 - flash_recovery_area/
数据库文件 - oradata/
配置与日志 - admin/ diag/
Oracle 软件 - product/
归档
oracle.exe

程序文件
实例配置
运行日志
CONTROL01.CTL

地图
*.DBF

货物
REDO01.LOG

记录仪
备份文件
归档日志


四、关键表空间文件详解

系统表空间(不能动)

文件 作用 比喻 重要性
SYSTEM01.DBF 存放数据字典和系统内部表 🧠 数据库的"大脑" ⚠️ 致命
SYSAUX01.DBF 存放系统辅助数据 👨‍💼 系统的"秘书" ⚠️ 严重

运行时表空间(自动管理)

文件 作用 比喻 重要性
TEMP01.DBF 临时表空间 📝 临时"草稿纸" ✅ 一般
UNDOTBS01.DBF 撤销表空间 ↩️ "后悔药" ⚠️ 严重

用户表空间(你的数据)

文件 作用 比喻 重要性
USERS01.DBF 用户表空间 📦 你的"自留地" ⚠️ 致命

五、重要性分级与注意事项

⚠️ 绝对不能删除的目录

目录 后果 说明
oradata/ 数据丢失 所有核心数据文件都在这里
flash_recovery_area/ 无法恢复 备份和恢复的关键
admin/ 配置丢失 重建数据库很麻烦

✅ 可以清理的目录

目录 说明 清理建议
cfgtoollogs/ 安装日志 可定期清理
diag/ 诊断日志 可定期清理

六、一句话总结

目录 一句话解释
oradata/ 💎 数据库的命根子(.ctl .dbf .log 都在这里)
admin/ 📋 实例的病历本(配置+运行日志)
flash_recovery_area/ 🛡️ 保险箱(备份文件集中地)
diag/ 诊断中心(11g 统一的日志管理)
product/ 🔧 程序安装目录(Oracle 软件本身)
cfgtoollogs/ 📝 安装工具的工作日志

七、学习自检清单

  • Oracle 安装后,核心数据文件存放在哪个目录?
  • SYSTEM 表空间文件的作用是什么?
  • 为什么不能删除 control 文件?
  • flash_recovery_area 目录的作用是什么?
  • 如何区分 product/ 和 oradata/ 目录?

记住

oradata/ = 数据库的命根子

product/ = Oracle 软件的家

flash_recovery_area/ = 数据库的保险箱

相关推荐
IvorySQL1 小时前
PG 日报|修复高 IO 并发场景,解决预读机制耗尽本地缓冲区缺陷
数据库·人工智能·sql·postgresql·区块链
TiDB 社区干货传送门1 小时前
TiDB 8.5.7 发版|六项实用功能上线
数据库·mysql·tidb
在繁华处1 小时前
MySQL 学习笔记 01:从概念到约束,搭好库表骨架
数据库·oracle
三言老师2 小时前
CentOS7.9:Redis 数据持久化结构化实战教程
数据库·redis·缓存
鸽芷咕2 小时前
KingbaseES 优化器底层逻辑:等价变换如何改写 SQL,条件调度如何驱动运行时
数据库
Vect__2 小时前
MySQL 内连接和外连接:从匹配关系到业务查询
数据库·mysql
qq_150841992 小时前
SQL的insert和update二合一指令
java·数据库·sql
聚焦前沿2 小时前
水动力优化导流罩:原理、数据与实船验证
大数据·服务器·数据库·人工智能
万联WANFLOW3 小时前
外贸独立站:服务器放海外国内后台卡,放国内海外客户打不开——这道两头难怎么破?
运维·网络·数据库·经验分享