查看表空间利用率脚本-扩表空间大小
2011-10-22 14:11
176 查看
查看表空间利用率脚本
select t.*
from (SELECT D.TABLESPACE_NAME,
SPACE "SUM_SPACE(M)",
BLOCKS SUM_BLOCKS,
SPACE - NVL(FREE_SPACE, 0) "USED_SPACE(M)",
ROUND((1 - NVL(FREE_SPACE, 0) / SPACE) * 100, 2) "USED_RATE(%)",
FREE_SPACE "FREE_SPACE(M)"
FROM (SELECT TABLESPACE_NAME,
ROUND(SUM(BYTES) / (1024 * 1024), 2) SPACE,
SUM(BLOCKS) BLOCKS
FROM DBA_DATA_FILES
GROUP BY TABLESPACE_NAME) D,
(SELECT TABLESPACE_NAME,
ROUND(SUM(BYTES) / (1024 * 1024), 2) FREE_SPACE
FROM DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME) F
WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME(+)
UNION ALL --if have tempfile
SELECT D.TABLESPACE_NAME,
SPACE "SUM_SPACE(M)",
BLOCKS SUM_BLOCKS,
USED_SPACE "USED_SPACE(M)",
ROUND(NVL(USED_SPACE, 0) / SPACE * 100, 2) "USED_RATE(%)",
SPACE - USED_SPACE "FREE_SPACE(M)"
FROM (SELECT TABLESPACE_NAME,
ROUND(SUM(BYTES) / (1024 * 1024), 2) SPACE,
SUM(BLOCKS) BLOCKS
FROM DBA_TEMP_FILES
GROUP BY TABLESPACE_NAME) D,
(SELECT TABLESPACE,
ROUND(SUM(BLOCKS * 8192) / (1024 * 1024), 2) USED_SPACE
FROM V$SORT_USAGE
GROUP BY TABLESPACE) F
WHERE D.TABLESPACE_NAME = F.TABLESPACE(+)) t
order by "USED_RATE(%)" desc;
1 查询要修改的表空间的数据文件名:
select file_name,blocks,tablespace_name from dba_data_files a where a.tablespace_name='D_1024_IDX'
2 将对应表空间的dpf文件路径记下来。比如'/data/teleport/userdata/d_1024_idx.dbf'
3 最后修改表空间数据文件:
ALTER DATABASE DATAFILE '/data/teleport/userdata/d_1024_idx.dbf' RESIZE 20000m;大小请根据前端实际情况定,需先确认操作系统中是否有空间
select t.*
from (SELECT D.TABLESPACE_NAME,
SPACE "SUM_SPACE(M)",
BLOCKS SUM_BLOCKS,
SPACE - NVL(FREE_SPACE, 0) "USED_SPACE(M)",
ROUND((1 - NVL(FREE_SPACE, 0) / SPACE) * 100, 2) "USED_RATE(%)",
FREE_SPACE "FREE_SPACE(M)"
FROM (SELECT TABLESPACE_NAME,
ROUND(SUM(BYTES) / (1024 * 1024), 2) SPACE,
SUM(BLOCKS) BLOCKS
FROM DBA_DATA_FILES
GROUP BY TABLESPACE_NAME) D,
(SELECT TABLESPACE_NAME,
ROUND(SUM(BYTES) / (1024 * 1024), 2) FREE_SPACE
FROM DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME) F
WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME(+)
UNION ALL --if have tempfile
SELECT D.TABLESPACE_NAME,
SPACE "SUM_SPACE(M)",
BLOCKS SUM_BLOCKS,
USED_SPACE "USED_SPACE(M)",
ROUND(NVL(USED_SPACE, 0) / SPACE * 100, 2) "USED_RATE(%)",
SPACE - USED_SPACE "FREE_SPACE(M)"
FROM (SELECT TABLESPACE_NAME,
ROUND(SUM(BYTES) / (1024 * 1024), 2) SPACE,
SUM(BLOCKS) BLOCKS
FROM DBA_TEMP_FILES
GROUP BY TABLESPACE_NAME) D,
(SELECT TABLESPACE,
ROUND(SUM(BLOCKS * 8192) / (1024 * 1024), 2) USED_SPACE
FROM V$SORT_USAGE
GROUP BY TABLESPACE) F
WHERE D.TABLESPACE_NAME = F.TABLESPACE(+)) t
order by "USED_RATE(%)" desc;
1 查询要修改的表空间的数据文件名:
select file_name,blocks,tablespace_name from dba_data_files a where a.tablespace_name='D_1024_IDX'
2 将对应表空间的dpf文件路径记下来。比如'/data/teleport/userdata/d_1024_idx.dbf'
3 最后修改表空间数据文件:
ALTER DATABASE DATAFILE '/data/teleport/userdata/d_1024_idx.dbf' RESIZE 20000m;大小请根据前端实际情况定,需先确认操作系统中是否有空间
相关文章推荐
- 查看表空间利用率及相关及脚本
- Oracle查看表空间利用率脚本
- 查看表空间文件以及利用率、修改、删除表空间文件大小
- oracle中查看表空间利用率的脚本
- ORACLE查看数据库表空间存储对象的大小
- 查看表空间的大小
- 查看oracle 系统临时表空间、undo表空间、SGA和PGA大小
- du 命令 -查看磁盘空间大小
- oracle 查看库中每个表所占的空间大小
- Oracle查看表空间大小和 使用率 (DBA 给的)
- 查看Oracle数据库表空间大小(空闲、已使用),是否要增加表空间的数据文件
- 查看MSSQL数据库每个表占用的空间大小
- linux下使用 du查看某个文件或目录占用磁盘空间的大小
- 查看Oracle数据库表空间大小(空闲、已使用),是否要增加表空间的数据文件
- Oracle 查看表空间的大小及使用情况sql语句
- 查看SQL Server数据库中各个表和视图的索引所占的空间大小
- mysql 表空间大小及索引的查看
- Oracle 查看表空间使用率 SQL 脚本
- SQL Server查看所有表大小,所占空间
- mysql查看数据库和表占用空间的大小