step1.  确认到底是哪个段占用了sysaux空间:

select segment_name,sum(bytes)/1024/1024 from dba_segments where tablespace_name='SYSAUX' group by segment_name order by 2 desc

SEGMENT_NAME               SUM(BYTES)/1024/1024
WRH$_ACTIVE_SESSION_HISTORY     7360.375
WRH$_ACTIVE_SESSION_HISTORY_PK   1400.257

从上面看就是ASH(v$active_session_history)历史记录没有清理造成

step2. 检查有多少条无效记录:

SQL> SELECT COUNT(1) Orphaned_ASH_Rows
2 FROM wrh$_active_session_history a
3 WHERE NOT EXISTS
4 (SELECT 1
5 FROM wrm$_snapshot
6 WHERE snap_id = a.snap_id
7 AND dbid = a.dbid
8 AND instance_number = a.instance_number
9 );

ORPHANED_ASH_ROWS
-----------------
23392228

step3.清楚多余记录,由于rows过多,清理速度有点慢。

SQL>DELETE FROM wrh$_active_session_history a
WHERE NOT EXISTS (SELECT 1
FROM wrm$_snapshot
WHERE snap_id = a.snap_id
AND dbid = a.dbid
AND instance_number = a.instance_number);

23392228 rows deleted.

SQL>commit;

期间需要注意归档日志的产生量,避免造成磁盘空间不足等麻烦。同时可以适当的多添加几组redolog来加速delete操作。

step4. shrink tablespace

alter table WRH$_ACTIVE_SESSION_HISTORY shrink space;

step5. re-check

column OCCUPANT_NAME format a15
SELECT occupant_name,
occupant_desc,
space_usage_kbytes
FROM v$sysaux_occupants
WHERE occupant_name LIKE '%AWR%';

SELECT PARTITION_NAME FROM DBA_IND_PARTITIONS WHERE INDEX_NAME='WRH$_ACTIVE_SESSION_HISTORY_PK';

PARTITION_NAME
------------------------------
WRH$_EVENT_HISTO_MXDB_MXSN
WRH$_ACTIVE_2645903699_6157

step6 rebuild index

SQL> alter index sys.WRH$_ACTIVE_SESSION_HISTORY_PK rebuild partition WRH$_ACTIVE_2645903699_12505;

Index altered.

SQL> alter index sys.WRH$_ACTIVE_SESSION_HISTORY_PK rebuild partition WRH$_ACTIVE_2645903699_6157;

Index altered.

SYSAUX表空间满,的更多相关文章

  1. 清理SYSAUX表空间

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

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

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

  3. SYSAUX表空间使用率高问题处理

    SYSAUX表空间做为SYSTEM表空间的辅助表空间,主要存放EM相关的内容以及表统计信息,AWR快照,审计信息等,而假设SYSAUX表空间在默认条件下你假设不做不论什么配置,随着时间的推移.会膨胀的 ...

  4. oracle之 SYSAUX表空间维护

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

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

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

  6. SYSAUX表空间清理

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

  7. WRI$_ADV_OBJECTS表过大,导致PDB的SYSAUX表空间不足

    现象监控发现sysaux表空间使用不断增加,导致表空间不足 查看过程 查看版本: SQL> select * from v$version; BANNER CON_ID ------------ ...

  8. Oracle system表空间满的暂定解决方法

    Oracle system表空间满的暂定解决方法 数据库用的是Oracle Express 10.2版本的.利用Oracle Text做全文检索应用,创建用户yxl时没有初始化默认表空间,在系统开发过 ...

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

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

随机推荐

  1. php stripos()函数 语法

    php stripos()函数 语法 作用:寻找字符串中某字符最先出现的位置,不区分大小写.直线电参数 语法:stripos(string,find,start) 参数: 参数 描述 string  ...

  2. Linux内核设计与实现 总结笔记(第四章)进程调度

    进程调度 调度程序负责决定将哪个进程投入运行,何时运行以及运行多长时间. 调度程序没有太复杂的原理,最大限度地利用处理器时间的原则是,只要有可以执行的进程,那么就总会有进程正在执行. 一.多任务 多任 ...

  3. CSS3中哪些新属性—阴影、文本省略(1)

    CSS3中的阴影,我知道的就是盒阴影和文字阴影.两者使用大同小异. 1.文字阴影 不知道为啥阴影会被开发出来,觉得这没啥好用啊.用了之后发现好像还行,使页面更有立体感了那么一点点.看起来趣味性强一点. ...

  4. Skyline(6.x)-Web二次开发-多窗口对比

    GitHub 上获取源码 1. 打开个 3D 窗口 一个页面加载多个 TerraExplorer3DWindow 和 SGWorld 等只有第一个能用(即使用 iframe 也是一样) 所以我决定打开 ...

  5. c#访问webapi以及获取

    提交post #region XML方式提交        public static void XML() {            HttpWebRequest wReq = (HttpWebRe ...

  6. python函数与方法的区别

    一.函数和方法的区别 1.函数要手动传self,方法不用传 2.如果是一个函数,用类名去调用,如果是一个额方法,用对象去调用 举例说明: class Foo(object): def __init__ ...

  7. [Linux] 029 脚本安装包

    1. 脚本安装包 脚本安装包并不是独立的软件包类型,常见安装的是源码包 是人为把安装过程写成了自动安装的脚本,只要执行脚本,定义简单的参数,就可以完成安装 非常类似于 Windows 下软件的安装方式 ...

  8. web开发jsp页面遇到的一系列问题

    一:web总结 1.jsp页面知识点巩固 1.1字符串数字格式化转换 <%@ taglib prefix="fmt" uri="http://java.sun.co ...

  9. java_第一年_JavaWeb(4)

    HttpServletResponse对象 向客户端发送数据的方法: 通过getOutputStream()方法得到OutputStream对象,再通过write发送 通过getWriter()方法得 ...

  10. python开发之路-day01

    1.Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为A ...