--查询前一周表空间增长情况
select c.tablespace_name,
d."total(mb)",
d."used(mb)" - c."used(mb)" as "increment(mb)",
to_char(next_day(trunc(sysdate), 2) - 7, 'yyyy/mm/dd') || '--' ||
to_char(next_day(trunc(sysdate), 2) - 7, 'yyyy/mm/dd') "time"
from (select b.name tablespace_name,
case
when b.name not like 'undo%' then
round(a.tablespace_size * 8 / 1024)
when b.name like 'undo%' then
round(a.tablespace_size * 8 / 1024 / 2)
end as "total(mb)",
round(a.tablespace_usedsize * 8 / 1024) "used(mb)",
a.rtime
from dba_hist_tbspc_space_usage a, v$tablespace b
where a.tablespace_id = b.ts#
and to_char(to_date(replace(rtime, '/', null),
'mmddyyyy hh24:mi:ss'),
'yyyymmdd hh24:mi') =
to_char(next_day(trunc(sysdate), 2) - 14, 'yyyymmdd hh24:mi')) c,
(select b.name tablespace_name,
case
when b.name not like 'undo%' then
round(a.tablespace_size * 8 / 1024)
when b.name like 'undo%' then
round(a.tablespace_size * 8 / 1024 / 2)
end as "total(mb)",
round(a.tablespace_usedsize * 8 / 1024) "used(mb)",
a.rtime
from dba_hist_tbspc_space_usage a, v$tablespace b
where a.tablespace_id = b.ts#
and to_char(to_date(replace(rtime, '/', null),
'mmddyyyy hh24:mi:ss'),
'yyyymmdd hh24:mi') =
to_char(next_day(trunc(sysdate), 2) - 7, 'yyyymmdd hh24:mi')) d
where c.tablespace_name = d.tablespace_name;
--查询前一天表空间增长情况
select c.tablespace_name,
d."total(mb)",
d."used(mb)" - c."used(mb)" as "increment(mb)",
to_char(trunc(sysdate - 1), 'yyyy/mm/dd') "time"
from (select b.name tablespace_name,
case
when b.name not like 'undo%' then
round(a.tablespace_size * 8 / 1024)
when b.name like 'undo%' then
round(a.tablespace_size * 8 / 1024 / 2)
end as "total(mb)",
round(a.tablespace_usedsize * 8 / 1024) "used(mb)",
a.rtime
from dba_hist_tbspc_space_usage a, v$tablespace b
where a.tablespace_id = b.ts#
and to_char(to_date(replace(rtime, '/', null),
'mmddyyyy hh24:mi:ss'),
'yyyymmdd hh24:mi') =
to_char(trunc(sysdate - 1), 'yyyymmdd hh24:mi')) c,
(select b.name tablespace_name,
case
when b.name not like 'undo%' then
round(a.tablespace_size * 8 / 1024)
when b.name like 'undo%' then
round(a.tablespace_size * 8 / 1024 / 2)
end as "total(mb)",
round(a.tablespace_usedsize * 8 / 1024) "used(mb)",
a.rtime
from dba_hist_tbspc_space_usage a, v$tablespace b
where a.tablespace_id = b.ts#
and to_char(to_date(replace(rtime, '/', null),
'mmddyyyy hh24:mi:ss'),
'yyyymmdd hh24:mi') =
to_char(trunc(sysdate), 'yyyymmdd hh24:mi')) d
where c.tablespace_name = d.tablespace_name;
--在得知哪个表空间增长明显的情况下,再去查询该表空间的对象大小情况,tablespace_name为某表空间名称
select owner, segment_name, segment_type, bytes / 1024 / 1024 / 1024 gb
from dba_segments
where tablespace_name ='&tablespace_name'
order by bytes desc;
select *
from (select owner,
segment_name,
segment_type,
bytes / 1024 / 1024 / 1024 gb
from dba_segments
where tablespace_name ='&tablespace_name'
order by bytes desc)
where rownum < 30;
--如何确定某些对象容量增涨快,需要一定时间的跟踪,周期性查询该对象的容量。然后根据对象做相应后续处理。
如对本文有疑问, 点击进行留言回复!!
Oracle 基本概念 Dadabase,schema,user,table...
dbeaver连接Oracle中文乱码的解决方案--druid
Oracle常用语句(时间格式、去重、去特殊符号、查询表空间等)
Navicate 如何导出数据库中的存储过程、事件、视图等?
每日一记:Oracle升级2020年4月份的数据库补丁Database Patch Set Update : 11.2.0.4.200414 (30670774)
网友评论