oracle数据库检查所有表空间使用率的脚本

REM tablespace report

set linesize 200

select a.tablespace_name,

round(a.bytes_alloc / 1024 / 1024) megs_alloc,

round(nvl(b.bytes_free, 0) / 1024 / 1024) megs_free,

round((a.bytes_alloc - nvl(b.bytes_free, 0)) / 1024 / 1024) megs_used,

round((nvl(b.bytes_free, 0) / a.bytes_alloc) 100) Pct_Free,

100 - round((nvl(b.bytes_free, 0) / a.bytes_alloc) 100) Pct_used,

round(maxbytes / 1048576) Max

from (select f.tablespace_name,

sum(f.bytes) bytes_alloc,

sum(decode(f.autoextensible, ‘YES‘, f.maxbytes, ‘NO‘, f.bytes)) maxbytes

from dba_data_files f

group by tablespace_name) a,

(select f.tablespace_name, sum(f.bytes) bytes_free

from dba_free_space f

group by tablespace_name) b

where a.tablespace_name = b.tablespace_name(+)

union all

select h.tablespace_name,

round(sum(h.bytes_free + h.bytes_used) / 1048576) megs_alloc,

round(sum((h.bytes_free + h.bytes_used) - nvl(p.bytes_used, 0)) /

1048576) megs_free,

round(sum(nvl(p.bytes_used, 0)) / 1048576) megs_used,

round((sum((h.bytes_free + h.bytes_used) - nvl(p.bytes_used, 0)) /

sum(h.bytes_used + h.bytes_free)) 100) Pct_Free,

100 -

round((sum((h.bytes_free + h.bytes_used) - nvl(p.bytes_used, 0)) /

sum(h.bytes_used + h.bytes_free)) 100) pctused,

round(sum(f.maxbytes) / 1048576) max

from sys.v$TEMP_SPACEHEADER h,

sys.v$Temp_extent_pool p,

dba_temp_files f

where p.file_id(+) = h.file_id

and p.tablespace_name(+) = h.tablespace_name

and f.file_id = h.file_id

and f.tablespace_name = h.tablespace_name

group by h.tablespace_name

ORDER BY 1

/

SELECT d.tablespace_name "Name",

TO_CHAR(NVL(a.bytes / 1024 / 1024, 0),‘99,999,990.900‘) "Size (M)",

TO_CHAR(NVL(t.hwm, 0)/1024/1024,‘99999999.999‘) "HWM (M)",

TO_CHAR(NVL(t.hwm / a.bytes * 100, 0), ‘990.00‘) "HWM % " ,

TO_CHAR(NVL(t.bytes/1024/1024, 0),‘99999999.999‘) "Using (M)",

TO_CHAR(NVL(t.bytes / a.bytes * 100, 0), ‘990.00‘) "Using %"

FROM sys.dba_tablespaces d,

(select tablespace_name, sum(bytes) bytes from dba_temp_files group by tablespace_name) a,

(select tablespace_name, sum(bytes_cached) hwm, sum(bytes_used) bytes from v$temp_extent_pool group by tablespace_name) t

WHERE d.tablespace_name = a.tablespace_name(+)

AND d.tablespace_name = t.tablespace_name(+)

AND d.extent_management like ‘LOCAL‘

AND d.contents like ‘TEMPORARY‘

/

ttitle -

center ‘Database Freespace Summary‘ skip 2

comp sum of nfrags totsiz avasiz on report

break on report

set pages 999

col tsname format a16 justify c heading ‘Tablespace‘

col nfrags format 999,990 justify c heading ‘Free|Frags‘

col mxfrag format 999,999 justify c heading ‘Largest|Frag (MB)‘

col totsiz format 999,999 justify c heading ‘Total|(MB)‘

col avasiz format 999,999 justify c heading ‘Available|(MB)‘

col pctusd format 990 justify c heading ‘Pct|Used‘

select total.TABLESPACE_NAME tsname,

D nfrags,

C/1024/1024 mxfrag,

A/1024/1024 totsiz,

B/1024/1024 avasiz,

(1-nvl(B,0)/A)*100 pctusd

from

(select sum(bytes) A,

tablespace_name

from dba_data_files

group by tablespace_name) TOTAL,

