oracle 歸檔日誌檢視方法--logminer
- [[email protected]]/oracle>df -g
-
Filesystem GB blocks Free %Used Iused %Iused Mounted on
-
/dev/hd4 0.50 0.28
44% 13674 17% /
-
/dev/hd2 3.00 0.67
78% 49208 23% /usr
-
/dev/hd9var 1.00 0.37
63% 9285 10% /var
-
/dev/hd3 2.00 1.03
49% 2407 1% /tmp
-
/dev/fwdump 1.
-
/dev/hd1 0.25 0.18
28% 465 2% /home
-
/dev/hd11admin 0.25 0.25
1% 5 1% /admin
-
/proc - - - - - /proc
-
/dev/hd10opt 0.50 0.28
44% 10241 14% /opt
-
/dev/livedump 0.25 0.25
1% 12 1% /var/adm/ras/livedump
-
/dev/oraclelv 30.00 11.29
63% 161681 6% /oracle
-
/dev/installlv 15.00 3.38
78% 6478 1% /install
-
/dev/crslv 10.
-
/dev/wmsapplv 30.00 17.49
42% 15537 1% /wmprod
-
/dev/archivelv 29.25 29.25
1% 4 1% /arch1
-
/dev/backuplv 400.00 107.13
74% 306 1% /sysbackup
- aix02:arch2 30.25 0.64 99% 3 1% /arch2
可以看到,/arch2裡檔案系統空間已經達到99%,/arch2是用來存放歸檔日誌的檔案系統,進而導致資料庫出錯。
提出問題:
這下問題來了,/arch2的空間是30G,每天備份指令碼都會自動rman備份歸檔日誌,並自動清除歸檔日誌檔案,按照正常情況下,資料庫不可能一天產生這麼大的歸檔日誌量。
如何查詢歸檔日誌都是由什麼應用產生的,這就是logminer的用途。
使用方法:
-
-- 1.指定要分析的日誌檔案
-
exec sys.dbms_logmnr.add_logfile(logfilename => '/arch2/2_825_733092736.dbf',options => dbms_logmnr.new);
-
-- 2.使用本地的線上資料字典分析歸檔日誌
-
exec sys.dbms_logmnr.start_logmnr(options => sys.dbms_logmnr.dict_from_online_catalog);
-
-- 3.查詢分析出來的歸檔日誌內容,例如統計最大修改量的Schema
-
select seg_owner,count(*) from v$logmnr_contents group by seg_owner;
-
-- 4.增加別的日誌檔案
-
exec sys.dbms_logmnr.add_logfile(logfilename=>'/arch2/2_825_733092736.dbf');
-
-- 5.結束分析歸檔日誌
- exec sys.dbms_logmnr.end_logmnr;
下面是具體的過程:
-
SQL> exec sys.dbms_logmnr.add_logfile(logfilename => '/arch2/2_825_733092736.dbf',options => dbms_logmnr.new);
-
PL/SQL procedure successfully completed
-
SQL> exec sys.dbms_logmnr.start_logmnr(options => sys.dbms_logmnr.dict_from_online_catalog);
- PL/SQL procedure successfully completed
SEG_OWNER COUNT(*)
-------------------------------- ----------
2237
SYS 688
TMS 60
SPHSY 70
SINOSYNEW 30
SINOSY 381
WAS 4551934
7 rows selected
SQL> execute dbms_logmnr.end_logmnr ;
PL/SQL procedure successfully completed
結論:
從上面查詢結果可以看出操作量最大的使用者是WAS使用者,再具體看下v$logmnr_contents可以發現基本修改的內容是一致的。
與開發人員溝通後,最終確認是一個執行update過程存在問題,where條件未正確定位到記錄,每執行一次都會導致大規模的修改資料。
延伸:
LogMiner使用示例
相關推薦
oracle 歸檔日誌檢視方法--logminer
故障: 資料庫頻繁出現歸檔日誌空間不夠,導致資料庫無法登陸的故障。一查發現原因是歸檔日誌切換頻繁,作業系統空間不夠。 確定原因: [[email protected]]/oracle>df -g Filesystem GB blocks Fr
ORACLE 歸檔日誌打開關閉方法(轉載)
後臺進程 for oracl ins pfile clas 切換 med 轉載 一 設置為歸檔方式 1 sql> archive log list; #查看是不是歸檔方式 2 sql> alter system set log_arch
ORACLE 正確刪除歸檔日誌的方法
我們都知道在controlfile中記錄著每一個archivelog檔案的相關資訊,當然們在OS下把這些物理檔案delete掉後,在我們的controlfile中仍然記錄著這些archivelog檔案的相關資訊,在oracle的OEM管理器中有視覺化的日誌展現出,當我們手
oracle歸檔日誌增長過快處理方法
oracle歸檔日誌一般由dml語句產生,所以增加太快應該是dml太頻繁 首先查詢以下每天的歸檔產生的情況: SELECT TRUNC(FIRST_TIME) "TIME", SUM(BLOCK_SIZE * BLOCKS) / 1024 / 10
Windows平臺使用RMAN命令自動刪除Oracle過期歸檔日誌的方法
自動刪除Oracle過期歸檔日誌的思路如下: 1、編寫自動執行的bat指令碼檔案; 2、Windows設定定期執行計劃 OracleArchLogClear.bat D:/Oracle/produ
檢視oracle歸檔日誌路徑2
在Oracle中,資料一般是存放在資料檔案中,不過資料庫與Oracle最大的區別之一就是資料庫可以在資料出錯的時候進行恢復。 這個也就是我們常見的Oracle中的重做日誌(REDO FILE)的功能了。在重做日誌分成2部分,一個是線上重做日誌檔案,另外一個就是歸檔日誌檔案。 這裡不詳細說明線上重做日
Oracle 歸檔日誌佔滿儲存空間處理方法(11gR2)
1.如果使用的快速恢復區且磁碟還有空間,調大歸檔 SQL> show parameter recover NAME TYPE VALUE -------------------
Oracle 歸檔日誌
如果 back 通過 data 步驟 沒有 variable 異同 成功 Oracle可以將聯機日誌文件保存到多個不同的位置,將聯機日誌轉換為歸檔日誌的過程稱之為歸檔。相應的日誌被稱為歸檔日誌。 一、歸檔日誌 是聯機重做日誌組文件的一個副本 包含redo
如何正確刪除Oracle 歸檔日誌文件
如何正確刪除oracle 歸檔日誌文件當Oracle中的歸檔日誌空間滿時,則需要把它清空,否則將會影響數據庫正常運行,將無法正常登入ORACLE,需要刪除一部分歸檔日誌才能正常登入ORACLE。一、首先刪除歸檔日誌物理文件,歸檔日誌一般都是位於archive目錄下,在Oracle 10g中AIX系統下文件格式
9. Oracle 歸檔日誌
不同 查看數據庫 rst recover led location 最大 defer 功能 轉載自:http://blog.csdn.net/leshami/article/details/5784713 Oracle可以將聯機日誌文件保存到多個不同的位置,將聯機日誌轉換為
Oracle歸檔日誌 ORA-00257:archiver error解決辦法 清理Oracle歸檔日誌
ORA-00257:archiver error解決辦法 出現ORA-00257錯誤(空間不足錯誤),通過查詢資料,絕大部分說這是由於歸檔日誌太多,佔用了全部的硬碟剩餘空間導致的,通過簡單刪除日誌或加大儲存空間就能夠解決。 工具/原料 資料庫Oracle
Oracle11g日誌檢視方法
oracle11g修改了日誌系統,不在使用oracle9的alert_$ORACLE_SID.log日誌,修改為Diag Alert 和Diag Trace兩個目錄儲存xml格式和文字格式的日誌,這個兩個目錄分別放置於/oracle/oracle/diag/rdbms/rac/rac1/trace和/or
當ORACLE歸檔日誌滿後如何正確刪除歸檔日誌
當ORACLE 歸檔日誌滿了後,將無法正常登入ORACLE,需要刪除一部分歸檔日誌才能正常登入ORACLE。 一、首先刪除歸檔日誌物理檔案,歸檔日誌一般都是位於archive目錄下,AIX系統下檔案格式為“1_17884_667758186.dbf”,建議操作前先對資料庫
ORACLE歸檔日誌的切換
、歸檔日誌 1--在系統建立歸檔路徑 mkdir /u01/arch 2--修改資料庫歸檔日誌的路徑引數 alter system set log_archive_dest_1='location=/u01/arch' scope=spfile; 3--修改歸
2017-04-28 DBA日記,各作業系統OS系統日誌檢視方法
背景: 如之前章節所介紹的,資料庫問題分析的一個重要步驟就是收集資料,其中作業系統日誌的收集便是其中一部份,所以為了能夠快速準確收集到該部份的日誌,我們必須瞭解各個作業系統日誌的檢視方式。 問題: 如何能快速有效檢視作業系統的日誌? 解答: 1. LINUX的日誌檢視
刪除ORACLE歸檔日誌
一、檢視歸檔日誌佔用總空間百分比; select * from V$FLASH_RECOVERY_AREA_USAGE; 二、檢視歸檔日誌的目錄; show parameter recover; 三、直接去該目錄下刪除檔案即可 四、在作業系統的命令列下執行:rman t
Oracle歸檔日誌滿了怎麼辦
歸檔滿了 如果伺服器進不去檢視pfile檔案,在pfile檔案裡面有歸檔除存放的路徑 *.db_recovery_file_dest='/u01/app/oracle/fast_recovery_area' 如果伺服器本地可以進去,就可以檢視歸檔目錄 SQ
Oracle歸檔日誌處理
1.alter system switch logfile; ---shutdown abort; 2.然後shutdown im
Linux 6種日誌檢視方法,不會看日誌會被鄙視的
作為一名後端程式設計師,和Linux打交道的地方很多,不會看Linux日誌,非常容易受到來自同事和麵試官的嘲諷,所以掌握一種或者幾種檢視日誌的方法非常重要。 Linux檢視日誌的命令有多種: tail、cat、tac、head、echo等,本文只介紹幾種常用的方法。 1、tail 這個是我最常用的一種檢視
Oracle歸檔日誌所在目錄時間不對&&Oracle叢集日誌時間顯示錯誤
Oracle歸檔日誌所在目錄時間不對&&Oracle叢集日誌時間顯示錯誤 前言 這個問題在18年的時候遇到了,基本不注意並且叢集或者資料庫執行正常是很難注意到的。 忘記當時怎麼發現的了,最近拿出來重現一下問題。 具體描述一下問題: 比如當前時間是2020年07月03日0點,資料庫