Oracle表空间占用过大

以下操作均需要sys权限的用户

查寻表空间使用情况

SELECT a.tablespace_name "表空间名",a.bytes / 1024 / 1024 "表空间大小(M)",(a.bytes - b.bytes) / 1024 / 1024 "已使用空间(M)",b.bytes / 1024 / 1024 "空闲空间(M)",round(((a.bytes - b.bytes) / a.bytes) * 100, 2) "使用比"FROM (SELECT tablespace_name, sum(bytes) bytes FROM dba_data_files GROUP BY tablespace_name) a,(SELECT tablespace_name, sum(bytes) bytes, max(bytes) largest FROM dba_free_space GROUP BY tablespace_name) b WHERE a.tablespace_name = b.tablespace_name ORDER BY ((a.bytes - b.bytes) / a.bytes) DESC

查看表空间文件是否自动扩展

SELECT file_id, file_name, tablespace_name, autoextensible, increment_by FROM dba_data_files WHERE tablespace_name = 'BILL_PRE_WS' ORDER BY file_id desc;
查看”autoextensible”对应的值是YES还是NO,若是NO,说明表空间的自动扩展功能没有开,改成YES就可以了。

查询所有的schema所占空间大小

SELECT *
  FROM (SELECT OWNER,
               SEGMENT_NAME,
               SEGMENT_TYPE,
               ROUND(BYTES / 1024 / 1024 / 1024, 2) AS G
          FROM DBA_SEGMENTS
         WHERE TABLESPACE_NAME = 'BILL_PRE_WS'
        
         ORDER BY BYTES DESC)
 WHERE ROWNUM <= 30;

分析LOBSEGMENT类型占用的字段

经查看,BGW_FLOW_CONDITION表这一列FLOW_DATA建的clob,其中大对象单独存放在SYS_LOB0000093441C00002$$ 这个段中,LOBSEGMENT保存了lob列的真正数据,会非常大30G,并且独立于原始表存在。
 SELECT B.TABLE_NAME,

       B.COLUMN_NAME,

       A.SEGMENT_NAME,

       a.SEGMENT_TYPE,

       ROUND(SUM(A.BYTES / 1024 / 1024 / 1024), 2) G

  FROM DBA_SEGMENTS A

  LEFT JOIN DBA_LOBS B

    ON A.OWNER = B.OWNER

   AND A.SEGMENT_NAME = B.SEGMENT_NAME
   
 WHERE B.SEGMENT_NAME = 'SYS_LOB0000114026C00009$$'

 HAVING ROUND(SUM(A.BYTES / 1024 / 1024 / 1024), 2) >1

 GROUP BY B.TABLE_NAME, B.COLUMN_NAME, A.SEGMENT_NAME,a.SEGMENT_TYPE;

清理建的lob列的表

如果需要清理,可以truncate 该BGW_FLOW_CONDITION表,或者drop不需要的分区(如果是分区表)。可以看到清空后表空间内存降下来了
  • 10
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值