表空间监控脚本

-----查询表空间使用情况
  SELECT TABLESPACE_NAME,
         ROUND(TABLESPACE_SIZE / 128 * 1024 / 1024 / 1024, 3) "总空间(GB)",
         ROUND(USED_SPACE / 128 * 1024 / 1024 / 1024, 3) "已用(GB)",
         ROUND(TABLESPACE_SIZE / 128 * 1024 / 1024 / 1024 -
               USED_SPACE / 128 * 1024 / 1024 / 1024,
               3) "剩余(GB)",
         ROUND(USED_SPACE / TABLESPACE_SIZE * 100, 2) || '%' 使用率
    FROM SYS.DBA_TABLESPACE_USAGE_METRICS T
/*   WHERE ROUND(TABLESPACE_SIZE / 128 * 1024 / 1024 / 1024 -
               USED_SPACE / 128 * 1024 / 1024 / 1024,
               3) < '80'
     AND TABLESPACE_NAME LIKE 'TBS_%'*/
   ORDER BY TABLESPACE_NAME ASC;
2.
-----查询某个表空间下储存的表
SELECT OWNER || '.' || SEGMENT_NAME, SUM(BYTES) / 1024 / 1024 / 1024 BYTES
  FROM DBA_SEGMENTS
 WHERE TABLESPACE_NAME = 'TBS_YYFX'
  AND SEGMENT_NAME ='###表名###'
  AND BYTES > 196608 --196608是空表的大小 ,BYTES>196608  抛出空表
 GROUP BY OWNER || '.' || SEGMENT_NAME
 ORDER BY BYTES DESC;
3.清理表空间的两种方式
(1)
-----清某个表的数据
SELECT BYTES / 1024 / 1024 / 1024,
       'ALTER TABLE ' || OWNER || '.' || SEGMENT_NAME ||
       ' TRUNCATE PARTITION ' || PARTITION_NAME || ';'
  FROM DBA_SEGMENTS
 WHERE OWNER || '.' || SEGMENT_NAME =' ###表名###'
   AND BYTES > 196608 --196608是空表的大小 ,BYTES>196608  抛出空表
 ORDER BY BYTES DESC;
(2)
-----压缩表  把某个表的部分数据迁移到另一个表空间下
SELECT BYTES / 1024 / 1024 / 1024,
       'ALTER TABLE ' || OWNER || '.' || SEGMENT_NAME || ' MOVE PARTITION ' ||
       PARTITION_NAME || ' TABLESPACE TBS_DWD;'--要迁移到的表空间
  FROM DBA_SEGMENTS
 WHERE TABLESPACE_NAME = 'TBS_DWD' --表所在的表空间
   AND OWNER || '.' || SEGMENT_NAME = ' ###表名###'
   AND BYTES > 196608 --196608是空表的大小 ,BYTES>196608  抛出空表
 ORDER BY BYTES DESC;

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28291944/viewspace-2143723/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/28291944/viewspace-2143723/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值