sysaux 表空间不足问题处理

php中文网
发布: 2016-06-07 17:28:50
原创
1973人浏览过

Oracle从10G 开始引入的,以前一些使用独立表空间或系统表空间的数据库组件现在在SYSAUX表空间中创建. 通过分离这些组件和功能,S

一现场,备份库alter 日志出现错误
 ora-1688: unable to extend table sys.wrh$_sqlstat partition wrh$_sqlsta_3344221469_3956 by 128 in                tablespace sysaux
 ora-1688: unable to extend table sys.wrh$_sqlstat partition wrh$_sqlsta_3344221469_3956 by 128 in                tablespace sysaux
 
根据错误提示是sysaux 表空间满了
 
 oracle从10g 开始引入的,以前一些使用独立表空间或系统表空间的数据库组件现在在sysaux表空间中创建.
 通过分离这些组件和功能,system表空间的负荷得以减轻.反复创建一些相关对象及组件引起system表空间的碎片问题得以避免。
 如果sysaux表空间不可用,数据库核心功能将保持有效;使用sysaux表空间的特点将会失败或功能受限.
 
可以从v$sysaux_occupants view 查看情况
 
v$sysaux_occupants
 
v$sysaux_occupants displays sysaux tablespace occupant information.
 column  datatype  description
 occupant_name  varchar2(64)  occupant name
 occupant_desc  varchar2(64)  occupant description
 schema_name  varchar2(64)  schema name for the occupant
 move_procedure  varchar2(64)  name of the move procedure; null if not applicable
 move_procedure_desc  varchar2(64)  description of the move procedure
 space_usage_kbytes  number  current space usage of the occupant (in kb)
 
查看那些 occupant空间占用情况
 
select occupant_name,space_usage_kbytes/1024/1024 from v$sysaux_occupants;
 select s.object_name from dba_objects s where s.object_name like '%optstat%' and s.object_type='table';
 

在Oracle10中表空间SYSAUX引入,oracle把统计信息存储在这里,这也是为了更好的优化system表空间,
 我们可以用视图V$SYSAUX_OCCUPANTS 查看,oracle有哪些数据存贮在SYSAUX中。
 

 
 oracle的SM/AWR, SM/ADVISOR, SM/OPTSTAT and SM/OTHER的统计信息都存储在SYSAUX中
 
 查询当前SM/OPTSTAT的统计信息的保存时间
 SQL> select dbms_stats.get_stats_history_retention from dual;
 
 GET_STATS_HISTORY_RETENTION
 ---------------------------
                          31
 
 修改SM/OPTSTAT的统计信息的保存时间为10天
 SQL> exec dbms_stats.alter_stats_history_retention(10);
 
 PL/SQL procedure successfully completed
 
 SQL> select dbms_stats.get_stats_history_retention from dual;
 
 GET_STATS_HISTORY_RETENTION
 ---------------------------
                          10
 
 

删除16天前的统计数据
 SQL> exec dbms_stats.purge_stats(sysdate-20);
 
 PL/SQL procedure successfully completed
 
 SQL>

查看当前有效的统计数据是到什么时间的
 SQL> select DBMS_STATS.GET_STATS_HISTORY_AVAILABILITY from dual;
 
 GET_STATS_HISTORY_AVAILABILITY
 --------------------------------------------------------------------------------
 12-2月 -12 07.15.49.000000000 下午 +08:00
 
 再删除7天前的统计数据
 SQL> exec dbms_stats.purge_stats(sysdate-7);
 
 PL/SQL procedure successfully completed
 
 这个时候发现有效的统计信息时间已经变了
SQL> select DBMS_STATS.GET_STATS_HISTORY_AVAILABILITY from dual;
 
 GET_STATS_HISTORY_AVAILABILITY
 --------------------------------------------------------------------------------
 14-2月 -12 07.15.57.000000000 下午 +08:00

linux

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号