1:检查操作系统磁盘空间
使用以下命令检查操作系统磁盘空间:
df -h
重点关注数据库文件所在的目录(如 /home/DaMeng/dmdbms/data)的空间使用情况。
如果磁盘空间不足,可以考虑以下解决方案:
清理不必要的文件:
删除不再需要的日志文件、备份文件或其他大文件。
扩展磁盘空间:
根据磁盘扩容规范,挂载新磁盘或扩展现有分区。
操作前保留完整备份。
使用 UUID 挂载新磁盘,避免设备名称冲突。
确保挂载路径正确,检查权限(如 dmdba 用户权限)。
2 : 检查表空间
SELECT ts.NAME,
path,
((df.TOTAL_SIZE - df.FREE_SIZE) * page / 1024 / 1024) * 100 / df.MAX_SIZE || '%' AS "表空间使用率(最大扩展上限制为分母)",
(df.TOTAL_SIZE - df.FREE_SIZE) * page / 1024 / 1024 || 'MB' AS "数据文件实际大小",
df.MAX_SIZE / 1024.0 || 'GB' AS "数据文件最大扩展上限",
df.NEXT_SIZE || 'MB' AS "数据文件下次扩展分配大小",
((df.TOTAL_SIZE - df.FREE_SIZE) * page / 1024 / 1024) * 100 / (df.TOTAL_SIZE * page / 1024 / 1024) || '%' AS "表空间已分配大小使用率(已分配大小为分母)"
FROM v$datafile AS df
LEFT JOIN V$TABLESPACE AS ts
ON ts.ID = df.GROUP_ID
ORDER BY ts.NAME;
如果有哪个表空间使用率到99%,可以考虑新添加一个数据文件
ALTER TABLESPACE tablespace_name ADD DATAFILE '/new/path/datafile.dbf' SIZE 10G;
如果表空间文件所在路径空间充足,可以设置表空间自动扩展:
ALTER TABLESPACE tablespace_name AUTOEXTEND ON NEXT 1024M MAXSIZE 10G;
注意:设置自动扩展时,需合理设置文件大小上限,避免占用过多空间。