首页 > 其他分享 >sysaux表空间异常增长之统计信息数据未自动清理

sysaux表空间异常增长之统计信息数据未自动清理

时间:2023-04-18 13:40:11浏览次数:45  
标签:dbms stats sysaux 清理 WRI sys 自动 OPTSTAT history


首先还是去查sysaux表空间中占用空间最多的组件和对象

select OCCUPANT_NAME,OCCUPANT_DESC,SPACE_USAGE_KBYTES/1024 USAGE_MB
from V$SYSAUX_OCCUPANTS order by SPACE_USAGE_KBYTES desc;

SELECT D.SEGMENT_NAME, D.SEGMENT_TYPE,SUM(BYTES)/1024/1024 SIZE_MB
  FROM DBA_SEGMENTS D
 WHERE D.TABLESPACE_NAME = 'SYSAUX'
 GROUP BY D.SEGMENT_NAME, D.SEGMENT_TYPE
 ORDER BY SIZE_MB DESC;

如果发现是统计信息的问题,可以按照如下方法清理:

 

法一:purge(底层用delete删除)

Show the current history level:

select dbms_stats.get_stats_history_availability from dual;

Assuming  history is 100 days old and you want to purge it until 10 days old:

begin
for i in reverse 10..100
loop
dbms_stats.purge_stats(sysdate-i);
end loop;
end;
/

Show the new history level

select dbms_stats.get_stats_history_availability from dual;

 

法二:truncate

只有当purge的情况下,还是没有释放空间,或者需删除量过大时,才建议用truncate方式进行清理。

备份待删除基表中最新数据

create table SYS.WRI$_OPTSTATHISTHEADHISTORYBAK as (select * from sys.wri$_optstat_histhead_history where savtime > SYSDATE - 14);
create table SYS.WRI$_OPTSTATHISTGRMHISTORYBAK as (select * from sys.WRI$_OPTSTAT_HISTGRM_HISTORY where savtime > SYSDATE - 14);
create table SYS.WRI$_OPTSTAT_TAB_BAK as (select * from sys.wri$_optstat_tab_history where savtime > SYSDATE - 14);
create table SYS.WRI$_OPTSTAT_IND_BAK as (select * from sys.wri$_optstat_ind_history where savtime > SYSDATE - 14);

查看SM/OPTSTAT(用于存储老的统计信息)保留天数

select dbms_stats.get_stats_history_retention from dual;

设置SM/OPTSTAT保留的时间(-1表示无限)

exec dbms_stats.alter_stats_history_retention(-1);

truncate较大的TABLE

truncate table sys.WRI$_OPTSTAT_HISTHEAD_HISTORY;
truncate table sys.WRI$_OPTSTAT_HISTGRM_HISTORY;
truncate table  sys.wri$_optstat_ind_history;
truncate table  sys.wri$_optstat_tab_history;

清理历史统计信息

exec dbms_stats.purge_stats(sysdate-300);
 exec dbms_stats.purge_stats(sysdate-200);
 exec dbms_stats.purge_stats(sysdate-100);
 exec dbms_stats.purge_stats(sysdate-30);

将历史统计信息保留时间设为30天

exec dbms_stats.alter_stats_history_retention(30);
select dbms_stats.get_stats_history_retention from dual;

将历史统计信息相关的表进行MOVE

alter table sys.WRI$_OPTSTAT_HISTHEAD_HISTORY move tablespace sysaux;
alter index sys.I_WRI$_OPTSTAT_HH_OBJ_ICOL_ST rebuild online;
alter index sys.I_WRI$_OPTSTAT_HH_ST rebuild online;
...
alter table sys.WRI$_OPTSTAT_IND_HISTORY  move tablespace sysaux;
alter index sys.I_WRI$_OPTSTAT_IND_OBJ#_ST rebuild online;
alter index sys.I_WRI$_OPTSTAT_IND_ST rebuild online;

对MOVE表的统计信息进行收集
 

EXEC dbms_stats.gather_table_stats(ownname => 'SYS',tabname => 'WRI$_OPTSTAT_HISTGRM_HISTORY',cascade => TRUE);
 ...
 EXEC dbms_stats.gather_table_stats(ownname => 'SYS',tabname => 'WRI$_OPTSTAT_HISTHEAD_HISTORY',cascade => TRUE);

 

