oracle 表空间维护
2011-09-26 19:27
288 查看
检查表空间大小,如果有表空间超过80%,则需要清理或扩展。查询语句:
SELECT df.tablespace_name "Tablespace",
df.bytes / (1024 * 1024) "Total Size(MB)",
SUM(fs.bytes) / (1024 * 1024) "Free Size(MB)",
round(SUM(fs.bytes) * 100 / df.bytes) "% Free",
round((df.bytes - SUM(fs.bytes)) * 100 / df.bytes) "% Used",
ROUND(100 * SQRT(MAX(fs.bytes) / SUM(fs.bytes)) * (1 / SQRT(SQRT(COUNT(fs.bytes)))), 2) "% FSFI"
FROM dba_free_space fs,
(SELECT tablespace_name,
SUM(bytes) bytes
FROM dba_data_files
GROUP BY tablespace_name) df
WHERE fs.tablespace_name = df.tablespace_name
GROUP BY df.tablespace_name,
df.bytes
注意:
如果从检查结果看,是UNDO表空间占用高,需要用下面语句再次查询,如果EXPIRED足够,UNDO空间就没有问题:
SELECT DISTINCT STATUS, SUM(BYTES), COUNT(*) FROM DBA_UNDO_EXTENTS GROUP BY STATUS;
SELECT df.tablespace_name "Tablespace",
df.bytes / (1024 * 1024) "Total Size(MB)",
SUM(fs.bytes) / (1024 * 1024) "Free Size(MB)",
round(SUM(fs.bytes) * 100 / df.bytes) "% Free",
round((df.bytes - SUM(fs.bytes)) * 100 / df.bytes) "% Used",
ROUND(100 * SQRT(MAX(fs.bytes) / SUM(fs.bytes)) * (1 / SQRT(SQRT(COUNT(fs.bytes)))), 2) "% FSFI"
FROM dba_free_space fs,
(SELECT tablespace_name,
SUM(bytes) bytes
FROM dba_data_files
GROUP BY tablespace_name) df
WHERE fs.tablespace_name = df.tablespace_name
GROUP BY df.tablespace_name,
df.bytes
注意:
如果从检查结果看,是UNDO表空间占用高,需要用下面语句再次查询,如果EXPIRED足够,UNDO空间就没有问题:
SELECT DISTINCT STATUS, SUM(BYTES), COUNT(*) FROM DBA_UNDO_EXTENTS GROUP BY STATUS;
相关文章推荐
- oracle 数据库表空间维护
- Oracle以及SDE维护常用命令-查看表空间等
- Oracle架构设计01:表空间的管理维护规范
- Oracle UNDO表空间日常维护查看操作
- ORACLE SYSAUX表空间维护之WRH$_SQLTEXT,WRH$_SQL_PLAN
- Oracle数据空间的使用、监控和维护
- oracle维护表空间和数据文件
- oracle 表空间维护
- oracle维护表空间和数据文件
- oracle 表空间维护
- 维护oracle的表空间
- oracle12c之 表空间维护总结
- oracle 维护表空间
- 测试表空间损坏后数据库维护,ORA-010133:ORACLE正在初始化或关闭
- oracle12c之 表空间维护总结
- oracle维护表空间和数据文件
- ORACLE 空间维护
- Oracle 表空间管理维护
- oracle维护表空间和数据文件
- oracle之 SYSAUX表空间维护