首页 > 数据库 >Oracle script to check the database growth

Oracle script to check the database growth

时间:2023-08-22 18:02:25浏览次数:28  
标签:1024 USED database SUM BYTES FREE growth Oracle ROUND

1、Oracle script to check the database growth

SET LINESIZE 200
SET PAGESIZE 200
COL "Database Size" FORMAT a13
COL "Used Space" FORMAT a11
COL "Used in %" FORMAT a11
COL "Free in %" FORMAT a11
COL "Database Name" FORMAT a13
COL "Free Space" FORMAT a12
COL "Growth DAY" FORMAT a11
COL "Growth WEEK" FORMAT a12
COL "Growth DAY in %" FORMAT a16
COL "Growth WEEK in %" FORMAT a16
SELECT
(select min(creation_time) from v$datafile) "Create Time",
(select name from v$database) "Database Name",
ROUND((SUM(USED.BYTES) / 1024 / 1024 ),2) || ' MB' "Database Size",
ROUND((SUM(USED.BYTES) / 1024 / 1024 ) - ROUND(FREE.P / 1024 / 1024 ),2) || ' MB' "Used Space",
ROUND(((SUM(USED.BYTES) / 1024 / 1024 ) - (FREE.P / 1024 / 1024 )) / ROUND(SUM(USED.BYTES) / 1024 / 1024 ,2)*100,2) || '% MB' "Used in %",
ROUND((FREE.P / 1024 / 1024 ),2) || ' MB' "Free Space",
ROUND(((SUM(USED.BYTES) / 1024 / 1024 ) - ((SUM(USED.BYTES) / 1024 / 1024 ) - ROUND(FREE.P / 1024 / 1024 )))/ROUND(SUM(USED.BYTES) / 1024 / 1024,2 )*100,2) || '% MB' "Free in %",
ROUND(((SUM(USED.BYTES) / 1024 / 1024 ) - (FREE.P / 1024 / 1024 ))/(select sysdate-min(creation_time) from v$datafile),2) || ' MB' "Growth DAY",
ROUND(((SUM(USED.BYTES) / 1024 / 1024 ) - (FREE.P / 1024 / 1024 ))/(select sysdate-min(creation_time) from v$datafile)/ROUND((SUM(USED.BYTES) / 1024 / 1024 ),2)*100,3) || '% MB' "Growth DAY in %",
ROUND(((SUM(USED.BYTES) / 1024 / 1024 ) - (FREE.P / 1024 / 1024 ))/(select sysdate-min(creation_time) from v$datafile)*7,2) || ' MB' "Growth WEEK",
ROUND((((SUM(USED.BYTES) / 1024 / 1024 ) - (FREE.P / 1024 / 1024 ))/(select sysdate-min(creation_time) from v$datafile)/ROUND((SUM(USED.BYTES) / 1024 / 1024 ),2)*100)*7,3) || '% MB' "Growth WEEK in %"
FROM    (SELECT BYTES FROM V$DATAFILE
UNION ALL
SELECT BYTES FROM V$TEMPFILE
UNION ALL
SELECT BYTES FROM V$LOG) USED,
(SELECT SUM(BYTES) AS P FROM DBA_FREE_SPACE) FREE
GROUP BY FREE.P;

   

2、lists the details of database growth per month

 

select to_char(creation_time, 'MM-RRRR') "Month", sum(bytes)/1024/1024/1024 "Growth in GB"
from sys.v_$datafile
where to_char(creation_time,'RRRR')='2014'
group by to_char(creation_time, 'MM-RRRR')
order by  to_char(creation_time, 'MM-RRRR');

  


标签:1024,USED,database,SUM,BYTES,FREE,growth,Oracle,ROUND
From: https://www.cnblogs.com/lkj371/p/17649301.html

