Oracle 一些表空间问题的处理

前端之家收集整理的这篇文章主要介绍了Oracle 一些表空间问题的处理前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
一,SYSAUX 表空间不足

SYSAUX 表空间做为 SYSTEM 表空间的辅助表空间,主要存放 EM 相关的内容以及表统计信息,AWR快照,审计信息等,而如果 SYSAUX 表空间在默认条件下你如果不做任何配置,随着时间的推移,会膨胀的越来越大。

1、是什么占用了 sysaux 空间

select occupant_name,schema_name,occupant_desc,space_usage_kbytes
  from v$sysaux_occupants
 order by space_usage_kbytes desc

Oracle 一些表空间问题的处理

可以看到是主要是 AWR 占用了空间。

2、清除 AWR

sql> connect / as sysdba
sql> @?/rdbms/admin/catnoawr.sql
sql> @?/rdbms/admin/catawrtb.sql

3、查看表空间占用情况

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

二、USER 表空间不足

1、zabbix 报警表空间不足

Oracle 一些表空间问题的处理

2、查看数据库表空间占用情况

SELECT B.TABLESPACE_NAME 表空间,B.BYTES
 ORDER BY B.TABLESPACE_NAME

Oracle 一些表空间问题的处理

3、增加表空间

Alter tablespace USERS  add datafile ‘/ordata/orcl/users17.dbf‘ size 20G;

三、SYSTEM 表空间不足

system表空间满了以后,对审计表进行清空,用新的审计表覆盖旧的审计表,如果用处不大,我们可以选择关闭审计功能,如下

1、关闭审计(可选)

sqlplus / nolog
connect sys/sys as sysdba
alter system set audit_trail=‘NONE‘ scope=spfile;
shutdown immediate;
startup;

2、清空审计日志

truncate table  SYS.AUD$;

猜你在找的Oracle相关文章