700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Oracle数据库查看表空间使用率

Oracle数据库查看表空间使用率

时间:2019-11-06 08:30:46

相关推荐

Oracle数据库查看表空间使用率

12C之前或NON-CDB模式的数据库查看表空间使用率

set linesize 160set pagesize 999col TABLESPACE_NAME for a18col TBS_TOTAL_MB for 9999999col TBS_USED_MB for 9999999col TBS_FREE_MB for 9999999col TBS_RATE for a11 col EXTEND_MAX_MB for 9999999999999col EXTEND_FREE_MB for 9999999999999col EXTEND_RATE for a11select a.tablespace_name,round(current_size / 1024 / 1024, 1) TBS_TOTAL_MB,round((current_size - b.free_bytes) / 1024 / 1024, 1) TBS_USED_MB,round(b.free_bytes / 1024 / 1024, 1) TBS_FREE_MB,round(((current_size - b.free_bytes) / current_size) * 100, 1) || '%' TBS_RATE,round(a.max_size / 1024 / 1024, 1) EXTEND_MAX_MB,round((a.max_size - (current_size - b.free_bytes)) / 1024 / 1024, 1) EXTEND_FREE_MB,round(((current_size - b.free_bytes) / a.max_size) * 100, 1) || '%' "EXTEND_RATE"from (select tablespace_name,sum(ddf.bytes) current_size,sum(casewhen ddf.autoextensible = 'YES' THENDDF.MAXBYTESELSEDDF.BYTESEND) max_sizefrom dba_data_files ddfgroup by tablespace_nameunionselect tablespace_name,sum(ddf.bytes) current_size,sum(casewhen ddf.autoextensible = 'YES' THENDDF.MAXBYTESELSEDDF.BYTESEND) max_sizefrom dba_temp_files ddfgroup by tablespace_name) a,(select dfs.tablespace_name, sum(dfs.bytes) free_bytesfrom dba_free_space dfsgroup by dfs.tablespace_nameunionselect tfs.tablespace_name, sum(tfs.BYTES_FREE) free_bytesfrom v$TEMP_SPACE_HEADER tfsgroup by tfs.tablespace_name) bwhere a.tablespace_name = b.tablespace_name(+)order by 8;

主要观察EXTEND_RATE列,表示最大可扩展已使用率。

若为CDB模式数据库,可通过一下语句查询所有CDB和PDB的表空间使用率

set line 200 pages 999column name for a10column tablespace_name for a15column "MAXSIZE (MB)" format 9,999,990.00column "ALLOC (MB)" format 9,999,990.00column "USED (MB)" format 9,999,990.00column "PERC_USED" format 99.00select a.con_id,c.name,b.tablespace_name,a.bytes_alloc/(1024*1024) "MAXSIZE (MB)", nvl(a.physical_bytes,0)/(1024*1024) "ALLOC (MB)" ,nvl(b.tot_used,0)/(1024*1024) "USED (MB)" ,round((nvl(b.tot_used,0)/a.physical_bytes)*100,2) "USED%",round((nvl(b.tot_used,0)/a.bytes_alloc)*100,2) "PERC_USED"from(select con_id,tablespace_name, sum(bytes) physical_bytes,sum(decode(autoextensible,'NO',bytes,'YES',maxbytes)) bytes_allocfrom cdb_data_files group by con_id,tablespace_name ) a,(select con_id,tablespace_name, sum(bytes) tot_used from cdb_segments group by con_id,tablespace_name ) b,(select name,con_id from v$containers) cwhere a.con_id=b.con_id and a.con_id = c.con_id and a.tablespace_name = b.tablespace_name (+)order by 1,3;

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。