本文共 2135 字,大约阅读时间需要 7 分钟。
execute dbms_logmnr_d.set_tablespace('jxmes');
不应该使用这个
在单实例上可以
|字号
前在配置logical standby database时, oracle文档中要求primary database需要添加附加日志
alter database add supplemental log data (primary key, unique index) columns;
在配置stream replication时,也要求参与复制的表传输附加日志:
alter table scott.dept add supplemental log group log_group_dept_pk (id) always;
但总是不太明白supplemental log的作用,总是担心如果不设置,会不会在某种情况下对数据库造成伤害,昨天看了一天文档,终于在oracle stream replication的online document中找到答案:
大致意思是说:
如果你的主键或唯一索引是组合的(复合的),就需要为表配置supplemental log,否则就不必,也就是说,如果你的所有表的主键是单列的,那你根本就不必去理会它是什么意思.
为什么会这样:
如果你更新了主键中的部分字段,那supplemental log的作用就是把该记录其余的组成部分的数据也传输到目标机,否则目标机就存在不确定性
分析日志的笔记 =====挺实用
select value from v$parameter where name = 'log_archive_dest';
SELECT member FROM v$logfile where rownum = 1;
exec SYS.DBMS_LOGMNR.ADD_LOGFILE('...../o1.log', sys.dbms_logmnr.New);
exec sys.dbms_logmnr.add_logfile(....._1_407.arc', dbms_logmnr.addfile);
select min(low_time), max(high_time), min(low_scn), max(next_scn) -1 from V$logmnr_logs;
exec SYS.DBMS_LOGMNR.START_LOGMNR(Options => sys.dbms_logmnr.DICT_FROM_ONLINE_CATALOG);
select SCN, timestamp, sql_redo, session# session_num, username,session_info From V$LOGMNR_CONTENTS Order by 1;
exec SYS.DBMS_LOGMNR.END_LOGMNR();
转载地址:http://gzyjl.baihongyu.com/