精心总结--Oracle查询表空间的每日增长量和历史情况统计脚本
创始人
2025-03-19 03:00:18
0次

今天主要总结一下Oracle表空间每日增长和历史情况统计的一些脚本,仅供参考。

[[279040]]

11g统计表空间的每日增长量

  1. SELECT a.snap_id, 
  2.  c.tablespace_name ts_name, 
  3.  to_char(to_date(a.rtime, 'mm/dd/yyyy hh24:mi:ss'), 
  4.  'yyyy-mm-dd hh24:mi') rtime, 
  5.  round(a.tablespace_size * c.block_size / 1024 / 1024, 2) ts_size_mb, 
  6.  round(a.tablespace_usedsize * c.block_size / 1024 / 1024, 2) ts_used_mb, 
  7.  round((a.tablespace_size - a.tablespace_usedsize) * c.block_size / 1024 / 1024, 
  8.  2) ts_free_mb, 
  9.  round(a.tablespace_usedsize / a.tablespace_size * 100, 2) pct_used 
  10.  FROM dba_hist_tbspc_space_usage a, 
  11.  (SELECT tablespace_id, 
  12.  substr(rtime, 1, 10) rtime, 
  13.  max(snap_id) snap_id 
  14.  FROM dba_hist_tbspc_space_usage nb 
  15.  group by tablespace_id, substr(rtime, 1, 10)) b, 
  16.  dba_tablespaces c, 
  17.  v$tablespace d 
  18.  where a.snap_id = b.snap_id 
  19.  and a.tablespace_id = b.tablespace_id 
  20.  and a.tablespace_id = d.TS# 
  21.  and d.NAME = c.tablespace_name 
  22.  and to_date(a.rtime, 'mm/dd/yyyy hh24:mi:ss') >= sysdate - 30 
  23.  order by a.tablespace_id, to_date(a.rtime, 'mm/dd/yyyy hh24:mi:ss') desc; 

精心总结--Oracle查询表空间的每日增长量和历史情况统计脚本

12c统计表空间的每日增长量

  1. SELECT a.snap_id, 
  2.  a.con_id, 
  3.  e.name pdbname, 
  4.  c.tablespace_name ts_name, 
  5.  to_char(to_date(a.rtime, 'mm/dd/yyyy hh24:mi:ss'), 'yyyy-mm-dd hh24:mi') rtime, 
  6.  round(a.tablespace_size * c.block_size / 1024 / 1024, 2) ts_size_mb, 
  7.  round(a.tablespace_usedsize * c.block_size / 1024 / 1024, 2) ts_used_mb, 
  8.  round((a.tablespace_size - a.tablespace_usedsize) * c.block_size / 1024 / 1024, 
  9.  2) ts_free_mb, 
  10.  round(a.tablespace_usedsize / a.tablespace_size * 100, 2) pct_used 
  11.  FROM cdb_hist_tbspc_space_usage a,  
  12.  (SELECT tablespace_id, 
  13.  nb.con_id, 
  14.  substr(rtime, 1, 10) rtime, 
  15.  max(snap_id) snap_id 
  16.  FROM dba_hist_tbspc_space_usage nb 
  17.  group by tablespace_id, nb.con_id,substr(rtime, 1, 10)) b, 
  18.  cdb_tablespaces c, 
  19.  v$tablespace d, 
  20.  V$CONTAINERS e 
  21.  where a.snap_id = b.snap_id 
  22.  and a.tablespace_id = b.tablespace_id 
  23.  and a.con_id=b.con_id 
  24.  and a.con_id=c.con_id 
  25.  and a.con_id=d.con_id 
  26.  and a.con_id=e.con_id 
  27.  and a.tablespace_id=d.TS# 
  28.  and d.NAME=c.tablespace_name 
  29.  and to_date(a.rtime, 'mm/dd/yyyy hh24:mi:ss') >=sysdate-30 
  30.  order by a.CON_ID,a.tablespace_id,to_date(a.rtime, 'mm/dd/yyyy hh24:mi:ss') desc; 

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

 

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

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

精心总结--Oracle查询表空间的每日增长量和历史情况统计脚本

查看数据库历史增长情况

此处是通过计算数据库所有表空间的历史增长情况来计算数据库历史情况。

不含undo和temp:

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

含undo和temp:

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

精心总结--Oracle查询表空间的每日增长量和历史情况统计脚本

精心总结--Oracle查询表空间的每日增长量和历史情况统计脚本

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

  1. select obj.owner, 
  2.  obj.object_name, 
  3.  to_char(sn.BEGIN_INTERVAL_TIME, 'RRRR-MON-DD') start_day, 
  4.  sum(a.db_block_changes_delta) block_increase 
  5.  from dba_hist_seg_stat a, dba_hist_snapshot sn, dba_objects obj 
  6.  where sn.snap_id = a.snap_id 
  7.  and obj.object_id = a.obj# 
  8.  and obj.owner not in ('SYS', 'SYSTEM') 
  9.  and end_interval_time between to_timestamp('01-OCT-2019', 'DD-MON-RRRR') and 
  10.  to_timestamp('09-OCT-2019', 'DD-MON-RRRR') 
  11.  group by obj.owner, 
  12.  obj.object_name, 
  13.  to_char(sn.BEGIN_INTERVAL_TIME, 'RRRR-MON-DD') 
  14.  order by obj.owner, obj.object_name; 

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
粉嫩如何诠释霸道 东芝M805... “霸道粉”是个什么玩意东芝M805拿过来的时候,笔者扑哧笑了,不是笑这款笔记本,而是笑这款产品的颜色...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
只需三步,让你掌握阿尔法路由器... 请参照以下阿尔法路由器设置方法,通过浏览器进入及设置宽带路由器。经过这三个步骤的设置,基本上能够熟悉...
如何更省钱? 近期特价热门硒鼓... 如今激光打印设备已经成为商务或企业的绝对主力办公设备,但采购者往往忽视了激光打印设备所用的耗材,相对...
全面诠释网络负载均衡 负载均衡的出现大大缓解了服务器的压力,更是有效的利用了资源,提高了效率。那么我们现在来说一下网络负载...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...