ORA-03113:通訊通道的文件結尾-完美解決方案

ORA-03113:通訊通道的文件結尾-完美解決方案
 
oracle 文檔中對這個錯誤這樣解釋:
ORA-03113 錯誤就是說鏈接到數據庫的網絡中斷了。有些錯誤因爲頻繁出現、緣由複雜而被 Oracle DBA 們戲稱之爲"經典的錯誤"。
 
 
 
完美解決方案:
一、查看系統表空間用量:
SELECT a.tablespace_name,
a.bytes total,
b.bytes used,
c.bytes free,
(b.bytes * 100) / a.bytes "% USED ",
(c.bytes * 100) / a.bytes "% FREE "
FROM sys.sm$ts_avail a, sys.sm$ts_used b, sys.sm$ts_free c
WHERE a.tablespace_name = b.tablespace_name
AND a.tablespace_name = c.tablespace_name;
 
二、分析ORA-03113主要緣由
從圖中主要分析SYSTEM、SYSAUX表空間用量,緣由有兩點:
       1)、SYSTEM中審計表aud$在數據庫編程過程當中,對SQL語句的編譯過程,資源佔用會較大,所以在sys帳戶下查看,
select count(*) sum from AUD$;
會得知,該數值會很是大。
 
2)、SYSAUX則進行的是AWR快照,也會進行佔用較多的空間。
 
所以,出現ORA-03113,通常以上兩個空間會出現嚴重不足狀況。
三、完美解決方式
       用sys帳戶dba登陸,兩個緣由一一解決:
       1)、清理AUD$審計表記錄;
       Truncate table AUD$;
       清理AUD$審計表一條命令便可。
    2)、清理AWR快照步驟稍有麻煩
              select dbid, retention from dba_hist_wr_control;
         DBID           RETENTION
----------   ------------------------------------------------
1426562503   +00008 00:00:00.0
 
select min(snap_id), max(snap_id) from dba_hist_snapshot where dbid = 1426562503;
MIN(SNAP_ID) MAX(SNAP_ID)
------------ ------------
        7689         7896
exec dbms_workload_repository.drop_snapshot_range(7689, 7896,1426562503)
PL/SQL procedure successfully completed
 
select min(snap_id), max(snap_id) from dba_hist_snapshot where dbid = 1426562503;
MIN(SNAP_ID) MAX(SNAP_ID)
------------ ------------
 
AWR快照清理結束。
清理後,再去查看system表空間,對比先後結果會有明顯變化,這是再進行數據庫開發時,不會出現ORA-03113錯誤。
 
四、總結
此種解決方案,針對的是數據庫開發工做較多狀況下,如大量的PL/SQL的函數、包、過程的開發、編譯,建議在生產環境儘可能不要進行開發,或是生產環境單獨將審計和快照移至專門的表空間。
相關文章
相關標籤/搜索