1.删除 sequence dbha_seq (ddl 测试时重新创建)--xag100,xag101
[oracle@xag101 ~]$ sqlplus us01/us01@TNS_DB101
SQL> drop sequence dbha_seq;
2.创建了一些供Oracle GoldenGate进程使用的过程 --xag100,xag101
[oracle@xag101 ~]$ cd $OGG_HOME
[oracle@xag101 ~]$ sqlplus / as sysdba
SQL> @sequence.sql; ----输入OGG用户,此为ogg_admin
3.授予特权
#源
grant execute on ogg_admin.updatesequence to ogg_admin;
grant execute on ogg_admin.updatesequence to us01;
#目标端
grant execute on ogg_admin.replicatesequence to ogg_admin;
grant execute on ogg_admin.replicatesequence to us01;
#源端
ALTER TABLE sys.seq$ ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS;
#源端+目标端
GRANT select ON sys.seq$ TO ogg_admin;
GRANT select ON sys.user$ TO ogg_admin;
GRANT select ON sys.obj$ TO ogg_admin;
GRANT select ON dba_sequences TO ogg_admin;
GRANT select ON sys.seq$ TO us01;
GRANT select ON sys.user$ TO us01;
GRANT select ON sys.obj$ TO us01;
GRANT select ON dba_sequences TO us01;
2.修改源端配置
[oracle@xag100 ~]$ cd $OGG_HOME
GGSCI (xag100) 1> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER STOPPED
JAGENT STOPPED
PMSRVR STOPPED
EXTRACT STOPPED DP1 00:00:00 22:57:08
EXTRACT STOPPED EX1 00:00:07 22:56:59
GGSCI (xag100) 2> edit param ex1
GGSCI (xag100) 3> view param ex1
extract ex1
SETENV(ORACLE_SID="DB100")
SETENV(NLS_LANG=AMERICAN_AMERICA.AL32UTF8)
USERID ogg_admin, PASSWORD 123456
TRANLOGOPTIONS INTEGRATEDPARAMS (max_sga_size 300,_LOGMINER_READ_BUFFERS 128,parallelism 2)
DDL INCLUDE ALL, EXCLUDE OBJNAME ogg_admin.*
REPORTCOUNT EVERY 30 MINUTES, RATE
DISCARDFILE /u01/app/oracle/product/ogg/dirrpt/extsr1.dsc, APPEND, MEGABYTES 1024
DISCARDROLLOVER AT 3:00
EXTTRAIL /u01/app/oracle/product/ogg/dirdat/e1
DYNAMICRESOLUTION
DBOPTIONS ALLOWUNUSEDCOLUMN
FETCHOPTIONS NOUSESNAPSHOT
FETCHOPTIONS FETCHPKUPDATECOLS
SEQUENCE us01.*;
TABLE us01.*;
# 上面的 DDL INCLUDE 行配置 表示 DDL、SEQUENCE支持)
GGSCI (xag100) 4> edit param dp1
GGSCI (xag100) 5> view param dp1
extract dp1
SETENV(ORACLE_SID="DB100")
SETENV(NLS_LANG=AMERICAN_AMERICA.AL32UTF8)
USERID ogg_admin, PASSWORD 123456
RMTHOST xag101, MGRPORT 7809, COMPRESS
PASSTHRU
RMTTRAIL /u01/app/oracle/product/ogg/dirdat/r1
--DYNAMICRESOLUTION
SEQUENCE us01.*;
table us01.*;
3.修改目标端配置
GGSCI (xag101) 1> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER STOPPED
JAGENT STOPPED
PMSRVR STOPPED
REPLICAT STOPPED RT1 00:00:00 23:03:01
GGSCI (xag101) 2> edit param rt1
GGSCI (xag101) 3> view param rt1
REPLICAT rt1
DBOPTIONS INTEGRATEDPARAMS(parallelism 2)
SETENV(ORACLE_SID="DB101")
SETENV(NLS_LANG=AMERICAN_AMERICA.AL32UTF8)
USERID ogg_admin,password 123456
REPORT AT 06:00
REPORTCOUNT EVERY 30 MINUTES, RATE
REPORTROLLOVER AT 02:00
REPERROR DEFAULT, ABEND
ALLOWNOOPUPDATES
ASSUMETARGETDEFS
HANDLECOLLISIONS
DISCARDFILE /u01/app/oracle/product/ogg/dirout/reptr1.desc, APPEND, MEGABYTES 1024
DISCARDROLLOVER AT 02:00
DDL INCLUDE ALL, EXCLUDE OBJNAME ogg_admin.*
MAP us01.*,TARGET us01.*;
# 上面的 DDL INCLUDE 行配置 表示 DDL、SEQUENCE支持)
4.源端scn
SQL> select current_scn from v$database;
CURRENT_SCN
-----------
1071611
5.启动目标端进程
GGSCI (xag101) 5> start mgr
GGSCI (xag101) 6> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
JAGENT STOPPED
PMSRVR STOPPED
REPLICAT RUNNING RT1 00:00:00 00:00:00
GGSCI (xag101) 11> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
JAGENT STOPPED
PMSRVR STOPPED
REPLICAT ABENDED RT1 00:24:52 00:01:46
GGSCI (xag101) 12> start replicat rt1,aftercsn 1071611
Sending START request to MANAGER ...
REPLICAT RT1 starting
GGSCI (xag101) 13> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
JAGENT STOPPED
PMSRVR STOPPED
REPLICAT RUNNING RT1 00:00:00 00:00:02
6.启动源端进程
GGSCI (xag100) 6> start mgr
GGSCI (xag100) 7> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
JAGENT STOPPED
PMSRVR STOPPED
EXTRACT RUNNING DP1 00:00:00 23:09:11
EXTRACT RUNNING EX1 00:00:07 23:09:02
7.源端插入测试数据
SQL> insert into t1(dbha_seq,source_name) values(1,'name_01');
SQL> commit;
8.目标端检查
SQL> select * from t1;
DBHA_SEQ SOURCE_NAME SOURCE_TI DEST_TIME
---------- -------------------- --------- ---------
1 name_01
9.源端新加表 t2
扫描二维码关注公众号,回复:
11022982 查看本文章
[oracle@xag100 ~]$ sqlplus us01/us01@TNS_DB100
create table t2
(
t_seq number(10),
t_name varchar2(20)
) TABLESPACE MY_UD;
ALTER TABLE t2 ADD CONSTRAINT pk_t2 PRIMARY KEY(t_seq) USING INDEX TABLESPACE I_MY_UD;
SQL> insert into t2 values(1,'n01');
SQL> commit;
10.目标端验证
SQL> select * from t2;
T_SEQ T_NAME
---------- --------------------
1 n01
11.源端新建sequence
SQL> create sequence dbha_seq minvalue 1001 maxvalue 9999 start with 1001 increment by 1 nocache;
12.验证
#源端
SQL> select dbha_seq.nextval from dual;
NEXTVAL
----------
1007
SQL> select dbha_seq.nextval from dual;
NEXTVAL
----------
1008
SQL> select dbha_seq.nextval from dual;
NEXTVAL
----------
1009
#目标端
SQL> select dbha_seq.nextval from dual;
NEXTVAL
----------
1010
SQL> select dbha_seq.nextval from dual;
NEXTVAL
----------
1011
--------------------------------------------------------------------------
#源
SQL> select dbha_seq.nextval from dual;
NEXTVAL
----------
1010
SQL> select dbha_seq.nextval from dual;
NEXTVAL
----------
1011
SQL> select dbha_seq.nextval from dual;
NEXTVAL
----------
1012
#目标
SQL> select dbha_seq.nextval from dual;
NEXTVAL
----------
1013
13.其他
GGSCI (xag100) 7> dblogin useridalias ogg100
GGSCI (xag100 as ogg_admin@DB100) 8> FLUSH SEQUENCE us01.dbha_seq
2020-04-18 09:52:15 INFO OGG-15311 Successfully flushed 1 sequence(s) us01.dbha_seq.