ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

Oracle查询表空间的每日增长量

2021-04-15 09:57:25  阅读:163  来源: 互联网

标签:rtime 1024 增长量 ts 查询 tablespace Oracle id size


Oracle查询表空间的每日增长量

 

---10g和11g

SELECT a.snap_id,
       c.tablespace_name ts_name,
       to_char(to_date(a.rtime, 'mm/dd/yyyy hh24:mi:ss'), 'yyyy-mm-dd hh24:mi') rtime,
       round(a.tablespace_size * c.block_size / 1024 / 1024, 2) ts_size_mb,
       round(a.tablespace_usedsize * c.block_size / 1024 / 1024, 2) ts_used_mb,
       round((a.tablespace_size - a.tablespace_usedsize) * c.block_size / 1024 / 1024,
             2) ts_free_mb,
       round(a.tablespace_usedsize / a.tablespace_size * 100, 2) pct_used
  FROM dba_hist_tbspc_space_usage a, 
       (SELECT tablespace_id,
               substr(rtime, 1, 10) rtime,
               max(snap_id) snap_id
          FROM dba_hist_tbspc_space_usage nb
         group by tablespace_id, substr(rtime, 1, 10)) b,
         dba_tablespaces c,
         v$tablespace d
 where a.snap_id = b.snap_id
   and a.tablespace_id = b.tablespace_id
   and a.tablespace_id=d.TS#
   and d.NAME=c.tablespace_name  
	 and  to_date(a.rtime, 'mm/dd/yyyy hh24:mi:ss') >=sysdate-30
   order by a.tablespace_id,to_date(a.rtime, 'mm/dd/yyyy hh24:mi:ss') desc;

--12c

SELECT a.snap_id,
       a.con_id,
       e.name pdbname,
       c.tablespace_name ts_name,
       to_char(to_date(a.rtime, 'mm/dd/yyyy hh24:mi:ss'), 'yyyy-mm-dd hh24:mi') rtime,
       round(a.tablespace_size * c.block_size / 1024 / 1024, 2) ts_size_mb,
       round(a.tablespace_usedsize * c.block_size / 1024 / 1024, 2) ts_used_mb,
       round((a.tablespace_size - a.tablespace_usedsize) * c.block_size / 1024 / 1024,
             2) ts_free_mb,
       round(a.tablespace_usedsize / a.tablespace_size * 100, 2) pct_used
  FROM cdb_hist_tbspc_space_usage a, 
       (SELECT tablespace_id,
               nb.con_id,
               substr(rtime, 1, 10) rtime,
               max(snap_id) snap_id
          FROM dba_hist_tbspc_space_usage nb
         group by tablespace_id, nb.con_id,substr(rtime, 1, 10)) b,
         cdb_tablespaces c,
         v$tablespace d,
         V$CONTAINERS e
 where a.snap_id = b.snap_id
   and a.tablespace_id = b.tablespace_id
   and a.con_id=b.con_id
   and a.con_id=c.con_id
   and a.con_id=d.con_id
   and a.con_id=e.con_id
   and a.tablespace_id=d.TS#
   and d.NAME=c.tablespace_name
	 and  to_date(a.rtime, 'mm/dd/yyyy hh24:mi:ss') >=sysdate-30
   order by a.CON_ID,a.tablespace_id,to_date(a.rtime, 'mm/dd/yyyy hh24:mi:ss') desc;

--其它

select u.snap_id,
       to_char(s.begin_interval_time, 'yyyy-mm-dd hh24') begin_time,
       to_char(s.end_interval_time, 'yyyy-mm-dd hh24') end_time,
       t.name,
       round(u.tablespace_size * ts.block_size / 1024 / 1024, 2) ts_size_mb,
       round(u.tablespace_usedsize * ts.block_size / 1024 / 1024, 2) ts_used_mb,
       round((u.tablespace_size - u.tablespace_usedsize) * ts.block_size / 1024 / 1024,
             2) ts_free_mb,
       round(u.tablespace_usedsize / u.tablespace_size * 100, 2) pct_used
  from dba_hist_tbspc_space_usage u,
       v$tablespace               t,
       dba_hist_snapshot          s,
       dba_tablespaces            ts
 where u.tablespace_id = t.ts#
   and u.snap_id = s.snap_id
   and t.name = ts.tablespace_name
   and s.instance_number = 1
   and t.name = 'SYSTEM'
   and s.end_interval_time > sysdate - 7   
     order by snap_id desc;
      
      
     select u.snap_id,
       to_char(s.begin_interval_time, 'yyyy-mm-dd hh24') begin_time,
       to_char(s.end_interval_time, 'yyyy-mm-dd hh24') end_time,
       t.name,
       round(u.tablespace_size * ts.block_size / 1024 / 1024, 2) ts_size_mb,
       round(u.tablespace_usedsize * ts.block_size / 1024 / 1024, 2) ts_used_mb,
       round((u.tablespace_size - u.tablespace_usedsize) * ts.block_size / 1024 / 1024,
             2) ts_free_mb,
       round(u.tablespace_usedsize / u.tablespace_size * 100, 2) pct_used
  from cdb_hist_tbspc_space_usage u,
       v$tablespace               t,
       cdb_hist_snapshot          s,
       cdb_tablespaces            ts
 where u.tablespace_id = t.ts#
   and u.snap_id = s.snap_id
   and t.name = ts.tablespace_name
   and s.instance_number = 1
     and u.CON_ID=t.CON_ID
     and u.CON_ID=s.CON_ID
     and u.CON_ID=ts.CON_ID
   and t.name = 'SYSTEM'
   and s.end_interval_time > sysdate - 7   
   order by snap_id desc;

 

如何估算oracle  数据库,数据库对象历史增长情况

-----最近七天数据库的增长情况,这个只是一个估算值。

select sum(space_used_total)/1024/1024/1024 "last 7 days db increase - G" 
from 
dba_hist_seg_stat s, 
dba_hist_seg_stat_obj o, 
dba_hist_snapshot sn 
where 
s.obj# = o.obj# 
and 
sn.snap_id = s.snap_id 
and begin_interval_time > sysdate-8 
order by 
begin_interval_time 
/

以下再补充两个类似的脚本脚本来之网上:

scripts:查看数据库历史增长情况


查看数据库历史增长情况 
此处是通过计算数据库所有表空间的历史增长情况来计算数据库历史情况。 
--不含undo和temp

with tmp as 
(select rtime, 
sum(tablespace_usedsize_kb) tablespace_usedsize_kb, 
sum(tablespace_size_kb) tablespace_size_kb 
from (select rtime, 
e.tablespace_id, 
(e.tablespace_usedsize) * (f.block_size) / 1024 tablespace_usedsize_kb, 
(e.tablespace_size) * (f.block_size) / 1024 tablespace_size_kb 
from dba_hist_tbspc_space_usage e, 
dba_tablespaces f, 
v$tablespace g 
where e.tablespace_id = g.TS# 
and f.tablespace_name = g.NAME 
and f.contents not in ('TEMPORARY','UNDO')) 
group by rtime) 
select tmp.rtime, 
tablespace_usedsize_kb, 
tablespace_size_kb, 
(tablespace_usedsize_kb - 
LAG(tablespace_usedsize_kb, 1, NULL) OVER(ORDER BY tmp.rtime)) AS DIFF_KB 
from tmp, 
(select max(rtime) rtime 
from tmp 
group by substr(rtime, 1, 10)) t2 
where t2.rtime = tmp.rtime;

--含undo和temp

with tmp as 
(select min(rtime) rtime, 
sum(tablespace_usedsize_kb) tablespace_usedsize_kb, 
sum(tablespace_size_kb) tablespace_size_kb 
from (select rtime, 
e.tablespace_id, 
(e.tablespace_usedsize) * (f.block_size) / 1024 tablespace_usedsize_kb, 
(e.tablespace_size) * (f.block_size) / 1024 tablespace_size_kb 
from dba_hist_tbspc_space_usage e, 
dba_tablespaces f, 
v$tablespace g 
where e.tablespace_id = g.TS# 
and f.tablespace_name = g.NAME) 
group by rtime) 
select tmp.rtime, 
tablespace_usedsize_kb, 
tablespace_size_kb, 
(tablespace_usedsize_kb - 
LAG(tablespace_usedsize_kb, 1, NULL) OVER(ORDER BY tmp.rtime)) AS DIFF_KB 
from tmp, 
(select min(rtime) rtime 
from tmp 
group by substr(rtime, 1, 10)) t2 where t2.rtime = tmp.rtime


############################################################## 
SQL脚本:列出相关段对象在 快照时间内的使用空间的历史变化信息:

column owner format a16 
column object_name format a36 
column start_day format a11 
column block_increase format 9999999999

select obj.owner, obj.object_name, 
to_char(sn.BEGIN_INTERVAL_TIME,'RRRR-MON-DD') start_day, 
sum(a.db_block_changes_delta) block_increase 
from dba_hist_seg_stat a, 
dba_hist_snapshot sn, 
dba_objects obj 
where sn.snap_id = a.snap_id 
and obj.object_id = a.obj# 
and obj.owner not in ('SYS','SYSTEM') 
and end_interval_time between to_timestamp('17-FEB-2014','DD-MON-RRRR') 
and to_timestamp('25-FEB-2014','DD-MON-RRRR') 
group by obj.owner, obj.object_name, 
to_char(sn.BEGIN_INTERVAL_TIME,'RRRR-MON-DD') 
order by obj.owner, obj.object_name ;

 

 

标签:rtime,1024,增长量,ts,查询,tablespace,Oracle,id,size
来源: https://blog.51cto.com/lhrbest/2707181

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有