oracle歸檔日志增長過快處理方法


oracle歸檔日志增長過快處理方法

oracle歸檔日志一般由dml語句產生,所以增加太快應該是dml太頻繁 首先查詢以下每天的歸檔產生的情況: SELECT TRUNC(FIRST_TIME) "TIME", SUM(BLOCK_SIZE * BLOCKS) 1024

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語句的執行頻率


免責聲明!

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



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