参考

标签:dbms,stats,sysaux,清理,WRI,sys,自动,OPTSTAT,history
From: https://blog.51cto.com/u_13631369/6203161

相关文章

  • Oracle审计篇 —— 审计数据表空间迁移及定期数据清理设置
    以下内容测试版本为oracle19c,其他版本可能会略有不同。最好是在创建数据库之后就进行设置,审计数据越多迁移会越麻烦,还可能影响业务。 编号需求项需求细节内容说明准备工作1检查是否打开审计showparameterauditaudit_trail为NONE则未开启2检查审计表现在所在表空间SELECTtable_......
  • 自动化脚本:一键安装python自定义版本
     1:环境:centos7python2.72:脚本内容:#!/usr/bin/envpythonimportosimportsysimportrequestsimporttarfileimportshutilimportsubprocess#Installnecessarypackagestry:subprocess.check_call(["yum","install","-y&qu......
  • 新一代自动化测试神器Playwright
     原文链接:caituotuo.top/4bedb73c.html 说到WebUI自动化测试,首当其冲的当属Selenium,在很长的一段时间内,Selenium统治着Web自动化,Selenium其实经历了四个阶段,从2006年发布的Selenium1.0到最新的Selenium4.8.3。2006年,Selenium1.0发布Selenium1.0包含SeleniumIDE(浏......
  • selenium登录cnblogs、抽屉半自动点赞、xpath的使用、打码平台使用、scrapy介绍
    昨日回顾#1beautifulsoup4使用-xml解析库,用它来解析爬回来的html内容,从中找出我们需要的内容#2遍历文档树-.的使用soup.html.body.p.a-获取属性对象.attrs.get('href')-获取文本对象.textstringstrings-子节点,父节点,兄......
  • vue项目中发布新版本线上自动清缓存
    背景最近项目更新频繁,每次一更新客户都说还跟之前的一样。一查原因是因为客户没有清空浏览器的缓存。所以为了方便客户看到最新版本,开始调研再发布新版本后自动清理缓存。方案每次打包后的js和css都加上hash值后缀。当文件发生改变时,hash值也改变。这样就不会走缓存举个例子vue.con......
  • Apache2.4配置http自动跳转到https
    首先在httpd.conf中配置如下:打开Apache重写模块(把#号去掉):LoadModulerewrite_modulemodules/mod_rewrite.so然后修改Directory里的内容,注意是修改标签包含自己项目路径的配置项<Directory"E:/wsp/www">OptionsIndexesFollowSymLinksAllowOverrideAllRewriteE......
  • 自动化渗透
    1、渗透分类1.1手工和自动化(1)手工测试主要是基于浏览器和burp工具,可以进行高度自由的参数设置和响应加载查看。优点是过程灵活,请求量少,频率低,对于逻辑性要求强的漏洞有很好的效果。缺点是任务量大,部分漏洞类型测试枯燥,可能遗漏。另一方面,针对验证码爆破这类时效性要求高的......
  • 如何利用HTTP代理实现自动化爬虫任务管理
    在进行爬虫任务管理时,我们需要对爬取目标、爬取频率、数据存储等多个方面进行规划和管理。使用HTTP代理可以帮助我们提高爬虫效率,同时也可以实现自动化的爬虫任务管理。本文将介绍如何利用HTTP代理实现自动化爬虫任务管理。第一步:选择HTTP代理在选择HTTP代理时,需要考虑......
  • 记录selenium,python自动化测试中的chromedriver.exe地址和打开后自动关闭浏览器问题
    selenium的官方地址为:https://selenium-python.readthedocs.io/index.html镜像地址:https://npmmirror.com/#导入webdriverfromseleniumimportwebdriverfromselenium.webdriver.common.byimportBy#调用键盘按键操作时需要引入的Keys包fromselenium.webdriver.common.k......
  • centOS7.6下通过脚本自动安装JDK8
    安装包官网下载JDK1.8安装包,如:jdk-8u301-linux-x64.tar.gz执行脚本创建脚本,如:install-jdk.sh添加如下命令:#!/bin/bashecho"deployjdk1.8tocentos7.6"echo"解压缩文件"tar-zxvfjdk-8u301-linux-x64.tar.gzecho"jdk文件位置:/usr/local/jdk1.8"sudomvjdk1.8......