1、Logminer的要素
(1)源数据库[被解析的数据库]
(2)解析数据库[运行Logminer的数据库]
(3)数据字典文件[包括数据库对象号和具体对象信息比如:table zbs_test Object ID #t34343]
(4)重做日志文件[源数据库产生的重做日志文件]
2、三种解析方式
(1)在线解析[在线模式]
(2)通过字典文件解析[离线模式]
(3)将字典写入到Redo Log[离线模式]
[@more@]在线模式可以进行实时解析,离线模式只能解析已经归档的数据。
如果实时性要求不高[T+1肯定是可以使用离线模式],进行强制归档后也可以
使用每种模式的条件判断如下:
下面也不是只是必要条件,但不是充分条件。当系统环境变化时,以下条件虽成立,
但可能也不能进行运用
进行数据库解析的公共其它条件
(1)数据库运行在归档模式
(2)数据库运行在附加日志模式[SuppleMetal Log]
3、每种方式的条件与步骤
(1)在线分析模式
a、安装Logminer
执行两个程序:$ORACLE_HOME/rdbms/admin/dbmslm.sql
$ORACLE_HOME/rdbms/admin/dbmslmd.sql
b、添加redo log
EXECUTE DBMS_LOGMNR.Add_LOGFILE('D:ORACLEORADATANCIREDO01.LOG',
OPTIONS => DBMS_LOGMNR.NEW);
EXECUTE DBMS_LOGMNR.Add_LOGFILE('D:ORACLEORADATANCIREDO02.LOG',
OPTIONS => DBMS_LOGMNR.addfile);
c、进行分析
EXECUTE DBMS_LOGMNR.START_LOGMNR(STARTTIME => SYSDATE, ENDTIME=> SYSDATE +
5/24/64,OPTIONS=> DBMS_LOGMNR.CONTINUOUS_MINE +
DBMS_LOGMNR.DICT_FROM_ONLINE_CATALOG);
d、查询结果进行处理
select DBMS_LOGMNR.MINE_VALUE(UNDO_VALUE,
'ZBS.ZBS_SOURCE.ID'),sql_redo,OPERATION,TIMESTAMP
from v$logmnr_contents
where seg_owner='ZBS' and seg_name='ZBS_SOURCE'
e、分析结束
EXECUTE DBMS_LOGMNR.END_LOGMINR;
其中b-e在实际操作中根据情况,会反复执行[反复解析]。
(2)离线分析[使用日志文件]
条件:a、源数据库和解析数据库的硬件平台要一致。
b、源数据库和解析数据库的字符集要一致。
步骤:
a、在解析数据库上,安装Logminer
b、在解析数据库上,执行两个程序:$ORACLE_HOME/rdbms/admin/dbmslm.sql
$ORACLE_HOME/rdbms/admin/dbmslmd.sql
c、在源系统数据库上,配置初始化参数[如果已经配置则不需要,注意此步骤需要重启数据库]
UTL_FILE_DIR = /oracle/database
d、在源系统上建立字典文件
BEGIN dbms_logmnr_d.build( dictionary_filename=>’dict.ora’, dictionary_location=>’ /oracle/database’); END;
e、在解析数据库上,配置初始化参数
UTL_FILE_DIR = /oracle/database
f、在解析数据库上,添加解析日志文件
EXECUTE DBMS_LOGMNR.Add_LOGFILE('ORACLEORADATANCIREDO01.LOG',
OPTIONS => DBMS_LOGMNR.NEW);
EXECUTE DBMS_LOGMNR.Add_LOGFILE('ORACLEORADATANCIREDO02.LOG',
OPTIONS => DBMS_LOGMNR.addfile);
g、进行分析 dbms_logmnr.start_logmnr( dictfilename=>’ /oracle/database/dict.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’) ); h、查询分析结果,进行处理
select DBMS_LOGMNR.MINE_VALUE(UNDO_VALUE,
'ZBS.ZBS_SOURCE.ID'),sql_redo,OPERATION,TIMESTAMP
from v$logmnr_contents
where seg_owner='ZBS' and seg_name='ZBS_SOURCE'
I、 分析结束
EXECUTE DBMS_LOGMNR.END_LOGMINR;
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7490392/viewspace-1023747/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/7490392/viewspace-1023747/