oracle 查看对象空间信息
2016-06-13 15:48
459 查看
--1、表空间大小 -- 估算1 Select Tablespace_Name, Sum(bytes) / 1024 / 1024 From Dba_Segments Group By Tablespace_Name order by Sum(bytes) / 1024 / 1024 desc; --2、表占用空间 select segment_name, sum(bytes) / 1024 / 1024 Mbytese from user_segments where segment_type = 'TABLE' group by segment_name order by segment_name; Select Segment_Name, Sum(bytes) / 1024 / 1024 From User_Extents Group By Segment_Name order by Sum(bytes) / 1024 / 1024 desc; --3、索引占用空间 select segment_name, sum(bytes) / 1024 / 1024 Mbytese from user_segments where segment_type = 'INDEX' group by segment_name order by segment_name; --4、数据文件使用情况 select a.tablespace_name, round(a.bytes / 1024 / 1024, 0) "总空间", round((decode(b.bytes, null, 0, b.bytes)) / 1024 / 1024, 0) "使用空间", round((decode(b.bytes, null, 0, b.bytes)) / a.bytes * 100, 1) "使用率", c.file_name, c.status from sys.sm$ts_avail a, sys.sm$ts_free b, dba_data_files c where a.tablespace_name = b.tablespace_name(+) and a.tablespace_name = c.tablespace_name order by a.tablespace_name; ---使用情况2 select b.file_id 文件ID, b.tablespace_name 表空间, b.file_name 物理文件名, b.bytes / 1024 / 1024 大小M, c.max_extents / 1024 / 1024 可扩展数M, b.bytes / 1024 / 1024 + c.max_extents / 1024 / 1024 总大小M, trunc((b.bytes - sum(nvl(a.bytes, 0))) / 1024 / 1024) 已使用M, trunc(sum(nvl(a.bytes, 0)) / 1024 / 1024) 剩余M, trunc(sum(nvl(a.bytes, 0)) / (b.bytes) * 100, 2) 剩余比 from dba_free_space a, dba_data_files b, dba_tablespaces c where a.file_id = b.file_id and b.tablespace_name = c.tablespace_name group by b.tablespace_name, b.file_name, b.file_id, b.bytes, c.max_extents, b.bytes / 1024 / 1024 + c.max_extents / 1024 / 1024 order by b.file_id; --5、表空间使用统计 select a.tablespace_name, a.bytes / 1024 / 1024 "Sum MB", (a.bytes - b.bytes) / 1024 / 1024 "used MB", b.bytes / 1024 / 1024 "free MB", round(((a.bytes - b.bytes) / a.bytes) * 100, 2) "percent_used" from (select tablespace_name, sum(bytes) bytes from dba_data_files group by tablespace_name) a, (select tablespace_name, sum(bytes) bytes, max(bytes) largest from dba_free_space group by tablespace_name) b where a.tablespace_name = b.tablespace_name order by ((a.bytes - b.bytes) / a.bytes) desc; --表空间大小估算2 select a.tablespace_name, round(a.s,2) "CURRENT_TOTAL(MB)", round((a.s - f.s),2) "USED(MB)", f.s "FREE(MB)", round(f.s / a.s * 100, 2) "FREE%", g.autoextensible, round(a.ms,2) "MAX_TOTAL(MB)" from (select d.tablespace_name, sum(bytes / 1024 / 1024) s, sum(decode(maxbytes, 0, bytes, maxbytes) / 1024 / 1024) ms from dba_data_files d group by d.tablespace_name) a, (select f.tablespace_name, sum(f.bytes / 1024 / 1024) s from dba_free_space f group by f.tablespace_name) f, (select distinct tablespace_name, autoextensible from DBA_DATA_FILES where autoextensible = 'YES' union select distinct tablespace_name, autoextensible from DBA_DATA_FILES where autoextensible = 'NO' and tablespace_name not in (select distinct tablespace_name from DBA_DATA_FILES where autoextensible = 'YES')) g where a.tablespace_name = f.tablespace_name and g.tablespace_name = f.tablespace_name order by "FREE%"; --准确计算表空间大小 SELECT F.TABLESPACE_NAME, A.ALL_TOTAL "总空间", A.ALL_USED "总使用空间", A.ALL_TOTAL - A.ALL_USED "总剩余空间", (A.ALL_TOTAL - A.ALL_USED) / A.ALL_TOTAL * 100 "总剩余比例", A.TOTAL "当前大小", U.USED "当前使用空间", F.FREE "当前剩余空间", (U.USED / A.TOTAL) * 100"当前使用比例", (F.FREE / A.TOTAL) * 100 "当前剩余比例" FROM (SELECT TABLESPACE_NAME, SUM(BYTES / (1024 * 1024 * 1024)) TOTAL, SUM(DECODE(AUTOEXTENSIBLE, 'YES', MAXBYTES, BYTES) / (1024 * 1024 * 1024)) ALL_TOTAL, SUM(USER_BYTES) / (1024 * 1024 * 1024) ALL_USED FROM DBA_DATA_FILES GROUP BY TABLESPACE_NAME) A, (SELECT TABLESPACE_NAME, SUM(BYTES / (1024 * 1024 * 1024)) USED FROM DBA_EXTENTS GROUP BY TABLESPACE_NAME) U, (SELECT TABLESPACE_NAME, SUM(BYTES / (1024 * 1024 * 1024)) FREE FROM DBA_FREE_SPACE GROUP BY TABLESPACE_NAME) F WHERE A.TABLESPACE_NAME = F.TABLESPACE_NAME(+) AND A.TABLESPACE_NAME = U.TABLESPACE_NAME(+) ORDER BY (A.ALL_TOTAL - A.ALL_USED) / A.ALL_TOTAL,F.FREE / A.TOTAL ASC;参考:http://www.xifenfei.com
相关文章推荐
- oracle11g主备库切换
- oracle shrink
- Oracle定义约束
- oracle数据导入导出
- oracle library latch
- 存储过程中Create Table权限不足问题
- oracle 自定义函数
- Oracle计算时间差函数
- ORACLE之重建控制文件
- JAVA CLOB作为参数传给ORACLE后台
- oracle length&vsize
- java处理Oracle中的clob转换成String
- linux oracle 启动全过程
- oracle execute immediate用法详解
- oracle 存储过程语法实例以及调用方法
- Oracle 分析函数/窗口函数
- NORADLE - 基于oracle数据库的最简捷信息系统架构
- Oracle高级函数
- python cx_Oracle api
- Oracle登录报ORA-01031: insufficient privileges的问题记录