在数据库检查中发现SYSAUX表空间占用过大,SYSAUX是ORACLE10G开始提供的功能,用于数据库为SYSTEM表空间减负。

用以下语句查出相应的表空间值

select
a.tablespace_name,trunc(sum(a.bytes)/1024/1024/1024,2) total,
trunc(sum(a.bytes)/1024/1024/1024 - sum(b.bytes)/1024/1024/1024,2) used,
trunc(sum(b.bytes)/1024/1024/1024,2) free,
to_char(trunc((sum(a.bytes)/1024/1024/1024-sum(b.bytes)/1024/1024/1024)/(sum(a.bytes)/1024/1024/1024),4)*100)||'%' pused,
to_char(trunc((sum(b.bytes)/1024/1024/1024)/(sum(a.bytes)/1024/1024/1024),4)*100)||'%' pfree
from (select sum(bytes) bytes,tablespace_name from dba_data_files group by tablespace_name) a,(select sum(bytes) bytes,tablespace_name from dba_free_space group by tablespace_name) b
where a.tablespace_name=b.tablespace_name(+)
group by a.tablespace_name;

查出表空SYSAUX占用率过高

SYSAUX共13.84G 其使用率95%

通过以下语句查出什么使用这么多空间

SELECT occupant_name "Item",
space_usage_kbytes / 1048576 "Space Used (GB)",
schema_name "Schema",
move_procedure "Move Procedure"
FROM v$sysaux_occupants
ORDER BY 2 desc;

从上图可以看到其中AWR用了11G空间

查看下AWR统计数的保存天数

select dbms_stats.get_stats_history_retention from dual;

通过 select dbid, min(snap_id),max(snap_id) from dba_hist_snapshot group by dbid;

查出相应的DBID和SNAP_ID,

  • 清空上一个dbid下的所有snapshot

exec dbms_workload_repository.drop_snapshot_range(29737,29943,310691130);

等待太久了‘

为了加快清除速实施以下操作

查找到那些占用sysaux表空间的基表,按照大小进行排序

select * from (select segment_name,PARTITION_NAME,segment_type,bytes/1024/1024 from dba_segments where tablespace_name='SYSAUX' order by 4 desc) where rownum<=10;

查出以下内容

备份基表WRH$ACTIVE_SESSION_HISTOR,WRH$_SQLSTAS,WRH$_EVENT_HISTOGRAM

create table WRH$_ACTIVE_SESSION_HISTORY0926 as select * from WRH$_ACTIVE_SESSION_HISTORY;
create table WRH$_SQLSTAT0926 as select * from WRH$_SQLSTAT;
create table WRH$_EVENT_HISTOGRAM0926 as select * from WRH$_EVENT_HISTOGRAM;
create table WRH$_LATCH0926 as select * from WRH$_LATCH;

清除相应基表数据

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;

ORACLE 清理SYSAUX表空间的更多相关文章

  1. 清理SYSAUX表空间

    1.查看SYSAUX表空间中数据分布情况 col SEGMENT_NAME for a30 set lines 999 select * from (select segment_name,PARTI ...

  2. oracle之 SYSAUX表空间维护

    1.查询表空间使用率SQL> set linesize 400SQL> set pagesize 400SQL> SELECT D.TABLESPACE_NAME 表空间名称,SPA ...

  3. 清理SYSAUX表空间的WRH$_LATCH_CHILDREN表

    周六 被突然起来的短信 轰醒. 一看有63条短信. 都是来之与监控中的.有关表空间大小超过某个警戒值. 发现 SYSAUX表空间超过了15GB 通过以下代码查看SYSAUX表空间的功能占用情况 SEL ...

  4. Oracle 12c SYSAUX表空间不足处理-清理audsys.cli_swp$a9b5f52c$1$1表

    今天在检查一台测试环境的表空间时,发现SYSAUX的使用率已经达到99.91% TABLESPACE_NAME FILES Freesize(MB) Usedsize(MB) Filesize(MB) ...

  5. SYSAUX表空间清理

    最近zabbix告警某业务sysaux表空间使用率超过95%,使用sql查看sysaux表空间设置了32G,32G的表空间竟然使用了95%.一般来讲除开业务数据存放的表空间,DBA要着重关注SYSTE ...

  6. Oracle处理关于sysaux表空间爆满的问题---更新最新方法!!

    对于SYSAUX表空间而言,如果占用过大,那么一般情况下是由于AWR信息或对象统计信息没有及时清理引起的,具体原因可以通过如下的SQL语句查询: SELECT OCCUPANT_NAME ORDER ...

  7. Oracle10g以上sysaux表空间的维护和清理

    SYSAUX表空间在Oracle 10g中引入,其作为SYSTEM表空间的辅助表空间.之前,一些使用独立表空间或系统表空间的数据库组件,现在SYSAUX表空间中存在.通过分离这些组件,减轻了SYSTE ...

  8. 案例:AWR手工创建快照失败,SYSAUX表空间剩余不足处理

    案例:AWR手工创建快照失败,SYSAUX表空间剩余不足处理 版本:Oracle 11.2.0.4 RAC 问题现象:AWR手工创建快照失败,SYSAUX表空间剩余不足. 1. 查看SYSAUX表空间 ...

  9. 记一次ORACLE的UNDO表空间爆满分析过程

    这篇文章是记录一次ORACLE数据库UNDO表空间爆满的分析过程,主要整理.梳理了同事分析的思路.具体过程如下所示: 早上收到一数据库服务器的UNDO表空间的告警邮件,最早一封是7:55发出的(监控作 ...

随机推荐

  1. [转]Oracle 查询表外键相关信息

    原文地址:https://www.csdn.net/gather_27/MtTaUgxsNzYxMi1ibG9n.html 查找表的外键(包括名称,引用表的表名和对应的键名,下面是分成多步查询): s ...

  2. echo * 和ls *之间的区别?

    背景描述: 今天 一同事做入职考试,涉及到1题目,echo * 和ls *之间的区别,没有用过这个用法,再次记录下. 操作过程: 1.执行echo * [root@localhost ~]# echo ...

  3. Python3基础 yield 创建生成器

             Python : 3.7.3          OS : Ubuntu 18.04.2 LTS         IDE : pycharm-community-2019.1.3    ...

  4. Flutter Android 正式打包、以及升级应用 重新打包

    Flutter Android 正式打包 打开androidStudio软件 1.修改版本号. android->app->src->main->AndroidManifest ...

  5. docker安装并运行redis

    拉取镜像: [mall@VM_0_7_centos ~]$ sudo docker pull redis:3.2 [sudo] password for mall: 3.2: Pulling from ...

  6. [LeetCode] 269. Alien Dictionary 外文字典

    There is a new alien language which uses the latin alphabet. However, the order among letters are un ...

  7. 通过cmd命令控制台关闭已经打开的端口号

    通过cmd命令控制台关闭已经打开的端口号 在出现的窗口里面输入 netstat -ano, 就会出现所有的端口号, Local Address下面的是端口号, PID就是某程序占用的进程号, 这个进程 ...

  8. Android MVP框架实现登录案例

    一.Model package com.czhappy.mvpdemo.model; /** * author: chenzheng * created on: 2019/5/16 11:06 * d ...

  9. postgresql数据库中多个Schemas互相访问

    背景: 用postgresql创建了一个数据库userDataBase,在这个数据库中创建了Schemas userA,Schemas userB,Schemas userC三个Schemas之后,给 ...

  10. K8S从入门到放弃系列-(16)Kubernetes集群Prometheus-operator监控部署

    Prometheus Operator不同于Prometheus,Prometheus Operator是 CoreOS 开源的一套用于管理在 Kubernetes 集群上的 Prometheus 控 ...