oracle如何檢視日誌?

2021-12-30 07:51:05 字數 4776 閱讀 5528

oracle日誌檢視

一.oracle日誌的路徑:

登入:sqlplus "/as sysdba"

檢視路徑:sql> select * from v$logfile;

sql> select * from v$logfile;(#日誌檔案路徑)

二.oracle日誌檔案包含哪些內容:(日誌的數量可能略有不同)

control01.ctl example01.dbf redo02.log sysaux01.dbf undotbs01.dbf

control02.ctl redo03.log system01.dbf users01.dbf

control03.ctl redo01.log shttest.dbf temp01.dbf

三.oracle日誌的檢視方法:

sql>select * from v$sql (#檢視最近所作的操作)

sql>select * fromv $sqlarea(#檢視最近所作的操作)

oracle 資料庫的所有更改都記錄在日誌中,從目前來看,分析oracle日誌的唯一方法就是使用oracle公司提供的logminer來進行,因為原始的日誌資訊我們根本無法看懂,oracle8i後續版本中自帶了logminer,而logminer就是讓我們看懂日誌資訊的工具,通過這個工具可以:查明資料庫的邏輯更改,偵察並更正使用者的誤操作,執行事後審計,執行變化分析。

四.logminer的使用:

1、建立資料字典檔案(data-dictionary)

1).首先在init.ora初始化引數檔案中,新增乙個引數utl_file_dir,該引數值為伺服器中放置資料字典檔案的目錄。如:utl_file_dir = ($oracle_home\logs) ,重新啟動資料庫,使新加的引數生效:

sql> shutdown;

sql>startup;

2).然後建立資料字典檔案

sql> connect /as sysdba

sql> execute dbms_logmnr_d.build(dictionary_filename => 'dict.ora',dictionary_location => '/data1/oracle/logs');

pl/sql procedure successfully completed

2、建立要分析的日誌檔案列表

1).建立分析列表,即所要分析的日誌

sql>execute dbms logmnr.add logfile(logfilename => '/data1/oracle/oradata/akazamdb/redo01.log',options => dbms_logmnr.new);

pl/sql procedure successfully completeds

2).新增分析日誌檔案,一次新增1個為宜

sql>execute dbms_ logmnr.add_ logfile(logfilename => '/data1/oracle/oradata/akazamdb/redo01.log',options => dbms_logmnr.addfile);

pl/sql procedure successfully completed

3、使用logminer進行日誌分析(具體要查詢什麼內容可以自己修改)

(1)無限制條件

sql> execute dbms_logmnr.start_logmnr(

dictfilename=>'/data1/oracle/logs/v816dict.ora ');

(2)有限制條件

通過對過程dbms_ logmnr.start_logmnr中幾個不同引數的設定,可以縮小要分析日誌檔案的範圍。通過設定起始時間和終止時間引數我們可以限制只分析某一時間範圍的日誌。如下面的例子,我們僅僅分析2023年9月18日的日誌:

sql> execute dbms_logmnr.start_logmnr(

dictfilename => ' /data1/oracle/logs/ v816dict.ora ',

starttime => to_date('2007-9-18 00:00:00','yyyy-mm-dd hh24:mi:ss')

endtime => to_date(''2007-9-18 23:59:59','yyyy-mm-dd hh24:mi:ss '));

也可以通過設定起始scn和截至scn來限制要分析日誌的範圍:

sql> execute dbms_logmnr.start_logmnr(

dictfilename => ' /data1/oracle/logs/ v816dict.ora ',

startscn => 20,

endscn => 50);

4、觀察分析結果(v$logmnr_contents)

到現在為止,我們已經分析得到了重作日誌檔案中的內容。動態效能檢視v$logmnr_contents包含logminer分析得到的所有的資訊。

select sql_redo from v$logmnr_contents;

如果我們僅僅想知道某個使用者對於某張表的操作,可以通過下面的sql查詢得到,該查詢可以得到使用者db_zgxt對錶sb_djjl所作的一切工作。

sql> select sql_redo from v$logmnr_contents where username='db_zgxt' and tablename='sb_djjl';

需要強調一點的是,檢視v$logmnr_contents中的分析結果僅在我們執行過程'dbms_logmrn.start_logmnr'這個會話的生命期中存在。這是因為所有的logminer儲存都在pga記憶體中,所有其他的程序是看不到它的,同時隨著程序的結束,分析結果也隨之消失。

最後,使用過程dbms_logmnr.end_logmnr終止日誌分析事務,此時pga記憶體區域被清除,分析結果也隨之不再存在。

5、檢視logminer工具分析結果

sql> select * from dict t where t.table_name like '%logmnr%';-看所有與logmnr相關的檢視

table_name comments

**$logmnr_callback synonym for **_$logmnr_callback

**$logmnr_contents synonym for **_$logmnr_contents

**$logmnr_dictionary synonym for **_$logmnr_dictionary

**$logmnr_logfile synonym for **_$logmnr_logfile

**$logmnr_logs synonym for **_$logmnr_logs

**$logmnr_parameters synonym for **_$logmnr_parameters

**$logmnr_process synonym for **_$logmnr_process

**$logmnr_region synonym for **_$logmnr_region

**$logmnr_session synonym for **_$logmnr_session

**$logmnr_stats synonym for **_$logmnr_stats

**$logmnr_transaction synonym for **_$logmnr_transaction

v$logmnr_callback synonym for v_$logmnr_callback

v$logmnr_contents synonym for v_$logmnr_contents

v$logmnr_dictionary synonym for v_$logmnr_dictionary

v$logmnr_logfile synonym for v_$logmnr_logfile

v$logmnr_logs synonym for v_$logmnr_logs

v$logmnr_parameters synonym for v_$logmnr_parameters

v$logmnr_process synonym for v_$logmnr_process

v$logmnr_region synonym for v_$logmnr_region

v$logmnr_session synonym for v_$logmnr_session

table_name comments

v$logmnr_stats synonym for v_$logmnr_stats

v$logmnr_transaction synonym for v_$logmnr_transaction

**$logmnr_logs 是分析日誌列表檢視

分析結果在**$logmnr_contents 檢視中,可按以下語句查詢:

select scn,timestamp,log_id,seg_owner,seg_type,table_space,data_blk#,data_obj#,data_objd#,

session#,serial#,username,session_info,sql_redo,sql_undo from logmnr3 t where t.sql_redo like 'create%';

如果不能正常查詢**$logmnr_contents檢視,並報以下錯誤,ora-01306: 在從 v$logmnr_contents 中選擇之前必須呼叫 dbms_logmnr.start_logmnr() 。可採用如下方法:

create table logmnr3 as select * from **$logmnr_contents;

oracle埠:1521

Oracle如何檢視日誌

一.oracle日誌的路徑 登入 sqlplus as sysdba 檢視路徑 sql select from v logfile sql select from v logfile 日誌檔案路徑 二.oracle日誌檔案包含哪些內容 日誌的數量可能略有不同 control01.ctl exampl...

檢視oracle日誌

1.查詢系統使用的是哪一組日誌檔案 select from v log 2.查詢正在使用的組所對應的日誌檔案 select from v logfile 3.強制日誌切換 alter system switch logfile 4.查詢歷史日誌 select from v log history 5...

如何檢視tomcat日誌

1.tomcat的安裝路徑下tomcat home下的common資料夾下的classes資料夾中建立log4j.properties檔案,即 apache software foundation tomcat 5.5 common classes log4j.rootlogger info,con...