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


ORA-03113:通信通道的文件結尾-完美解決方案
 
oracle 文檔中對這個錯誤這樣解釋:
ORA-03113 錯誤就是說連接到數據庫的網絡中斷了。有些錯誤由於頻繁出現、原因復雜而被 Oracle DBA 們戲稱之為"經典的錯誤"。
 
 
 
完美解決方案:
1、查看系統表空間用量:
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;
 
2、分析ORA-03113主要原因
從圖中主要分析SYSTEM、SYSAUX表空間用量,原因有兩點:
       1)、SYSTEM中審計表aud$在數據庫編程過程中,對SQL語句的編譯過程,資源占用會較大,因此在sys賬戶下查看,
select count(*) sum from AUD$;
會得知,該數值會非常大。
 
2)、SYSAUX則進行的是AWR快照,也會進行占用較多的空間。
 
因此,出現ORA-03113,一般以上兩個空間會出現嚴重不足情況。
3、完美解決方式
       用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錯誤。
 
4、總結
此種解決方案,針對的是數據庫開發工作較多情況下,如大量的PL/SQL的函數、包、過程的開發、編譯,建議在生產環境盡量不要進行開發,或是生產環境單獨將審計和快照移至專門的表空間。
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM