oracle歸檔日志一般由dml語句產生,所以增加太快應該是dml太頻繁
首先查詢以下每天的歸檔產生的情況:
SELECT TRUNC(FIRST_TIME) "TIME",
SUM(BLOCK_SIZE * BLOCKS) / 1024 / 1024 / 1024 "SIZE(GB)"
FROM V$ARCHIVED_LOG
GROUP BY TRUNC(FIRST_TIME);
從而好判斷那個時間段開始歸檔比較異常
從以下兩種方式分析歸檔日志的情況
方法一:使用logminer
1,使用腳本創建相關的包
@$ORACLE_HOME/rdbms/admin/dbmslm.sql
@$ORACLE_HOME/rdbms/admin/dbmslmd.sql;
第一個腳本用來創建DBMS_LOGMNR包,該包用來分析日志文件。
第二個腳本用來創建DBMS_LOGMNR_D包,該包用來創建數據字典文件。
2.指定要分析的日志文件
exec sys.dbms_logmnr.add_logfile(logfilename => '/archivelog/node/1_771348_78836667000.arc',options => dbms_logmnr.new);
3.使用本地的在線數據字典分析歸檔日志
exec sys.dbms_logmnr.start_logmnr(options => sys.dbms_logmnr.dict_from_online_catalog);
4,查詢分析出來的歸檔日志內容,例如統計最大修改量的Schema
select seg_owner,count(*) from v$logmnr_contents group by seg_owner;
select count(1),substr(sql_redo,1,30) from v$logmnr_contents group by substr(sql_redo,1,30) order by count(1) desc ;
5.增加別的日志文件
exec sys.dbms_logmnr.add_logfile(logfilename=>'/archivelog/node/1_773333_78836667000.arc');
exec sys.dbms_logmnr.add_logfile(logfilename=>'/archivelog/node1/1_773334_78836667000.arc');
6.結束分析歸檔日志
exec sys.dbms_logmnr.end_logmnr;
方法二:使用toad工具查看日志信息
在database 找到logminer 然後把要分析的日志放進去,裡面有詳細的數據庫執行記錄,很直觀的看到產生歸檔的語句
查出來語句後,然後給開發一塊商量還是否可以降低一些dml語句的執行頻率