博客
关于我
WRI$_ADV_OBJECTS表过大,导致PDB的SYSAUX表空间不足
阅读量:743 次
发布时间:2019-03-22

本文共 996 字,大约阅读时间需要 3 分钟。

sysaux表空间使用增加问题解决方案

最近,我在监控数据库时发现了一个潜在的问题:sysaux表空间的使用量持续增加,导致表空间不足。这让我感到困惑,因为数据库运行状况看起来正常,没有异常的DML操作。

问题排查过程

  • 查看数据库版本

    首先,我运行了select * from v$version;,发现数据库版本为Oracle Database 12.2.0.1.0。这是一个支持新特性的版本,可能与新功能相关。

  • 分析sysaux占用

    我查看了v$sysaux_occupants,发现SM/ADVISOR排在第一位,占用量很大。接着,我检查了dba_segments,发现WRI$_ADV_OBJECTS占用了最大空间。

  • 关联到统计信息顾问

    我联想到Oracle 12.2引入的Optimizer Statistics Advisor功能,该功能定期生成统计信息,帮助优化数据库性能。这些统计信息可能在sysaux表空间中占用了大量空间。

  • 验证任务占用

    检查dba_advisor_objects,发现大量数据来自auto_stats_advisor_task和SYS_AUTO_SQL_TUNING_TASK两个任务。

  • 解决方案

  • 删除auto_stats_advisor_task

    为了减少sysaux占用,我决定删除auto_stats_advisor_task。使用dbms_stats.drop_advisor_task函数,并确保使用sysdba权限。

  • 迁移和重建数据

    由于相关数据仍在WRI$_ADV_OBJECTS,我采取了以下步骤:

    • 备份数据:使用CTAS复制数据到新表,排除AUTO_STATS_ADVISOR_TASK相关数据。
    • 清空旧表:执行truncate table。
    • 重建索引:重建相关索引,确保数据结构的正常运行。
  • 禁用统计信息生成

    如果暂时不需要统计信息,可以禁用AUTO_STATS_ADVISOR_TASK,防止新的数据生成。

  • 参考文档

    通过以上步骤,我成功减少了sysaux表空间的占用,确保了数据库的稳定运行。

    转载地址:http://ttuwk.baihongyu.com/

    你可能感兴趣的文章
    Python3.7安装cv2踩过的坑
    查看>>
    python写txt文件
    查看>>
    python关于sorted排序函数详细解析 附实战代码(全)
    查看>>
    python3.8调用m文件,调用matlab
    查看>>
    python3.9新特性_Python 3.9 新特性速览
    查看>>
    Python3.x:遍历select下拉框获取value值
    查看>>
    python360百科_11月编程排行榜:Python超过Java成第二
    查看>>
    Python关于Paginator分页函数详细解析 附实战代码
    查看>>
    python3、ipython3、setup-tools、pip等环境搭建详细总结
    查看>>
    python3下使用cv2.imwrite存储带有中文路径图片或者绝对路径图片
    查看>>
    python3与django中@property详解
    查看>>
    python3中如何表示无穷大
    查看>>
    Python3中提示:no module named 'wxpy'
    查看>>
    python3中选择文件对话框的格式打开和保存图片
    查看>>
    python3为什么print永远都是地址_Python3 print 函数用法总结
    查看>>
    Python3之uuid模块
    查看>>
    Python3之写入Excel文档(xlsxwriter)
    查看>>
    Python3之打印操作打印流重定向(下)
    查看>>
    python3判断字典、列表、元组为空以及字典是否存在某个key的方法
    查看>>
    Python3利用pymysql操作 MySQL
    查看>>