SYSAUX 表空间作为 SYSTEM 表空间的辅助表空间,主要存放 EM 相关的内容以及表统计信息,AWR快照,审计信息等,而若是 SYSAUX 表空间在默认条件下你若是不作任何配置,随着时间的推移,会膨胀的愈来愈大。sql
select occupant_name, schema_name, occupant_desc, space_usage_kbytes from v$sysaux_occupants order by space_usage_kbytes desc
能够看到是主要是 AWR 占用了空间。数据库
SQL> connect / as sysdba SQL> @?/rdbms/admin/catnoawr.sql SQL> @?/rdbms/admin/catawrtb.sql
SELECT B.TABLESPACE_NAME 表空间, B.FILE_NAME 数据文件名, B.BYTES / 1024 / 1024 大小M, (B.BYTES - SUM(NVL(A.BYTES, 0))) / 1024 / 1024 已使用M, SUBSTR((B.BYTES - SUM(NVL(A.BYTES, 0))) / (B.BYTES) * 100, 1, 5) || '%' 使用率 FROM DBA_FREE_SPACE A, DBA_DATA_FILES B WHERE A.FILE_ID = B.FILE_ID GROUP BY B.TABLESPACE_NAME, B.FILE_NAME, B.BYTES ORDER BY B.TABLESPACE_NAME
SELECT B.TABLESPACE_NAME 表空间, B.FILE_NAME 数据文件名, B.BYTES / 1024 / 1024 大小M, (B.BYTES - SUM(NVL(A.BYTES, 0))) / 1024 / 1024 已使用M, SUBSTR((B.BYTES - SUM(NVL(A.BYTES, 0))) / (B.BYTES) * 100, 1, 5) || '%' 使用率 FROM DBA_FREE_SPACE A, DBA_DATA_FILES B WHERE A.FILE_ID = B.FILE_ID GROUP BY B.TABLESPACE_NAME, B.FILE_NAME, B.BYTES ORDER BY B.TABLESPACE_NAME
Alter tablespace USERS add datafile '/ordata/orcl/users17.dbf' size 20G;
SELECT B.TABLESPACE_NAME 表空间, B.FILE_NAME 数据文件名, B.BYTES / 1024 / 1024 大小M, (B.BYTES - SUM(NVL(A.BYTES, 0))) / 1024 / 1024 已使用M, SUBSTR((B.BYTES - SUM(NVL(A.BYTES, 0))) / (B.BYTES) * 100, 1, 5) || '%' 使用率 FROM DBA_FREE_SPACE A, DBA_DATA_FILES B WHERE A.FILE_ID = B.FILE_ID GROUP BY B.TABLESPACE_NAME, B.FILE_NAME, B.BYTES ORDER BY B.TABLESPACE_NAME
从dba_segments中找出占用SYSTEM表空间中排名前10位的大对象。ide
SELECT * FROM (SELECT SEGMENT_NAME, SUM(BYTES) / 1024 / 1024 MB FROM DBA_SEGMENTS WHERE TABLESPACE_NAME = 'SYSTEM' GROUP BY SEGMENT_NAME ORDER BY 2 DESC) WHERE ROWNUM < 10;
system表空间满了之后,对审计表进行清空,用新的审计表覆盖旧的审计表,若是用处不大,咱们能够选择关闭审计功能,以下spa
sqlplus / nolog connect sys/sys as sysdba alter system set audit_trail='NONE' scope=spfile; shutdown immediate; startup;
truncate table SYS.AUD$;
alter tablespace system add datafile '/data/orcl/system02.dbf' size 2G;