(select sum(bytes) B,

max(bytes) C,

count(bytes) D,

tablespace_name

from dba_free_space

group by tablespace_name) FREE

where

total.TABLESPACE_NAME=free.TABLESPACE_NAME(+)

/

SELECT t.tablespace_name,

CASE

WHEN t.contents = ‘TEMPORARY‘ AND t.extent_management = ‘LOCAL‘ THEN

u.bytes

ELSE

df.user_bytes - NVL(fs.bytes, 0)

END / 1024 / 1024 used_mb,

CASE

WHEN t.contents = ‘TEMPORARY‘ AND t.extent_management = ‘LOCAL‘ THEN

df.user_bytes - NVL(u.bytes, 0)

ELSE

NVL(fs.bytes, 0)

END / 1024 / 1024 free_mb,

fs.min_fragment / 1024 / 1024 min_fragment_mb,

fs.max_fragment / 1024 / 1024 max_fragment_mb,

(fs.bytes / 1024 / 1024) / fs.fragments avg_fragment_mb,

fs.fragments,

t.status,

t.contents,

t.logging,

t.extent_management,

t.allocation_type,

t.force_logging,

t.segment_space_management,

t.def_tab_compression,

t.retention,

t.bigfile

FROM dba_tablespaces t,

(SELECT tablespace_name,

SUM(bytes) bytes,

MIN(min_fragment) min_fragment,

MAX(max_fragment) max_fragment,

SUM(fragments) fragments

FROM (SELECT tablespace_name,

SUM(bytes) bytes,

MIN(bytes) min_fragment,

MAX(bytes) max_fragment,

COUNT() fragments

FROM dba_free_space

GROUP BY tablespace_name

UNION ALL

SELECT tablespace_name,

SUM(bytes) bytes,

MIN(bytes) min_fragment,

MAX(bytes) max_fragment,

COUNT() fragments

FROM dba_undo_extents

WHERE status = ‘EXPIRED‘

GROUP BY tablespace_name)

GROUP BY tablespace_name) fs,

(SELECT tablespace_name, SUM(user_bytes) user_bytes

FROM dba_data_files

GROUP BY tablespace_name

UNION ALL

SELECT tablespace_name, SUM(user_bytes) user_bytes

FROM dba_temp_files

GROUP BY tablespace_name) df,

(SELECT tablespace_name, SUM(bytes_used) bytes

FROM gv$temp_extent_pool

GROUP BY tablespace_name) u

WHERE t.tablespace_name = df.tablespace_name(+)

AND t.tablespace_name = fs.tablespace_name(+)

AND t.tablespace_name = u.tablespace_name(+)

/

更多技术分享,请关注微信公众号 Big Data课堂

