巡检发现系统system表空间达到26G,正常情况下其大小最多几个G。这里发现其只要原因是aud$信息过大导致。
oracle 11g 是默认开启审计DB,在数据库运行过程中,会将审计信息放入aud$中,system表空间就会随之不断扩大,也会带来system表空间的性能下降。
一般处理: truncate table aud$
处理过程:
1.查看aud$所占空间,及审计开启状况
2.按要求备份部分审计信息aud$_bak,在其他用户作为中转备份,这里100为例
3.truncate table aud$
4.将刚才备份的信息再插回aud$表中,insert into aud$
5.删除中间表 aud$_bak
6.查看 aud$表数据量及system表空间现在大小
7.将新的审计信息迁移至新表空间,不再放在system中
1.查看aud$,发现表已经太大。
oracle 11g 是默认开启审计DB,在数据库运行过程中,会将审计信息放入aud$中,system表空间就会随之不断扩大,也会带来system表空间的性能下降。
一般处理: truncate table aud$
处理过程:
1.查看aud$所占空间,及审计开启状况
2.按要求备份部分审计信息aud$_bak,在其他用户作为中转备份,这里100为例
3.truncate table aud$
4.将刚才备份的信息再插回aud$表中,insert into aud$
5.删除中间表 aud$_bak
6.查看 aud$表数据量及system表空间现在大小
7.将新的审计信息迁移至新表空间,不再放在system中
1.查看aud$,发现表已经太大。
- select
- b.tablespace_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 and b.tablespace_name='SYSTEM'
- group by b.tablespace_name,b.file_name,b.bytes
- order by b.tablespace_name;