数据库表空间/索引空间操作

1、数据库表空间占用情况查询:

SELECT Upper(F.TABLESPACE_NAME)         "表空间名",
       D.TOT_GROOTTE_MB                 "表空间大小(M)",
       D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)",
       To_char(Round(( D.TOT_GROOTTE_MB - F.TOTAL_BYTES ) / D.TOT_GROOTTE_MB * 100, 2), '990.99')
       || '%'                           "使用比",
       F.TOTAL_BYTES                    "空闲空间(M)",
       F.MAX_BYTES                      "最大块(M)"
FROM   (SELECT TABLESPACE_NAME,
                              Round(Sum(BYTES) / ( 1024 * 1024 ), 2) TOTAL_BYTES,
                              Round(Max(BYTES) / ( 1024 * 1024 ), 2) MAX_BYTES
                  FROM   SYS.DBA_FREE_SPACE
               GROUP  BY TABLESPACE_NAME) F,
             (SELECT DD.TABLESPACE_NAME,
                              Round(Sum(DD.BYTES) / ( 1024 * 1024 ), 2) TOT_GROOTTE_MB
                FROM   SYS.DBA_DATA_FILES DD
              GROUP  BY DD.TABLESPACE_NAME) D
             WHERE  D.TABLESPACE_NAME = F.TABLESPACE_NAME 

ORDER  BY 1;

2、查询表空间文件具体位置

select name from v$datafile;

3、修改指定表空间大小:

alter database datafile '/u01/app/oracle/oradata/orcl/archidx.dbf' resize 128M;

猜你喜欢

转载自www.cnblogs.com/sky1130/p/12033439.html