oracle的表空间的检查,oracle数据库检查所有表空间使用率的脚本相关推荐

  1. php导出数据库的指定表数据,MYSQL教程mysql数据库导出指定表数据的方法

    <MYSQL教程mysql数据库导出指定表数据的方法>要点: 本文介绍了MYSQL教程mysql数据库导出指定表数据的方法,希望对您有用.如果有疑问,可以联系我们. 导读:linux下导出 ...

  2. SQL数据库不用SQL语句能显示全表的内容_阿里巴巴数据库分库分表的实践

    在2006年阿里巴巴B2B团队以开源方式研发了Cobar这一关系型数据的分布式处理系统.该系统在很大程度上解决了最初使用Oracle数据库因为存储数据变得越来越大带来的扩展性问题,并且为开发人员提供了 ...

  3. 00942 ora 表存在_ORA-00942:写入数据库中的表时,表或视图不存在错误

    我试图使用java jdbc从一个数据库表中读取数据,并尝试在同一会话中的不同服务器上插入另一个数据库表 . 我创建了2个连接对象(con,conn1),每个对象指向正确的数据库 . 使用第一个con ...

  4. 订单表的字段类型 mysql_Mysql数据库下订单表如何设计?

    Mysql数据库下订单表如何设计 商品表和订单表 . 通过一个表来关联. 那删除了商品,相关联的订单表如何显示出这个已经删除的商品 订单表需要冗余商品名.商品编号.价格等基本信息. 不能只保存一个商品 ...

  5. vb 读取mysql所有表名_VB 读取ACCESS数据库中所有表名和指定表字段名.doc

    VB 读取ACCESS数据库中所有表名和指定表字段名 托束显疫面绰么蚂扛沁米衅居鸳辗熊踌薄舱杂们帖婉珍抓津担庐撕枪呻头胀亨短宛溅锭语氏遣搀赠摩紧茧综逾颂备呛庞枷脓移厚醛仕恬浸值胶碟亦短咳腥钥捎魄朗氟商 ...

  6. python两张表对比不同_Python对比数据库两张表是否一致

    工作中我们经常需要对比数据库中两张表的数据是否有差异,以下代码通过pymsql对两张表的数据进行简单对比,可以记录新旧表的数据总数,以及两张表中有差异的数据. 应用场景:旧表中数据迁移到新表 运行结果 ...

  7. mysql交叉表的构造知识_[数据库]MySQL交叉表

    [数据库]MySQL交叉表 0 2012-01-11 17:00:23 在某些数据库中有交叉表,但在MySQL中却没有这个功能,但网上看到有不少朋友想找出一个解决方法,特发贴集思广义. http:// ...

  8. 删除磁盘上的表空间后再删除数据库中的表空间——ORA-01549:表空间非空,请使用including contents选项

    前提:电脑盘中误删了表空间,没有备份,无法恢复,为重新使用该表空间,需要删除该表空间,重新建立一个新的同名表空间,在PLSQL中右键删除该表空间时候,无法删除. 问题:在PLSQL中右键删除表空间,无 ...

  9. mysql shell 所有表_备份mysql所有数据库的每个表的shell脚本

    使用use db_name;show tables 获得所有表.脚本针对MySQL5以上版本,mysql4以下未测试,mysqldump 参数可能有变. 备份表的路径:/backup_mysql/当天 ...

  10. mysql数据库多少张表会影响性能_mysql数据库多少张表会影响性能

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

最新文章

  1. 一些常见去除恶意软件的东东
  2. 成功解决ModuleNotFoundError: No module named 'urllib2'
  3. android长按加入购物车,《Android APP可能有的东西》之UI篇:加入购物车动画
  4. python登录界面源码_基于Python的自媒体小助手---登录页面的实现代码
  5. WEB字体,多列布局和伸缩盒
  6. Hadoop伪分布式集群环境搭建
  7. Linux jar包 后台运行
  8. leetcode @python 123. Best Time to Buy and Sell Stock III
  9. 二十六、JAVAIO文件类型操作(File类型操作)
  10. 基于Java、JSP的会议室预约系统毕业设计
  11. 麻了!35岁奥地利总理辞职当码农
  12. influence和effect的区别
  13. SAP中税码、税率、税务科目的几个表及其中的勾稽关系
  14. echarts散点图x轴和y轴在中间位置
  15. spark+smack+openfire实现请求响应简单流程
  16. 苹果A14和高通骁龙888性能对比,A13都笑了
  17. mysql usleep_PHP 暂停函数 sleep() 与 usleep() 的区别
  18. 旧路由器改装无线打印服务器,旧路由器改wifi放大器详细教程【图】
  19. 魔力宝贝 6.0 linux 一键端,魔力宝贝单机版6.0下载_魔力宝贝单机版下载-游戏下载...
  20. 【windows技术】保存网页到桌面

热门文章

  1. const 并不能加快 C 代码的运行速度?
  2. 时至今日,百度无人车还好吗?
  3. 996.ICU 下被过度消费的程序员,还配享受生活吗?
  4. Python 神经网络是这样识别手写字符哒?
  5. @程序员,代码清理有必要吗?
  6. c语言程序设计 实验十一,C语言实验十一 结构体程序设计(二)
  7. Could not connect to Redis at 127.0.0.1:13141: Cannot assign requested address
  8. 计算机应用基础答案高继梅,[Flash游戏制作.doc
  9. matlab ip 大端,MATLAB格式化输出控制
  10. 消防给水及消火栓系统技术规范_对于高位消防水箱《消防给水及消火栓系统技术规范》是如何规定...