Oracle LogMiner實踐記錄

1、longminer的環境配置

https://www.cnblogs.com/shishanyuan/p/3140440.html

2、sqlplus中執行logminer的命令記錄

//login

CONNECT DATAHUB/DATAHUB


//create table and insert data
CREATE TABLE "DATAHUB"."ORACDC"("ID" NUMBER(5),"NAME" VARCHAR2(10));   

INSERT INTO "DATAHUB"."ORACDC" ("ID", "NAME") VALUES (1, 'a');
INSERT INTO "DATAHUB"."ORACDC" ("ID", "NAME") VALUES (2, 'b');
INSERT INTO "DATAHUB"."ORACDC" ("ID", "NAME") VALUES (3, 'c');
INSERT INTO "DATAHUB"."ORACDC" ("ID", "NAME") VALUES (4, 'd');
INSERT INTO "DATAHUB"."ORACDC" ("ID", "NAME") VALUES (5, 'e');
INSERT INTO "DATAHUB"."ORACDC" ("ID", "NAME") VALUES (6, 'f');
INSERT INTO "DATAHUB"."ORACDC" ("ID", "NAME") VALUES (7, 'g');
INSERT INTO "DATAHUB"."ORACDC" ("ID", "NAME") VALUES (8, 'h');
INSERT INTO "DATAHUB"."ORACDC" ("ID", "NAME") VALUES (9, 'i');
INSERT INTO "DATAHUB"."ORACDC" ("ID", "NAME") VALUES (10, 'g');
INSERT INTO "DATAHUB"."ORACDC" ("ID", "NAME") VALUES (11, 'k');
INSERT INTO "DATAHUB"."ORACDC" ("ID", "NAME") VALUES (12, 'l');
INSERT INTO "DATAHUB"."ORACDC" ("ID", "NAME") VALUES (13, 'm');
INSERT INTO "DATAHUB"."ORACDC" ("ID", "NAME") VALUES (14, 'n');
INSERT INTO "DATAHUB"."ORACDC" ("ID", "NAME") VALUES (15, 'o');
INSERT INTO "DATAHUB"."ORACDC" ("ID", "NAME") VALUES (16, 'p');
INSERT INTO "DATAHUB"."ORACDC" ("ID", "NAME") VALUES (17, 'q');
INSERT INTO "DATAHUB"."ORACDC" ("ID", "NAME") VALUES (18, 'r');
INSERT INTO "DATAHUB"."ORACDC" ("ID", "NAME") VALUES (19, 's');
INSERT INTO "DATAHUB"."ORACDC" ("ID", "NAME") VALUES (20, 't');
INSERT INTO "DATAHUB"."ORACDC" ("ID", "NAME") VALUES (21, 'u');
INSERT INTO "DATAHUB"."ORACDC" ("ID", "NAME") VALUES (22, 'v');
INSERT INTO "DATAHUB"."ORACDC" ("ID", "NAME") VALUES (23, 'w');
INSERT INTO "DATAHUB"."ORACDC" ("ID", "NAME") VALUES (24, 'x');


//commit transation
COMMIT;


//rebuild dict.ora
EXECUTE dbms_logmnr_d.build(dictionary_filename => 'dict.ora', dictionary_location =>'/data/oracle/dict');
//set model redolog
EXECUTE DBMS_LOGMNR_D.BUILD(OPTIONS=> DBMS_LOGMNR_D.STORE_IN_REDO_LOGS);


//list log info
select group#, sequence#, bytes, members, status from v$log;
//add redolog file to logminer
EXEC dbms_logmnr.add_logfile('/data/oracle/oradata/ora11/redo01.log');
EXEC dbms_logmnr.add_logfile('/data/oracle/oradata/ora11/redo02.log');
EXEC dbms_logmnr.add_logfile('/data/oracle/oradata/ora11/redo03.log');
//add archivelog file to logminer
EXEC dbms_logmnr.add_logfile('/home/oracle/2018_01_15/o1_mf_1_5_f5rvv949_.arc');


//execute logminer for analyzing log
EXECUTE DBMS_LOGMNR.START_LOGMNR(OPTIONS => DBMS_LOGMNR.DICT_FROM_ONLINE_CATALOG);


//1.execute logminer for analyzing log
EXEC dbms_logmnr.start_logmnr(OPTIONS => DBMS_LOGMNR.DICT_FROM_ONLINE_CATALOG + DBMS_LOGMNR.CONTINUOUS_MINE + DBMS_LOGMNR.NO_SQL_DELIMITER);


//2.execute logminer for analyzing log
EXEC DBMS_LOGMNR.START_LOGMNR( STARTSCN => 989960, ENDSCN => 3004680, OPTIONS => DBMS_LOGMNR.DICT_FROM_ONLINE_CATALOG + DBMS_LOGMNR.CONTINUOUS_MINE + DBMS_LOGMNR.NO_SQL_DELIMITER);


//3.execute logminer for analyzing log
EXEC DBMS_LOGMNR.START_LOGMNR( STARTTIME => to_date('2018-03-06 16:00:00','YYYY-MM-DD HH24:MI:SS'), ENDTIME => to_date('2018-03-06 16:40:00','YYYY-MM-DD HH24:MI:SS'), OPTIONS => DBMS_LOGMNR.DICT_FROM_ONLINE_CATALOG + DBMS_LOGMNR.CONTINUOUS_MINE + DBMS_LOGMNR.NO_SQL_DELIMITER);


//list result
select * from v$logmnr_contents;
select sql_redo,username,timestamp,sql_undo from v$logmnr_contents;


//list result by conditions
SELECT sql_redo FROM v$logmnr_contents WHERE username='datahub' AND table_name='ORACDC';
SELECT sql_redo FROM v$logmnr_contents WHERE table_name='ORACDC';


//close logminer 

EXEC dbms_logmnr.end_logmnr;



3、Oralce中歸檔內存空間管理

connect datahub/datahub as sysdba
startup mount
select * from v$log;
select v1.group#, member, sequence#, first_change# from v$log v1, v$logfile v2 where v1.group# = v2.group#;
recover database until cancel;
recover database until time '2018-03-05 10:20:00';
alter database open resetlogs;


archive log list;
show parameter db_recover;


//查看歸檔區大小
select * from V$FLASH_RECOVERY_AREA_USAGE;


//修改恢復區大小
alter system set db_recovery_file_dest_size=1G;


//修改恢復區位置,默認有大小限制,自定義的地方無
alter system set log_archive_dest='location=/data/oracle/arch';


//刪除前7天的歸檔文件,在rman中刪除後,需要在對應路徑下手動刪除這些文件
rman>delete noprompt archivelog all completed before 'sysdate-7';
rman>delete noprompt archivelog until time 'sysdate - 7';


//切換redolog文件
alter system switch logfile;


//手動歸檔文件
alter system archive log current;


//手動清除無法歸檔的redolog文件
alter database clear unarchived logfile group 1;


//設置歸檔文件的路徑
alter system set log_archive_dest_1='location=/data/oracle/arch/archive_log' scope=both

//相關鏈接

https://www.linuxidc.com/Linux/2014-01/95111.html

http://blog.csdn.net/qq_34556414/article/details/78913654


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章