91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

[生產庫實戰] 如何合理的使用logmnr進行日志挖掘,并對生產庫影響最小化

發布時間:2020-06-23 12:02:07 來源:網絡 閱讀:496 作者:s_o_m 欄目:關系型數據庫

Oracle Logmnr這個工具怎么用這里就不詳細說,可以查看官方文檔,網上的文檔也一大堆,自己找吧。我這里就直接上干貨了。


--創建Oracle目錄

select * from dba_directories;

create directory archivelog_dir as '/archivelog1/temp_archivelog/';

--grant read, write on directory archivelog_dir to zhanghui;


--歸檔日志路徑信息表(tmp_archive_log),主要是保存要挖掘日志的路徑

--注:要為該表加狀態標志位,0為未挖掘,1為已挖掘

create table tmp_archive_log as 

select name, 0 flag from v$archived_log 

where first_time>=to_date('2012-12-25 13:55:00','yyyy-mm-dd hh34:mi:ss')

  and first_time<to_date('2012-12-25 15:05:00','yyyy-mm-dd hh34:mi:ss');


--為挖掘日志出的內容創建表,并根據具體需要選擇要提取的字段

create table zhanghui.logmnr_contents

as

select timestamp,log_id,seg_owner,seg_name,table_name,username,operation,sql_redo,sql_undo from v$logmnr_contents where 1=2;


--批量處理挖掘日志,只分析幾個歸檔日志手動處理還好,如果要分析上百個,還手動搞,那就傻了,所以做事的講究方法,2分鐘1.5G的歸檔,分析兩個小時的,怎么玩?

--注:由于挖掘出的日志內容保存在內存中,操作會話退出就丟失了,故這里采用單個日志挖掘,然后將數據保存到一張表中,完成后commit。以免對DB的memory造成沖擊,影響性能,生產庫操作一定要保證不影響業務的情況下進行各類操作。

$ sqlplus / as sysdba

create procedure proc_logmnr_batch
IS
  vCur                      sys_refcursor;
  v_sql_dirarclog           varchar2(2000);
  v_sql_arclog              varchar2(2000);
begin
  open vCur for select name from zhanghui.tmp_archive_log where flag=0;
  loop
    fetch vCur
      into v_sql_dirarclog;
    exit when vCur%notfound;
  v_sql_arclog:='begin sys.dbms_logmnr.add_logfile (logfilename=>'''||v_sql_dirarclog||''',options=>sys.dbms_logmnr.NEW); end;';
  execute immediate v_sql_arclog;
  begin sys.dbms_logmnr.start_logmnr(options =>dbms_logmnr.dict_from_online_catalog); end;
    insert into /*+ append */ zhanghui.logmnr_contents 
    select timestamp,log_id,seg_owner,seg_name,table_name,username,operation,sql_redo,sql_undo from 
    v$logmnr_contents
    --where table_name='<TABLE_NAME>' and OPERATION='DELETE';
  begin sys.dbms_logmnr.end_logmnr; end;
  UPDATE zhanghui.tmp_archive_log set flag = 1 where name= v_sql_dirarclog;
  commit;
  end loop;
    --跑完了發條短信,調用短信接口
    close vCur;
EXCEPTION
  WHEN OTHERS THEN
    ROLLBACK;
    --報錯了發條短信,調用短信接口
    --dbms_output.put_line(sqlerrm); 
END proc_logmnr_batch;

 

--采用操作系統調用存儲過程腳本

$cat proc_logmnr_batch.sh

#!/bin/bash
sqlplus / as sysdba <<EOF
set newpage 0
set linesize 1000             
set pagesize 0
spool proc_logmnr_batch.txt;
exec proc_logmnr_batch;
spool off
quit;
EOF


--賦予執行權限

$chmod +x proc_logmnr_batch.sh

--后臺調用執行

$nohup ./proc_logmnr_batch.sh &


好了,等收到處理完成的短信,登錄數據庫查看即可。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

迁西县| 波密县| 湟中县| 沾化县| 南靖县| 宝丰县| 葫芦岛市| 建湖县| 偃师市| 通江县| 兰州市| 孝义市| 涪陵区| 新和县| 嵊州市| 大冶市| 遵义市| 申扎县| 洪洞县| 黄浦区| 仁化县| 旺苍县| 扶绥县| 安远县| 广水市| 云和县| 大余县| 东光县| 沧源| 南川市| 余姚市| 台北市| 黔南| 台东市| 宁阳县| 新营市| 德清县| 和田县| 宝应县| 连平县| 万州区|