You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Oracle 19c:如何用SQL代码禁用表空间所有数据文件自动扩展

在Oracle 19c中批量取消表空间数据文件的自动扩展功能

不用逐个手动编辑数据文件,你可以通过查询系统视图生成批量修改的SQL语句,一次性完成所有数据文件的设置。

步骤1:生成批量修改的SQL命令

针对普通表空间的数据文件,执行以下查询(替换&target_tablespace为你的目标表空间名,或者执行时输入):

SELECT 
    'ALTER DATABASE DATAFILE ''' || file_name || ''' RESIZE ' || bytes || ' AUTOEXTEND OFF;' AS sql_command
FROM 
    dba_data_files
WHERE 
    tablespace_name = UPPER('&target_tablespace');

如果是临时表空间的临时数据文件,使用这个查询:

SELECT 
    'ALTER DATABASE TEMPFILE ''' || file_name || ''' RESIZE ' || bytes || ' AUTOEXTEND OFF;' AS sql_command
FROM 
    dba_temp_files
WHERE 
    tablespace_name = UPPER('&target_tablespace');

步骤2:执行生成的SQL语句

查询结果会返回每条数据文件对应的修改命令,将这些命令复制出来执行即可。每条命令会完成两个操作:

  • 将数据文件大小固定为当前的实际大小(RESIZE <bytes>,bytes列是当前文件的字节数)
  • 关闭该文件的自动扩展功能(AUTOEXTEND OFF)

注意事项

  • 执行这些命令需要ALTER DATABASE权限,建议使用拥有该权限的用户(如SYS、SYSTEM)操作。
  • 操作前建议在测试环境验证效果,避免影响生产业务。
  • 如果数据文件当前已经关闭了自动扩展,对应的命令不会产生任何影响,可以安全执行。

内容的提问来源于stack exchange,提问作者Christoffer_Irvall

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.11 13:03:13