CSDN博客

img tesge

oracle9i下使用logminer

发表于2004/6/28 20:20:00  1515人阅读

注意,9i里不需要再运行创建logminer的脚本,logminer已经创建好了。

 

下面将就视图v$logmnr_contents的常用字段含义进行说明:
名称                    含义
----------------------- -------- --------------------------------------------
SCN      特定数据变化的系统更改号
TIMESTAMP    数据改变发生的时间
COMMIT_TIMESTAMP 数据改变提交的时间
SEG_OWNER   数据发生改变的段名称
SEG_NAME    段的所有者名称
SEG_TYPE    数据发生改变的段类型
SEG_TYPE_NAME  数据发生改变的段类型名称
TABLE_SPACE   变化段的表空间
ROW_ID     特定数据变化行的ID
SESSION_INFO   数据发生变化时用户进程信息
OPERATION    重做记录中记录的操作(如INSERT)
SQL_REDO    可以为重做记录重做指定行变化的SQL语句
SQL_UNDO    可以为重做记录回退或恢复指定行变化的SQL语句


首先在init文件中加入一条初始化参数UTL_FILE_DIR表示生成数据字典文件的位置

UTL_FILE_DIR = (E:/oracle/logminer)

由于本人的oracle启动是使用spfile,所以首先启动数据库采用
startup pfile='E:/oracle/admin/nbxtdb/pfile/init.ora'
启动后,使用
create spfile from pfile='E:/oracle/admin/nbxtdb/pfile/init.ora';
生成spfile文件

关闭数据库后重新启动
startup
然后运行
show parameter utl  查看设置是否正确
SQL> show parameter utl;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
utl_file_dir                         string      E:/oracle/logminer

正确,向表JQG_TEST插入数据
insert into JQG_TEST valus('logminer');
commit;

sql>alter system switch logfile;  切换日志产生归档文件

 

2.创建字典
SQL> EXECUTE DBMS_LOGMNR_D.BUILD('dictionary.ora',-
  'E:/oracle/logminer',-
  OPTIONS => DBMS_LOGMNR_D.STORE_IN_FLAT_FILE);

3.添加需要监视的归档文件
exec dbms_logmnr.add_logfile( logfilename=>'E:/oracle/oradata/nbxtdb/archive/1_114.DBF', options=>dbms_logmnr.new);

4.通过时间来初始化视图
EXECUTE DBMS_LOGMNR.START_LOGMNR(DICTFILENAME => 'E:/oracle/logminer/dictionary.ora', STARTTIME => TO_DATE('2004-06-25 23:12:00', 'yyyy-mm-dd HH24:MI:SS'),ENDTIME => TO_DATE('2004-06-25 23:20:00', 'yyyy-mm-dd HH24:MI:SS'));

5.查询视图v$logmnr_contents

SQL> select sql_redo,sql_undo from  v$logmnr_contents where seg_name='JQG_TEST'
  2   and seg_owner='TEST' and seg_type_name='TABLE';

SQL_REDO
--------------------------------------------------------------------------------

SQL_UNDO
--------------------------------------------------------------------------------

insert into "TEST"."JQG_TEST"("NAME") values ('logminer');
delete from "TEST"."JQG_TEST" where "NAME" = 'logminer' and ROWID = 'AAAHGpAAHAAAAAgAAE';


 

0 0

相关博文

我的热门文章

img
取 消
img