system表空間爆滿解決方法
問題描述:
對資料庫做檢查,發現system表空間持續佔滿99%。使用如下語句檢視:
SQL> 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;
表空間 大小M 已使用M 利用率
------------- ---------- ---------- ----------
SYSTEM 6770 6505 96.08%
從dba_segments中找出佔用SYSTEM表空間中排名前10位的大物件:
SQL> col segment_name for a15;
SQL> 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;
SEGMENT_NAME MB
-------------------- ----------
AUD$ 6016
IDL_UB1$ 280
SOURCE$ 80
IDL_UB2$ 33
C_TOID_VERSION# 24
C_OBJ#_INTCOL# 18
I_SOURCE1 16
ARGUMENT$ 13
C_OBJ# 13
JAVA$MC$ 12
發現是AUD$審計表佔用資源量大。為了避免對整體效能造成影響,決定把AUD$遷移到其他表空間
解決步驟:
1,新建aud_space表空間和aud_index索引表空間
2,執行遷移命令,將AUD$表相關移到審計表空間中:
SQL> alter table aud$ move tablespace aud_space;
SQL> alter table audit$ move tablespace aud_space;
SQL> alter index i_audit rebuild online tablespace aud_index;
SQL> alter table audit_actions move tablespace aud_space;
SQL> alter index i_audit_actions rebuild online tablespace aud_index;
3,再此檢視SYSTEM表空間使用狀態:
SQL> 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;
表空間 大小M 已使用M 利用率
------------- ---------- ---------- ----------
SYSTEM 6770 792.3125 11.70
可見SYSTEM表空間已經降下來了。
4,為了安全起見,AUD$表資料目前3千多萬,資料量大,後期考慮truncate此表,清空資料。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28211342/viewspace-2139678/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ORACLE 中undo表空間爆滿的解決方法Oracle
- Oracle undo表空間爆滿的解決Oracle
- 表空間滿的解決方法
- sysaux 表空間爆滿處理方法UX
- Oracle undo表空間爆滿的處理方法Oracle
- 臨時表空間已滿的解決方法
- UNDO表空間損壞,爆滿,ORA-600[4194]/[4193]錯誤解決
- UNDO表空間不足解決方法
- ORACLE 臨時表空間滿了的原因解決方案Oracle
- 解決Oracle臨時表空間佔滿的問題Oracle
- 遷移SYSTEM表空間為本地管理表空間
- ORACLE的SYSTEM 表空間Oracle
- undo表空間不能回收的解決方法
- undo 表空間滿了的處理方法
- 解決FRA空間滿的問題
- 【UNDO】使用重建UNDO表空間方法解決UNDO表空間過大問題
- oracle system 表空間32G問題解決一例Oracle
- 記一次ORACLE的UNDO表空間爆滿分析過程Oracle
- 臨時表空間過大的解決方法
- 系統RAM幾乎爆滿與解決方法
- oracle的臨時表空間寫滿磁碟空間,解決改問題的具體步驟Oracle
- SYSAUX表空間滿對資料庫的影響以及解決措施UX資料庫
- system表空間滿的處理-SYS_LOB0003450292C00039$$
- oracle的還原表空間UNDO寫滿磁碟空間,解決該問題的具體步驟Oracle
- ORA-01536:表空間不夠 解決方法
- undo表空間佔用磁碟空間滿案例處理
- ASM空間爆滿導致資料庫掛起ASM資料庫
- MySQL ibdata1撐爆佔滿磁碟空間MySql
- Linux磁碟空間爆滿,MySQL無法啟動LinuxMySql
- 4.2.1.7 規劃 SYSTEM 和 SYSAUX 表空間UX
- system表空間不足的問題分析
- TEMP表空間不足解決 - temp group
- Oracle的temp表空間被佔滿Oracle
- 從system/sysaux空間轉移TABLE&Index到其它表空間UXIndex
- system表空間不足的問題分析(二)
- 一次ASM空間滿了的問題解決ASM
- ORA-01114錯誤原因及解決方法(臨時表空間壞掉、或者滿了)
- 回滾段表空間資料檔案損壞解決方法