oracle11g AUD$维护
http://blog.csdn.net/lwei_998/article/details/7394638
SYSTEM表空間使用率達到了85%,查出是用來記錄審計記錄的aud$表占用了很大的空間。
備份后truncate掉AUD$,問題臨時解決。記得oracle11.2可以把aud$遷移到普通的表空
間。于是試了一把,果然ok。
1.檢查SYSTEM表空間使用情況
.檢查SYSTEM表空間使用情況
[sql] view plaincopy
SQL*Plus:?Release?11.2.0.3.0?Production?on?Mon?Mar?26?11:21:18?2012??
Copyright?(c)?1982,?2011,?Oracle.??All?rights?reserved.??
Connected?to:??
Oracle?Database?11g?Enterprise?Edition?Release?11.2.0.3.0?-?64bit?Production??
With?the?Partitioning,?Data?Mining?and?Real?Application?Testing?options??
??
??
SQL>??select ??
??2 ??b.tablespace_name?"表空間",??
??3 b.bytes/1024/1024?"大小M",??
??4 (b.bytes-sum(nvl(a.bytes,0)))/1024/1024?"已使用M",??
??5 substr((b.bytes-sum(nvl(a.bytes,0)))/(b.bytes)*100,1,5)?"利用率"??
??6 from?dba_free_space?a,dba_data_files?b??
??7 where?a.file_id=b.file_id??
??8????and?b.tablespace_name='SYSTEM'??
??9 group?by?b.tablespace_name,b.file_name,b.bytes??
??10 order?by?b.tablespace_name;??
???
表空間?????????????????大小M???????已使用M???利用率??
-------------------?----------?-----------?----------??
SYSTEM????????????????????4096???3485.9375????85.10??
2.從dba_segments中找出占用SYSTEM表空間中排名前10位的大對象。
[sql] view plaincopy
SQL>?col?segment_name?for?a15;??
SQL>?SELECT?*??
??2????FROM?(SELECT?SEGMENT_NAME,?SUM(BYTES)?/?1024?/?1024?MB??
??3????????????FROM?DBA_SEGMENTS??
??4???????????WHERE?TABLESPACE_NAME?=?'SYSTEM'??
??5???????????GROUP?BY?SEGMENT_NAME??
??6???????????ORDER?BY?2?DESC)??
??7???WHERE?ROWNUM?<?10;??
???
查出aud$占用的很大的空間。??
3.準備truncate aud$表
[sql] view plaincopy
SQL>?show?parameter?AUDIT_TRAIL??
??
NAME????????????TYPE????????VALUE??????
---------------?-----------?---------??
audit_trail?????string??????DB??
??
<span?style="color:?rgb(255,?0,?0);">--?truncate?aud$?表需要有相關的權限。</span>??
SQL>?truncate?table?aud$;??
Table?truncated??
4.truncate后檢查system表空間使用情況,發現使用率由85%降低到29.44%
[sql] view plaincopy
SQL>?ANALYZE?TABLE?aud$??COMPUTE?STATISTICS;??
Table?analyzed.???
??
SQL>??select ??
?2? ??b.tablespace_name?"表空間",??
?3?? b.bytes/1024/1024?"大小M",??
?4?? (b.bytes-sum(nvl(a.bytes,0)))/1024/1024?"已使用M",??
?5?? substr((b.bytes-sum(nvl(a.bytes,0)))/(b.bytes)*100,1,5)?"利用率"??
?6?? from?dba_free_space?a,dba_data_files?b??
?7?? where?a.file_id=b.file_id??
?8?????and?b.tablespace_name='SYSTEM'??
?9?? group?by?b.tablespace_name,b.file_name,b.bytes??
10? order?by?b.tablespace_name;??
???
表空間????????????????大小M????已使用M???利用率??
----------------?----------?----------???----------??
SYSTEM?????????????????4096???????1206???29.44??
5.為了避免system表空間爆滿對數據的影響,把aud$從system表空間遷移到普通表空間AUD_FILE。
[sql] view plaincopy
SQL>??BEGIN??
??2???DBMS_AUDIT_MGMT.SET_AUDIT_TRAIL_LOCATION(??
??3???AUDIT_TRAIL_TYPE?=>?DBMS_AUDIT_MGMT.AUDIT_TRAIL_AUD_STD,???
??4???AUDIT_TRAIL_LOCATION_VALUE?=>?'AUD_FILE');??
??5???END;??
??6??/??
??
SQL>?col?owner?for?a5;??
SQL>?SELECT?OWNER,?TABLE_NAME,?TABLESPACE_NAME??
??2????FROM?DBA_TABLES??
??3???WHERE?TABLE_NAME?=?'AUD$'??
??4?????AND?OWNER?=?'SYS';??
??
OWNER?TABLE_NAME????TABLESPACE_NAME??
-----?------------------------------?------------------------------??
SYS???AUD$???????????????????????????TD_FILB????
轉載于:https://blog.51cto.com/zhangyc/1540256
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的oracle11g AUD$维护的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 集算器访问HTTP数据的代码示例
- 下一篇: 梦到老公打架受伤是什么意思