生产环境Oracle表空间扩容实战:使用Toad for Oracle图形界面新增Datafile(ASM+OMF)

最近在维护 Oracle 数据库时,发现业务表空间 DS_ZTFW 空间使用率已经达到 87% ,为了避免后续业务增长导致表空间不足,通过 Toad for Oracle 图形界面为表空间新增了两个数据文件。整个过程比较简单,整理记录如下。


数据库 日常是否经常手动增加数据文件 日常主要关注
Oracle ✅ 经常 表空间、Datafile、ASM
MySQL ❌ 几乎不会 磁盘空间
SQL Server ❌ 很少 磁盘空间、数据库文件自动增长、事务日志
PostgreSQL ❌ 几乎不会 磁盘空间、WAL

Oracle 需要管理表空间和 Datafile;MySQL、SQL Server、PostgreSQL 日常更多是关注数据库服务器磁盘空间,只有特殊场景才需要手动调整数据库文件。


Oracle 表空间(Tablespace)知识点

1、Oracle 表空间分两种

类型 Smallfile Bigfile
默认类型 ✅ 是 ❌ 否
Datafile 数量 多个 只能 1 个
单个 Datafile 最大(8KB Block) 约 32GB(32767MB) 约 32TB
企业使用 ⭐⭐⭐⭐⭐ 最常见 ⭐ 少见

2、如何查看表空间类型?

复制代码
SELECT tablespace_name, bigfile
FROM dba_tablespaces;
  • YES:Bigfile

  • NO:Smallfile

表空间类型 单个 Datafile 最大 扩容方式
Smallfile 约 32GB(8KB Block 的常见配置) 新增 Datafile
Bigfile 约 32TB(8KB Block 的常见配置) 扩容唯一的 Datafile

3、Toad 默认创建哪种?

默认创建 Smallfile Tablespace。

只有选择 Bigfile Tablespace 或执行:

复制代码
CREATE BIGFILE TABLESPACE ...

才会创建 Bigfile。


4、生产环境一般使用哪种?

绝大多数 Oracle 生产库使用 Smallfile Tablespace。

扩容方式:

  • Datafile 未达到最大值 → 自动扩容(AUTOEXTEND)

  • Datafile 达到约 32GB → 新增 Datafile


5、一句话记忆

Smallfile:多个 Datafile,每个约 32GB;Bigfile:一个 Datafile,最大约 32TB。

这是 Oracle DBA 面试和日常运维中最常用、最好记的一条知识点。

一、扩容前检查

打开 Toad → Database → Tablespaces,查看各表空间使用情况。

本次扩容前:

表空间 已使用 总大小 空闲 使用率
DS_ZTFW 487GB 560GB 73.2GB 87%

虽然还有 73GB 空闲空间,但为了保证业务持续运行,提前进行扩容。


二、进入表空间管理

在 Toad 中:

复制代码
Database
    ↓
Tablespaces

双击需要扩容的表空间 DS_ZTFW。

切换到

复制代码
Files

页面。

点击左上角绿色 + 按钮新增 Datafile。


三、新增数据文件

由于数据库使用的是 ASM(+DATA) ,并开启了 Oracle Managed Files(OMF),因此无需填写数据文件名称。

本次填写参数如下:

参数 配置
Add Oracle Managed File √
Size 24 GB
Auto Extend √
Next Extent 512 MB
Maximum Size Unlimited

确认无误后点击 OK。

复制代码
UNLIMITED它的含义
不是:
无限大

而是:
不需要人为设置 MAXSIZE,
让 Oracle 增长到该 Datafile 能达到的最大值。

也就是说

对于 Smallfile:
MAXSIZE UNLIMITED
≈
MAXSIZE Smallfile 能达到的最大值

对于 Bigfile:
MAXSIZE UNLIMITED
≈
MAXSIZE Bigfile 能达到的最大值

这里的 UNLIMITED 并不是说文件真的能无限长,而是允许 Oracle 增长到该 Datafile 类型允许的理论上限。对于你们当前的 Smallfile,它最终仍然受 Smallfile 的最大限制约束,不会无限突破这个类型限制。


四、执行过程

点击 OK 后,Toad 出现:

复制代码
Processing Script...

执行时间持续了几秒钟。


五、扩容结果

回到 Tablespaces 页面后可以看到:

扩容前:

总大小 空闲
560GB 73.2GB

扩容后:

总大小 空闲
608GB 121GB

可以看到:

复制代码
560GB
   +
24GB
   +
24GB
========
608GB

说明 Oracle 已成功新增 两个 24GB 数据文件。


六、验证 Datafile

在 Files 页面可以看到新增的数据文件:

复制代码
24GB
24GB

说明新增成功。

也可以执行 SQL 验证:

复制代码
SELECT
    file_id,
    bytes/1024/1024/1024 AS size_gb,
    autoextensible,
    maxbytes/1024/1024/1024 AS max_gb
FROM dba_data_files
WHERE tablespace_name='DS_ZTFW'
ORDER BY file_id DESC;

查看最新增加的数据文件及其自动扩展配置。


七、注意事项

  1. ASM + OMF 环境下无需指定数据文件名,Oracle 会自动创建。

  2. 建议开启 AutoExtend ,并合理设置 Next Extent(如 512MB 或 1GB)。

  3. 如果点击 OK 后出现 Processing Script,不要重复点击,先等待执行完成,再刷新查看结果,否则容易重复增加数据文件。

  4. 扩容完成后,应再次检查表空间使用率和新增的数据文件是否符合预期。


八、总结

本次通过 Toad 图形界面 成功为 DS_ZTFW 表空间新增了两个 24GB 的 ASM 数据文件,使表空间容量由 560GB 扩容至 608GB ,空闲空间由 73.2GB 增加至 121GB,满足了后续业务数据增长需求。

整个过程无需编写 SQL,适合日常运维人员通过图形界面快速完成 Oracle 表空间扩容操作。

相关推荐
ai小陈6 小时前
GPU服务器租用存储验收:检查点写入与磁盘吞吐实战
运维·服务器·人工智能·ai·ssh·gpu算力
PaperData6 小时前
1985-2025年全国区县专利申请与授权面板数据
数据库
snpgroupcn6 小时前
大数据量SAP迁移方案:系统越大,越不能硬搬
数据库·sap
Flynt7 小时前
Redis Cluster主节点挂了,为什么"高可用"还全员掉线?我把三次kill的记录翻出来了
数据库·redis·分布式
笃行3507 小时前
KingbaseES 数据加密全解:从 SSL 到全密态
数据库
Ivanqhz8 小时前
激活函数在 Transformer 中的作用及各种变体简述
java·linux·数据库·人工智能·深度学习
有毒的教程9 小时前
VMware仅主机模式:物理机 ↔ 虚拟机 文件共享
运维
java1234_小锋9 小时前
【技术专题】Mysql8 数据库 - Mysql8 数据类型简介
数据库·mysql
知行EDI9 小时前
知行之桥 MaBang 端口使用指南——Create Order 订单创建篇
java·服务器·数据库
成旭先生9 小时前
【2026】企业信息模糊查询 API 实战:名称、注册号、统一社会信用代码、企业类型与法人一次查全
服务器·数据库·数据服务