详解Oracle数据库数据文件resize扩展教程

概述

今天告警报system表空间没有自动扩展,检查发现这个数据库的一些数据文件都很小,所以针对数据文件做了一些扩容,下面简单记录下操作过程。


1、目前表空间情况

--查看表空间使用情况
SELECT a.tablespace_name "表空间名",
 total "表空间大小",
 free "表空间剩余大小",
 (total - free) "表空间使用大小",
 total / (1024 * 1024 * 1024) "表空间大小(G)",
 free / (1024 * 1024 * 1024) "表空间剩余大小(G)",
 (total - free) / (1024 * 1024 * 1024) "表空间使用大小(G)",
 round((total - free) / total, 4) * 100 "使用率 %"
 FROM (SELECT tablespace_name, SUM(bytes) free
 FROM dba_free_space
 GROUP BY tablespace_name) a,
 (SELECT tablespace_name, SUM(bytes) total
 FROM dba_data_files
 GROUP BY tablespace_name) b
 WHERE a.tablespace_name = b.tablespace_name;
--查看表空间物理文件的名称及大小 
SELECT tablespace_name,
 file_id,
 file_name,
 round(bytes / (1024 * 1024 * 1024), 0) total_space_GB
 FROM dba_data_files
 ORDER BY tablespace_name;

详解Oracle数据库数据文件resize扩展教程

可以看到数据文件基本都是1G、2G,对于生产环境怎么可能够用。

详解Oracle数据库数据文件resize扩展教程


2、扩展数据文件

扩展命令如下:

ALTER DATABASE DATAFILE '/u01/app/oracle/oradata/data01.dbf' RESIZE 30g;
ALTER DATABASE DATAFILE '/u01/app/oracle/oradata/sysaux01.dbf' RESIZE 10g;
ALTER DATABASE DATAFILE '/u01/app/oracle/oradata/system01.dbf' RESIZE 10g; 
ALTER DATABASE DATAFILE '/u01/app/oracle/oradata/undotbs01.dbf' RESIZE 10g;

详解Oracle数据库数据文件resize扩展教程


3、扩展后结果

大概花费了一个小时完成了扩容,扩容后结果如下:

详解Oracle数据库数据文件resize扩展教程

详解Oracle数据库数据文件resize扩展教程


这里是把数据文件resize更大,如果要调整小一点的话就要慎重了。后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注一下~

详解Oracle数据库数据文件resize扩展教程

相关推荐