亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

Oracle中用LogMiner分析重做及歸檔日志

瀏覽:82日期:2023-11-24 17:37:19
LogMiner是集成在Oracle8i/Oracle9i數據庫產品中的日志分析工具,通過該工具可以分析重做日志和歸檔日志中的所有事務變化,并能準確地確定各種DML和DDL操作的具體時間和SCN值。對重做日志和歸檔日志進行分析的目的是為了恢復由于執行了誤操作而丟失的數據。 使用LogMiner可實現:①確定數據邏輯損壞的時間。例如,用戶執行了DROP TABLE和TRUNCATE TABLE命令等誤操作后,使用LogMiner可以準確定位執行這些誤操作的具體時間。注重:Oracle8i只能還原DML操作,不能還原DDL操作;Oracle9i可以還原DDL以及DML操作。②跟蹤用戶執行的事務變化操作。使用LogMiner不僅可以跟蹤用戶所執行的各種DML操作和DDL操作,而且還可以取得數據變化。③跟蹤表的DML操作,使用LogMiner可以跟蹤在表上所發生的所有事務變化。 下面以Oracle8i(8.1.5)for windows 2000/NT為例說明如何使用LogMiner對重做日志和歸檔日志進行分析。本文進行的所有操作均在該環境下驗證通過,文中使用的數據庫名為phj,Oracle_sid為phj。 一、日志操作模式 Oracle數據庫對日志的治理模式有兩種,即:非歸檔模式和歸檔模式。在建立或安裝Oracle數據庫時,假如沒有指定日志操作模式,則默認為非歸檔模式(NOARCHIVELOG)。數據庫建立之后,用戶可以根據需要修改數據庫日志的操作模式。 1.非歸檔模式(NOARCHIVELOG) 非歸檔模式是指不保存重做日志的日志操作模式,這種日志操作模式只能用于保護實例失敗(如系統斷電),而不能用于保護介質失敗(數據庫物理文件損壞)。 非歸檔模式的工作過程如下:假設數據庫只有兩個日志組,且當前日志組為日志組一,日志序列號為1。當事務變化填滿日志組一時,系統會切換到日志組二,并且LGWR進程將事務變化寫入該日志組,日志序列號變為2;而當事務變化填滿日志組二時,系統又自動切換回日志組一,此時日志序列號變為3,并且日志序列號3所對應的事務變化會覆蓋日志序列號1所對應的事務變化,依此類推。 2.歸檔模式(ARCHIVELOG) 歸檔模式是指將重做日志內容保存到歸檔日志中的日志操作模式。在這種日志操作模式下,當進行日志切換時ARCH進程會將重做日志的內容復制到歸檔日志中。例如,假設數據庫只包含兩個日志組,LGWR進程首先將事務變化寫入日志組一,此時日志序列號為1;當事務變化填滿日志組一時,系統將自動切換到日志組二,并將事務變化寫入日志組二,此時日志序列號變為2,同時后臺進程ARCn會將日志組一的內容保存到歸檔日志文件1中;而當事務變化填滿日志組二時,系統自動切換回日志組一,并將事務變化寫入日志組一,此時日志序列號變為3,同時后臺進程ARCn會將日志組二的內容保存到歸檔日志文件2中,依此類推。 3.改變日志的操作模式為自動歸檔模式 ①修改數據庫的參數文件,在參數文件后添加如下參數: log_archive_start = truelog_archive_dest_1 = 'location=C:Oraclephjarchive'log_archive_format = 'T%TS%S.ARC' 說明:第一個參數在重啟數據庫時將自動啟動ARCH進程;第二個參數指出歸檔日志存放的位置;第三個參數說明歸檔日志的文件名格式,%T取重做線程號,%S取日志序列號; ②重啟并裝載數據庫 sqlplus internal/oracle@phjshutdown immediatestartup mount pfile=%Oracle_Home%databaseinitphj.oraalter database archivelogalter database open 4.生成歸檔日志 下面以分析TMP表的DDL和DML操作為例,介紹使用LogMiner分析重做日志和歸檔日志的全過程。我們首先執行以下語句在表TMP上執行DDL以及DML操作,并生成歸檔日志: sqlplus internal/oracle@phjcreate table tmp(name varchar2(10),no number(3));alter system switch logfile;insert into tmp values(‘liming’,112);update tmp set no=200;commit;alter system switch logfile;delete from tmp;alter system switch logfile; 通過上面的操作會產生三個連續的歸檔日志文件。二、建立字典文件 字典文件用于存放表及對象ID號之間的對應關系。當使用字典文件時,它會在表名和對象ID號之間建立一一對應的關系。因此需要注重,假如用戶建立了新表之后,并且將來可能會對該表進行日志分析,那么就需要重新建立字典文件,以將其對象名及對象ID號存放到字典文件中。 1.修改參數文件,添加參數:UTL_FILE_DIR=C:Oraclephjlogmnr 目錄logmnr必須事先手工建立,該目錄用于存放產生的字典文件,目錄名稱可以自定。 2.重新啟動數據庫 sqlplus internal/oracle@phjshutdown immediatestartup pfile=%Oracle_Home%databaseinitphj.ora3.建立字典文件 BEGIN dbms_logmnr_d.build( dictionary_filename=>’dict.ora’, dictionary_location=>’c:oraclephjlogmnr’);END;/注重:參數dictionary_filename用以指定字典文件的文件名;參數 dictionary_location用于指定存放字典文件所在的目錄,該目錄必須與初始化參數UTL_FILE_DIR的值一致。假如指定的字典文件名dict.ora已經存在,則應在執行此操作前將其徹底刪除(從垃圾箱中刪除),否則執行該過程將失敗。 三、建立日志分析列表 建立日志分析列表必須在MOUNT或NOMOUNT狀態下完成。 1.停止并裝載數據庫 sqlplus internal/oracle@phjshutdown immediatestartup mount pfile=%Oracle_Home%databaseinitphj.ora2.建立日志分析列表 在“生成歸檔日志”的操作中已經生成了三個連續的歸檔日志文件,為便于分析我們重新復制這三個歸檔日志文件并分別命名為:test1.arc、test2.arc、test3.arc。通過以下操作建立日志分析列表: BEGINdbms_logmnr.add_logfile(options=>dbms_logmnr.new, logfilename=>’c:oraclephjarchivetest1.arc’); END;/3.增加其它欲進行分析的日志文件 BEGINdbms_logmnr.add_logfile(options=>dbms_logmnr.addfile, logfilename=>’c:oraclephj archive test2.arc’); END;/用同樣的方法將歸檔日志文件test3.arc增加到日志分析列表中。可以通過動態性能視圖v$logmnr_logs查看日志分析列表中有哪些待分析的日志文件。 SQL> select filename from v$logmnr_logs;FILENAME----------------------------------------c:oraclephjarchivetest1.arcc:oraclephjarchivetest2.arcc:oraclephjarchivetest3.arc四、啟動LogMiner執行分析 1.分析重做日志和歸檔日志 BEGINdbms_logmnr.start_logmnr(dictfilename=>’c:oraclephjlogmnrdict.ora’, starttime=>to_date(’2003-02-10:10:05:00’,’YYYY-MM-DD:HH24:MI:SS’), endtime=>to_date(’2003-02-10:10:17:00’,’YYYY-MM-DD:HH24:MI:SS’)); END;/注重:此過程能否執行成功的要害是給出的starttime(起始時間)和endtime(終止時間)應在一個有效的范圍內。非凡是終止時間,應小于或等于歸檔日志的建立時間;假如大于歸檔日志的建立時間,則不能執行分析過程。分析多個歸檔日志時,這些歸檔日志最好是連續的。 2.查看日志分析結果 上面對日志進行分析的結果存放在動態性能視圖v$logmnr_contents中,通過查詢該動態性能視圖可以取得所有DML以及其反操作。 SQL> select operation,sql_redo,sql_undo2 from v$logmnr_contents3 where seg_name='TMP';OPERATION SQL_REDO SQL_UNDO----------- --------------------- --------------------------INSERT insert into SYS.TMP…… delete from SYS.TMP ……UPDATE update SYS.TMP set NO …… update SYS.TMP set ……DELETE delete from SYS.TMP …… insert into SYS.TMP ……根據需要可以從動態性能視圖v$logmnr_contents中獲取更多的有用信息,限于篇幅此不贅述。對重做日志進行分析的方法與對歸檔日志分析的方法一樣,只是在建立日志分析列表時,需將重做日志文件添加到日志分析列表中。
標簽: Oracle 數據庫
主站蜘蛛池模板: 国产成a人片在线观看视频99 | 亚洲巨乳自拍在线视频 | 嫩草影院在线入口 | 国产在线短视频 | 国产v视频| 久久久免费的精品 | 看片在线观看免费 | 久草久在线 | 亚洲免费网站 | 精子网久久国产精品 | 黄色片视频在线播放 | 免费香蕉视频国产在线看 | 久久毛片网站 | 免费一级乱子伦片 | 日本精品一区二区三本中文 | 国产欧美日韩不卡一区二区三区 | 在线观看欧美亚洲 | 香港经典a毛片免费观看爽爽影院 | 视频一区二区在线 | 操大逼视频| 中文字幕综合网 | 五月婷婷综合基地 | 国产三级精品三级在线专区91 | 天堂久久久久久中文字幕 | 美女三级黄 | 国产系列 视频二区 | 久久99热国产这有精品 | 91桃色视频在线观看 | 欧美日韩在线网站 | 男人的天堂久久精品激情 | 在线观看成年人免费视频 | 91九色porn偷拍在线 | 久青草视频97国内免费影视 | 麻豆视传媒短视频网站-欢迎您 | 伊人色综合久久天天爱 | 亚洲无线码一区二区三区在线观看 | 国产亚洲欧美在线视频 | 亚洲欧美一区二区三区九九九 | 日韩一级欧美一级毛片在线 | 一级特黄a大片免费 | 国产伊人久久 |