17,377
社区成员
发帖
与我相关
我的任务
分享
-- 先查看UNDOTBS1表空间的使用情况:
SELECT a.tablespace_name as tablespace_name,
to_char(b.total/1024/1024,999999.99) as Total,
to_char((b.total-a.free)/1024/1024,999999.99) as Used,
to_char(a.free/1024/1024,999999.99) as Free,
to_char(round((total-free)/total,4)*100,999.99) as Used_Rate
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
AND a.tablespace_name='UNDOTBS1'
ORDER BY a.tablespace_name;
TABLESPACE_NAME TOTAL USED FREE USED_RATE
------------------------------ -------------------- -------------------- -------------------- --------------
UNDOTBS1 15000.00 770.19 14229.81 5.13
-- 如果Used_Rate(即空间使用率)超过80%,建议加大UNDOTBS1表空间的数据文件!
-- 查看 UNDOTBS1 表空间相关的数据文件
sys@SZTYORA> select name from v$datafile where ts# in (select ts# from v$tablespace where name='UNDOTBS1');
NAME
--------------------------------------------------------------------------------------------------------------------
/ora/u01/app/oracle/oradata/sztyora/undotbs01.dbf
-- 扩展数据文件的大小:
alter database datafile '/ora/u01/app/oracle/oradata/sztyora/undotbs01.dbf' resize 20480M;
-- 从上面的查询可以看到:我的UNDOTBS1表空间的总大小(TOTAL字段)是15000M,约15G,假设其使用率为95%啦(我想将其扩大为20G),此时可以通过扩展数据文件大小来增大UNDOTBS1表空间,
-- 当然:还可以通过为UNDOTBS1表空间添加数据文件扩展UNDOTBS1表空间!
-- 注意:如果你的系统是Windows的,且磁盘格式化为FAT32,其最大文件是有限制的(好像是4G吧,忘记啦),此时:单个数据文件应该不能超过4G,否则会报错!