当前位置: 代码网 > it编程>数据库>Oracle > 生产环境Oracle表空间扩容的实战指南

生产环境Oracle表空间扩容的实战指南

2026年08月04日 Oracle 我要评论
最近在维护 oracle 数据库时,发现业务表空间 ds_ztfw 空间使用率已经达到 87%,为了避免后续业务增长导致表空间不足,通过 toad for oracle 图形界面为表空间新增了两个数据

最近在维护 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 表空间分两种

类型smallfilebigfile
默认类型✅ 是❌ 否
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_ztfw487gb560gb73.2gb87%

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

二、进入表空间管理

在 toad 中:

database
    ↓
tablespaces

双击需要扩容的表空间 ds_ztfw

切换到

files 

页面。

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

三、新增数据文件

由于数据库使用的是 asm(+data),并开启了 oracle managed files(omf),因此无需填写数据文件名称。

本次填写参数如下:

参数配置
add oracle managed file
size24 gb
auto extend
next extent512 mb
maximum sizeunlimited

确认无误后点击 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 页面后可以看到:

扩容前:

总大小空闲
560gb73.2gb

扩容后:

总大小空闲
608gb121gb

可以看到:

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 表空间扩容操作。

以上就是生产环境oracle表空间扩容的实战指南的详细内容,更多关于生产环境oracle表空间扩容的资料请关注代码网其它相关文章!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com