相关文章

  • oracle 查询表,索引列等
    1、查找表的所有索引(包括索引名,类型,构成列):selectt.,i.index_typefromuser_ind_columnst,user_indexesiwheret.index_name=i.index_nameandt.table_name=i.table_nameandt.table_name=要查询的表2、查找表的主键(包括名称,构成列):selectcu.fromuser_cons_c......
  • oracle-行转列
    现有由多个诊断组成的字段,诊断个数不定,由英文逗号拼接。现需要将字段分解,每条诊断列为一行。转化前字段如下图:转化后字段如下图:SQL实现方法如下:selecta.id,substr(编码,instr(编码,',',1,levels.lvl)+1,instr(编码,',',1,levels.lvl+1)-(instr(编码,',',1,levels.lvl)+1)......
  • oracle 字符集
    oracle查看字符集select*fromv$nls_parameterswhereparameter='NLS_CHARACTERSET'select*fromv$nls_parameterswhereparameter='NLSNCHARCHARACTERSE'修改字符集步骤shutdownimmediate;startupmount;ALTERSESSIONSETSQL_TRACE=TRUE;ALTE......
  • oracle-体系结构
    18c、19c相当于12c的小版本Oracle服务器是由一个Oracle数据库和一个Oracle实例组成。Oracle实例是一种访问Oracle数据库的基本方式,总是打开一个且只打开一个数据库,由内存结构和进程结构组成。Oracle数据库是作为一个单元对待的数据的集合体,由三种文件类型组成。三类文件如下:......
  • C#和Oracle的交互
    1.安装Oracle,略。2.(非必要,全局用户也可)在sys下创建用户并授权session、createtable,createtablespace,createview,unlimitedtablespace。3.在VisualStudio创建项目,并将Oracle本地目录下的文件Oracle.DataAccess.dll复制到项目的exe所在目录下(bin/Debug/*)。4.......
  • oracle通配符大全
    用于where比较条件的有:等于:=、<、<=、>、>=、<>>,<:大于,小于>=.<=:大于等于,小于等于=:等于!=,<>,^=:不等于包含:in、notinexists、notexists范围:between...and、notbetween....and匹配测试:like、notlikeNull测试:isnull、isnotnull布尔链接:and、or、notOracle通配符:在where......
  • oracle中怎样把一个用户的所有table的select权限授给另外一个用户
    1、双击桌面sqldeveloper软件图标启动软件。2、新建数据库连接,填写登录数据库信息并选择相应角色进行登录。3、登录成功后先查询出hr用户下所有的表名,可直接通过dba_tables来进行查询。4、把查询权限赋给测试用户的方法有两种,一种为当用户下的表比较少的情况下可以直接通过gran......
  • 【oracle开发】wmsys.wm_concat介绍
    wmsys.wm_concat是一个聚合函数,其作用是将一列数据转换成一行,也就是我们常用的行专列,但是该函数是一个undocument函数,所以不推荐大家使用这个函数。因为在后续的版本中还提不提供这个函数都不好说呢。首先创建临时表和测试数据使用该函数,可以看到我们的按id做groupby,把name字......
  • oracle怎么表示当天零点,Oracle 取得当天0时0分0秒和23时59分59秒
    1.取得当天0时0分0秒selectTRUNC(SYSDATE)FROMdual;2.取得当天23时59分59秒(在当天0时0分0秒的基础上加1天后再减1秒)SELECTTRUNC(SYSDATE)+1-1/86400FROMdual;3.取得当前日期是一个星期中的第几天,注意:星期日是第一天selectto_char(sysdate,'D'),to_char(sysdate,'......
  • 哪篇论文宣布了 HTAP 数据库的诞生? StoneDB带您解读《A Common Database Approach for
    theme:condensed-night-purple开启掘金成长之旅!这是我参与「掘金日新计划·12月更文挑战」的第4天,点击查看活动详情本文是 StoneDB学术分享会专栏的第五篇,我们来分享一下HTAP学术界上比较经典的一篇论文《ACommonDatabaseApproachforOLTPandOLAPUsinganIn-M......