oracle9i下使用logminer

注意,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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值