SYSAUX表空间使用率过高的问题处理
- Oracle数据库的表空间主要分为两类,一类是数据库系统表空间,例如SYSTEM, SYSAUX, TEMP, UNDO,另一类是用户自定义表空间,主要适用于各种业务的数据处理。SYSTEM表空间主要用来存储数据库的数据字典和元数据信息,其表空间的容量大小随着数据库对象的规模而变化;而SYSAUX表空间诞生于10G,作为SYSTEM表空间的辅助空间,被设计用来存储数据库对象的统计信息以及数据库快照等历史性能数据,其空间容量随着时间的推移不断地膨胀,我们需要根据oracle的相应的管理方式来设置管理策略,设定历史数据的保留时间等。
- 而UNDO 和TEMP表空间的容量则与数据库的活跃程度相关,数据库越是活跃,事务处理规模越大则相应空间容量的占用会增加。我们需要根据业务所产生的数据库事务的规模设置TEMP和UNDO表空间的容量。
- 我们使用以下的SQL语句查询数据库系统表空间的使用率信息:
SELECT * FROM (
SELECT D.TABLESPACE_NAME,
SPACE || 'M' "SUM_SPACE(M)",
BLOCKS "SUM_BLOCKS",
SPACE - NVL (FREE_SPACE, 0) || 'M' "USED_SPACE(M)",