建站技術網專注分享網站建設技術,網站建設教程,真正幫你學會做網站技術,輕松解決網站建設過程中遇到的常見問題,為廣大站長服務。 網站地圖 | 收藏本站 | 訂閱
域名投資,就來找米網,認準網址:www.zhaomi.cc 專業仿站,就到仿站網:www.fangzhan.org
  站內公告: ·帝國cms教程內容已更新,歡迎關注     ·建站技術網采用阿里云服務器,備案已通    
您當前的位置:建站技術網 > 數據庫教程 > Oracle教程

oracle 如何查看日志

時間:2018-02-02 15:45:35  來源:網絡收集  整理: 建站技術網 www.txwlqq.com     點擊:16次

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中幾個不同參數的設置,可以縮小要分析日志文件的范圍。通過設置起始時間和終止時間參數我們可以限制只分析某一時間范圍的日志。如下面的例子,我們僅僅分析2007年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 

------------------------------ -------------------------------------------------------------------------------- 

GV$LOGMNR_CALLBACK               Synonym for GV_$LOGMNR_CALLBACK 

GV$LOGMNR_CONTENTS               Synonym for GV_$LOGMNR_CONTENTS 

GV$LOGMNR_DICTIONARY             Synonym for GV_$LOGMNR_DICTIONARY 

GV$LOGMNR_LOGFILE               Synonym for GV_$LOGMNR_LOGFILE 

GV$LOGMNR_LOGS                   Synonym for GV_$LOGMNR_LOGS 

GV$LOGMNR_PARAMETERS             Synonym for GV_$LOGMNR_PARAMETERS 

GV$LOGMNR_PROCESS               Synonym for GV_$LOGMNR_PROCESS 

GV$LOGMNR_REGION                 Synonym for GV_$LOGMNR_REGION 

GV$LOGMNR_SESSION               Synonym for GV_$LOGMNR_SESSION 

GV$LOGMNR_STATS                 Synonym for GV_$LOGMNR_STATS 

GV$LOGMNR_TRANSACTION           Synonym for GV_$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 

GV$LOGMNR_LOGS 是分析日志列表視圖 

分析結果在GV$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%'; 

如果不能正常查詢GV$LOGMNR_CONTENTS視圖,并報以下錯誤,ORA-01306: 在從 v$logmnr_contents 中選擇之前必須調用 dbms_logmnr.start_logmnr() ?刹捎萌缦路椒ǎ 

create table logmnr3 as select * from GV$LOGMNR_CONTENTS;


Oracle端口:1521


標簽:
文章標題:oracle 如何查看日志
文章網址:http://www.txwlqq.com/shujuku/Oracle/3801.html
上一篇:Oracle數據庫日志存放位置
下一篇:oracle11g 日志alter文件位置
來頂一下
返回首頁
返回首頁
相關文章
    無相關信息
推薦資訊
如何通過SEO優化排名賺錢?SEO賺錢方法
如何通過SEO優化排名賺
seo優化教程:網站seo內容優化
seo優化教程:網站seo
SEO細節:企業SEO如何快速為新站做出效果
SEO細節:企業SEO如何
電商技術將如何發展?2018年有這五個大膽預測
電商技術將如何發展?
最新文章
欄目更新
欄目熱門
成人黄色