千家信息网

oracle sysaux表空间满了怎么处理

发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,这篇文章主要介绍"oracle sysaux表空间满了怎么处理",在日常操作中,相信很多人在oracle sysaux表空间满了怎么处理问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希
千家信息网最后更新 2025年11月08日oracle sysaux表空间满了怎么处理

这篇文章主要介绍"oracle sysaux表空间满了怎么处理",在日常操作中,相信很多人在oracle sysaux表空间满了怎么处理问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"oracle sysaux表空间满了怎么处理"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

用如下语句查询表空间

select upper(f.tablespace_name) "ts-name",       d.tot_grootte_mb "ts-bytes(m)",       d.tot_grootte_mb - f.total_bytes "ts-used (m)",       f.total_bytes "ts-free(m)",       to_char(round((d.tot_grootte_mb - f.total_bytes) / d.tot_grootte_mb * 100,                     2),               '990.99') "ts-per"         from (select tablespace_name,               round(sum(bytes) / (1024 * 1024), 2) total_bytes,               round(max(bytes) / (1024 * 1024), 2) max_bytes          from sys.dba_free_space         group by tablespace_name) f,       (select dd.tablespace_name,               round(sum(dd.bytes) / (1024 * 1024), 2) tot_grootte_mb          from sys.dba_data_files dd         group by dd.tablespace_name) dwhere d.tablespace_name = f.tablespace_nameorder by 5 desc;

查询各个sysaux表空间的使用情况

SQL> select * from (select segment_name, segment_type,bytes / 1024 / 1024 from dba_segments where tablespace_name = 'SYSAUX'and bytes / 1024 / 1024 >1000 order by bytes desc);
SEGMENT_NAME  SEGMENT_TYPE     BYTES/1024/1024--------------------------------------------------------------------------------- ------------------ ---------------WRH$_ACTIVE_SESSION_HISTORY  TABLE PARTITION7293WRH$_LATCH_MISSES_SUMMARY_PK  INDEX PARTITION2664WRH$_LATCH_MISSES_SUMMARY  TABLE PARTITION2336WRH$_EVENT_HISTOGRAM_PK   INDEX PARTITION2087WRH$_EVENT_HISTOGRAM  TABLE PARTITION1835WRH$_SQLSTAT  TABLE PARTITION1690WRH$_LATCH  TABLE PARTITION1101

生成truncate语句

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;
truncate table WRH$_ACTIVE_SESSION_HISTORY;    truncate table WRH$_ACTIVE_SESSION_HISTORY;truncate table WRH$_LATCH_MISSES_SUMMARY;truncate table WRH$_EVENT_HISTOGRAM;truncate table WRH$_SQLSTAT;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$_ROWCACHE_SUMMARY;truncate table WRH$_TABLESPACE_STAT;truncate table WRH$_MVPARAMETER;

到此,关于"oracle sysaux表空间满了怎么处理"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

0