gdufo

           

          logminer的安裝配置使用

          logminer的安裝配置使用
          安裝
          環境:linux AS5,oracle 11gR2

          2.添加補充日志

          如果數據庫需要使用logminer,就應該添加,只有添加這個日志之后的才能捕獲DML
          ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY, UNIQUE INDEX) COLUMNS;

          3.開啟歸檔(對logminer來說不是必須)
          alter system set log_Archive_dest_1='/opt/oracle/flash_recovery_area' scope=both;
          shutdown immediate
          startup mount
          alter database archivelog;
          alter database open;


          創建DBMS_LOGMNR包
          SQL>@?/rdbms/admin/dbmslm.sql

          創建相關數據字典
          SQL>@?/rdbms/admin/dbmslmd.sql

          修改初始化參數UTL_FILE_DIR,指定分析數據的存放處
          SQL>alter system set UTL_FILE_DIR='/opt/oracle/oradata/logminer' scope=spfile;

          重啟數據庫
          SQL>shutdown immediate
          SQL>startup


          SQL> show parameter utl;

          NAME TYPE VALUE
          ------------------------------------ ----------- ------------------------------
          create_stored_outlines string
          utl_file_dir string /opt/oracle/oradata/logminer

          生成字典信息文件:

          SQL> execute dbms_logmnr_d.build(dictionary_filename=>'/opt/oracle/oradata/logminer/sqltrace.ora',dictionary_location=>'/opt/oracle/oradata/logminer');

          PL/SQL 過程已成功完成。
          查當前日志組
          SQL>select Group#, Status from v$log;

              GROUP# STATUS
          ---------- ----------------
                   1 INACTIVE
                   2 CURRENT
                   3 INACTIVE

          SQL>select Group#, MEMBER from v$logfile;

              GROUP# MEMBER
          ---------- ----------------------------------------
                   3 /opt/oracle/oradata/orcl/redo03.log
                   2 /opt/oracle/oradata/orcl/redo02.log
                   1 /opt/oracle/oradata/orcl/redo01.log
                  
          添加需要分析的日志文件(在線日志)
          SQL> execute dbms_logmnr.add_logfile(options=>dbms_logmnr.new,logfilename=>'/opt/oracle/oradata/orcl/redo02.log');

          #歸檔日志
          execute dbms_logmnr.add_logfile(options=>dbms_logmnr.new,logfilename=>'/opt/oracle/oradata/logminer/1_6356_704818301.dbf');
          PL/SQL 過程已成功完成。
          SQL> execute dbms_logmnr.add_logfile(options=>dbms_logmnr.addfile,logfilename=>'opt/oracle/oradata/orcl/redo03.log');

          PL/SQL 過程已成功完成。
          options選項有三個參數可選:
          NEW - 表示創建一個新的日志文件列表
          ADDFILE - 表示向這個列表中添加日志文件
          REMOVEFILE - 和addfile相反。


          開始分析
          SQL> execute dbms_logmnr.start_logmnr(dictfilename=>'/opt/oracle/oradata/logminer/sqltrace.ora');

          #設置 STARTTIME / ENDTIME
          SQL>execute dbms_logmnr.start_logmnr(dictfilename=>'/u01/app/oracle/logminer/sqltrace.ora',starttime => to_date('2012/11/01-08:00:00','yyyy/mm/dd-hh24:mi:ss'),endtime => to_date('2012/11/02-12:30:00','yyyy/mm/dd-hh24:mi:ss'));


          #也可以設置不用數據字典,只是看不到解釋過來,沒有意義了。
          begin
            dbms_logmnr.start_logmnr(starttime => to_date('2012/09/29-08:55:00','yyyy/mm/dd-hh24:mi:ss'),
            endtime => to_date('2012/09/29-15:30:00','yyyy/mm/dd-hh24:mi:ss')
          );
          PL/SQL 過程已成功完成。
          dbms_logmnr.start_logmnr()過程還有其它幾個用于定義分析日志時間/SCN窗口的參數,它們分別是:
          STARTSCN / ENDSCN - 定義分析的起始/結束SCN號,
          STARTTIME / ENDTIME - 定義分析的起始/結束時間。

          查詢分析的日志文件包含的scn范圍和日期范圍。
          SQL> select low_time,high_time,low_scn,next_scn from v$logmnr_logs;

          LOW_TIME HIGH_TIME LOW_SCN NEXT_SCN
          -------------- -------------- ---------- ----------
          08-8月 -07 08-8月 -07 626540 637998
          08-8月 -07 01-1月 -88 637998 2.8147E+14

          SQL> create table ELLINGTON.log_content NOLOGGING Tablespace Users as select timestamp,sql_redo,sql_undo,USERNAME,OS_USERNAME,MACHINE_NAME from v$logmnr_contents;
          將內容復制到一張表中查詢并指定存儲表空間,desc v$logmnr_contents

          結束分析

          SQL> execute dbms_logmnr.end_logmnr;

          結束后視圖v$logmnr_contents中的分析結果也不再存在,關閉sqlplus自動結束。
          注意:1. LogMiner必須使用被分析數據庫實例產生的字典文件,而不是安裝LogMiner的數據庫產生的字典文件,另外必須保證安裝LogMiner數據庫的字符集和被分析數據庫的字符集相同。
              2. 被分析數據庫平臺必須和當前LogMiner所在數據庫平臺一樣,也就是說如果我們要分析的文件是由運行在UNIX平臺上的Oracle 8i產生的,那么也必須在一個運行在UNIX平臺上的Oracle實例上運行LogMiner,而不能在其他如Microsoft NT上運行LogMiner。當然兩者的硬件條件不一定要求完全一樣。
                3. 生產庫的歸檔日志拿到測試機上來分析,雖然可以分析,但是由于db_id不同,不能使用數據字典,也就看不到翻譯過的語句(16進制的東西)

          posted on 2012-10-25 20:12 gdufo 閱讀(654) 評論(0)  編輯  收藏 所屬分類: Database (oracle, sqlser,MYSQL)

          導航

          統計

          常用鏈接

          留言簿(6)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          收藏夾

          Hibernate

          友情鏈接

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 仙居县| 五家渠市| 中西区| 和林格尔县| 射阳县| 绩溪县| 郎溪县| 铜梁县| 翁源县| 砚山县| 广元市| 双鸭山市| 沂水县| 邯郸市| 建水县| 河池市| 钟山县| 宜兴市| 顺义区| 政和县| 海晏县| 黎城县| 平凉市| 建宁县| 巴塘县| 土默特右旗| 玛曲县| 桃园县| 永和县| 砀山县| 万载县| 浏阳市| 当阳市| 柳州市| 汉寿县| 威海市| 托克托县| 宣化县| 石渠县| 十堰市| 炎陵县|