Java自学者论坛

 找回密码
 立即注册

手机号码,快捷登录

恭喜Java自学者论坛(https://www.javazxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,会员资料板块,购买链接:点击进入购买VIP会员

JAVA高级面试进阶训练营视频教程

Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程Go语言视频零基础入门到精通Java架构师3期(课件+源码)
Java开发全终端实战租房项目视频教程SpringBoot2.X入门到高级使用教程大数据培训第六期全套视频教程深度学习(CNN RNN GAN)算法原理Java亿级流量电商系统视频教程
互联网架构师视频教程年薪50万Spark2.0从入门到精通年薪50万!人工智能学习路线教程年薪50万大数据入门到精通学习路线年薪50万机器学习入门到精通教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程MySQL入门到精通教程
查看: 583|回复: 0

oracle 11g sysaux表空间使用率非常高的问题解决

[复制链接]
  • TA的每日心情
    奋斗
    2024-11-24 15:47
  • 签到天数: 804 天

    [LV.10]以坛为家III

    2053

    主题

    2111

    帖子

    72万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    726782
    发表于 2021-7-20 17:10:13 | 显示全部楼层 |阅读模式

    一般来讲除开业务数据存放的表空间,DBA要着重关注SYSTEM,SYSAUX,UNDO,TEMP表空间,SYSTEM表空间的大小一般是衡定的,UNDO和TEMP表空间的大小由数据库的业务情况决定,而SYSAUX表空间在默认条件下你如果不做任何配置,随着时间的推移,会膨胀的越来越大!SYSAUX表空间做为SYSTEM表空间的辅助表空间,主要存放EM相关的内容以及表统计信息,AWR快照,审计信息等,个人认为,如果你的SYSAUX表空间大小超过2G,那么该考虑让他减肥了! 

    一:使用下列语句查询表空间使用率 
    1. SELECT * FROM ( 
    2. SELECT D.TABLESPACE_NAME, 
    3.         SPACE || 'M' "SUM_SPACE(M)", 
    4.         BLOCKS "SUM_BLOCKS", 
    5.         SPACE - NVL (FREE_SPACE, 0) || 'M' "USED_SPACE(M)", 
    6.         ROUND ( (1 - NVL (FREE_SPACE, 0) / SPACE) * 100, 2) || '%' 
    7.            "USED_RATE(%)", 
    8.         FREE_SPACE || 'M' "FREE_SPACE(M)" 
    9.    FROM (  SELECT TABLESPACE_NAME, 
    10.                   ROUND (SUM (BYTES) / (1024 * 1024), 2) SPACE, 
    11.                   SUM (BLOCKS) BLOCKS 
    12.              FROM DBA_DATA_FILES 
    13.          GROUP BY TABLESPACE_NAME) D, 
    14.         (  SELECT TABLESPACE_NAME, 
    15.                   ROUND (SUM (BYTES) / (1024 * 1024), 2) FREE_SPACE 
    16.              FROM DBA_FREE_SPACE 
    17.          GROUP BY TABLESPACE_NAME) F 
    18.   WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME(+) 
    19.  UNION ALL                                                           
    20.  SELECT D.TABLESPACE_NAME, 
    21.         SPACE || 'M' "SUM_SPACE(M)", 
    22.         BLOCKS SUM_BLOCKS, 
    23.         USED_SPACE || 'M' "USED_SPACE(M)", 
    24.         ROUND (NVL (USED_SPACE, 0) / SPACE * 100, 2) || '%' "USED_RATE(%)", 
    25.         NVL (FREE_SPACE, 0) || 'M' "FREE_SPACE(M)" 
    26.    FROM (  SELECT TABLESPACE_NAME, 
    27.                   ROUND (SUM (BYTES) / (1024 * 1024), 2) SPACE, 
    28.                   SUM (BLOCKS) BLOCKS 
    29.              FROM DBA_TEMP_FILES 
    30.          GROUP BY TABLESPACE_NAME) D, 
    31.         (  SELECT TABLESPACE_NAME, 
    32.                   ROUND (SUM (BYTES_USED) / (1024 * 1024), 2) USED_SPACE, 
    33.                   ROUND (SUM (BYTES_FREE) / (1024 * 1024), 2) FREE_SPACE 
    34.              FROM V$TEMP_SPACE_HEADER 
    35.          GROUP BY TABLESPACE_NAME) F 
    36.   WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME(+) 
    37.  ORDER BY 1)  
    38.  WHERE TABLESPACE_NAME IN ('SYSAUX','SYSTEM','UNDOTBS1','TEMP'); 
    二:查询SYSAUX表空间内各个分类项目占存储空间的比重,很明显可以看出来AWR快照占用了2G左右的空间,统计信息为149M左右,同时数据库关闭了审计audit_trail,所以审计表aud$不占空间 
    1. SELECT occupant_name "Item", 
    2.        space_usage_kbytes / 1048576 "Space Used (GB)", 
    3.        schema_name "Schema", 
    4.        move_procedure "Move Procedure" 
    5.   FROM v$sysaux_occupants 
    6. ORDER BY 1

    ~~~~~~~~~~~~~~临时删除的办法~~~~~~~~~~~~~~~··

    truncate  table  WRH$_ACTIVE_SESSION_HISTORY;
    truncate  table  WRH$_EVENT_HISTOGRAM;
    truncate  table  WRH$_SQLSTAT;
    truncate  table  WRH$_LATCH_MISSES_SUMMARY;
    truncate  table  WRH$_LATCH;
    truncate  table  WRH$_SYSSTAT;
    truncate  table  WRH$_SEG_STAT;
    truncate  table  WRH$_PARAMETER;
    truncate  table  WRH$_SYSTEM_EVENT;
    truncate  table  WRH$_SQL_PLAN;
    truncate  table  WRH$_DLM_MISC;
    truncate  table  WRH$_SERVICE_STAT;
    truncate  table  WRH$_TABLESPACE_STAT;
    truncate  table  WRH$_ROWCACHE_SUMMARY;
    truncate  table  WRH$_MVPARAMETER;

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~···

    select distinct 'truncate  table  '||segment_name||';',s.bytes/1024/1024
      from dba_segments s
     where s.segment_name like 'WRH$%'
       and segment_type in ('TABLE PARTITION', 'TABLE')
       and s.bytes/1024/1024>100
       order by s.bytes/1024/1024/1024 desc;

    哎...今天够累的,签到来了1...
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|小黑屋|Java自学者论坛 ( 声明:本站文章及资料整理自互联网,用于Java自学者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-12-22 16:55 , Processed in 0.071583 second(s), 29 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表