FenggFocusOracle 2019-06-21
今天告警报system表空间没有自动扩展,检查发现这个数据库的一些数据文件都很小,所以针对数据文件做了一些扩容,下面简单记录下操作过程。
--查看表空间使用情况 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;
可以看到数据文件基本都是1G、2G,对于生产环境怎么可能够用。
扩展命令如下:
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;
大概花费了一个小时完成了扩容,扩容后结果如下:
这里是把数据文件resize更大,如果要调整小一点的话就要慎重了。后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注一下~