默认情况下,当增加表空间或者数据文件时,数据文件的自动扩展属性是关闭的。这给业务的连续性带来了一定的隐患。DBA有必要定期的查看表空间使用情况(只查看自动扩展关闭的表空间),脚本如下:
SELECT SUBSTR(max(A.TABLESPACE_NAME),1,16) "Tablespace",
TO_CHAR((MAX(A.BYTES)-nvl(sum(B.BYTES),0))*100/MAX(A.BYTES),'999.99')||'%' "USED USAGE"
from dba_data_files A, DBA_FREE_SPACE B
WHERE A.FILE_ID=B.FILE_ID(+)
and A.TABLESPACE_NAME NOT IN (select distinct C.TABLESPACE_NAME from dba_data_files C where c.AUTOEXTENSIBLE='YES')
group by a.file_id
order by 1,2;
需要注意的是,自动扩展属性的打开在带来便利性的同时,也要防止数据文件扩展过大,过大的数据文件,会给恢复带来不必要的麻烦,如恢复时间过长等。
SELECT SUBSTR(max(A.TABLESPACE_NAME),1,16) "Tablespace",
TO_CHAR((MAX(A.BYTES)-nvl(sum(B.BYTES),0))*100/MAX(A.BYTES),'999.99')||'%' "USED USAGE"
from dba_data_files A, DBA_FREE_SPACE B
WHERE A.FILE_ID=B.FILE_ID(+)
and A.TABLESPACE_NAME NOT IN (select distinct C.TABLESPACE_NAME from dba_data_files C where c.AUTOEXTENSIBLE='YES')
group by a.file_id
order by 1,2;
需要注意的是,自动扩展属性的打开在带来便利性的同时,也要防止数据文件扩展过大,过大的数据文件,会给恢复带来不必要的麻烦,如恢复时间过长等。