程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> oracle歸檔日志增長過快處理方法

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

編輯:Oracle教程

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


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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved