OGG添加同步新表步骤
1:同步的两个数据库之前的相同表内容及结构都必须一致,先查看确认两边的表。
2:先stop 进程名称
3:edit params +进程名称 修改该进程的参数内容
4:源端增加表附加日志,并启动抽取、传输进程
GGSCI>dblogin urid ogg password ogg;
GGSCI>add trandata realestate.T_DJ_FUND_SUPERVISION (注意不要有分号)
3:然后再start 进程名称
4:更改被同步数据库表内容,查看同步数据库表内容(新增,修改,删除)。
OGG常用命令
1.查看进程状态
GGSCI (PONY) 2> info all
英语主题2.查看进程详细状态,有助于排错
GGSCI (PONY) 2> view report +进程名称
3.查看告警日志信息
GGSCI (PONY) 2> view ggvt
4. 查看延时,以及文件抽取应用情况
GGSCI> lag <;进程名称> 可以查看详细的延时信息。
例如:
GGSCI (db4) 11> lag rep1
水乳交融Sending GETLAG request to REPLICAT REP1 …
No records yet procesd.
At EOF, no more records to process.
看到At EOF, no more records to process.表名所有的抽取都已经应用完毕
5.查看统计信息
GGSCI> stats <;进程名称>,<;时间频度>,table . 可以查看进程处理的记录数。该报告会详细的列出处理的类型和记录数。
如:GGSCI> stats edr, total列出自进程启动以来处理的所有记录数。
拿来主义教案GGSCI> stats edr, daily, st列出当天以来处理的有关gg.test表的所有记录数。
6.查看详细处理过的事物记录
GGSCI> info <;进程名称> showch
7.查看更详细的信息,包括所使用的trail文件,参数文件,报告文件,告警日志文件位置等
GGSCI> info <;进程名称> detail
8.查看长交易
GGSCI> nd extract ext1,showtrans
Ggsci> nd extract <;进程名> , showtrans [thread n] [count n]
其中,<;进程名>为所要察看的进程名,如extsz/extxm/extjx等;
Thread n是可选的,表示只查看其中一个节点上的未提交交易;
Count n也是可选的,表示只显示n条记录。
例如,查看extsz进程中节点1上最长的10个交易,可以通过下列命令:
Ggsci> nd extract extsz , showtrans thread 1 count 10
输出结果是以时间降序排列的所有未提交交易列表,通过xid可以查找到对应的事务,查找出未提交原因,通过数据库予以提交或者回滚后GoldenGate的checkpoint会自动向前滚动。
9.使用GoldenGate命令跳过或接受长交易的方法
在GoldenGate中强制提交或者回滚指定事务,可以通过以下命令(<>中的为参数):
Ggsci> SEND EXTRACT <;进程名>, SKIPTRANS <5.17.27634> THREAD <2> //跳过交易
Ggsci> SEND EXTRACT <;进程名>, FORCETRANS <5.17.27634> THREAD <1> //强制认为该交易已经提交
说明:使用这些命令只会让GoldenGate进程跳过或者认为该交易已经提交,但并不改变数据库中的交易,他们依旧存在于数据库中。因此,强烈建议使用数据库中提
交或者回滚交易而不是使用GoldenGate处理。
10. 配置长交易告警
可以在extract进程中配置长交易告警,参数如下所示:
extract extsz
……
warnlongtrans 12h, checkintervals 10m
exttrail /backup/goldengate/dirdat/sz
怎么在网上赚钱….
以上表示GoldenGate会每隔10分钟检查一下长交易,如果有超过12个小时的长交易,GoldenGate会在根目录下的ggrr.log里面加入一条告警信息。可以通过察看ggrr.log或者在ggsci中执行view ggvt命令查看这些告警信息。以上配置可以有助于及时发现长交易并予以处理。
说明:在OGG 11g中,extract提供了BR参数可以设置每隔一段时间(默认4小时)将长交易缓存到本地硬盘(默认dirtmp目录下),因此extract只要不停止一般需要的归档日志不超过8个小时(极限情况)。但是如果extract停掉后,便无法再自动缓存长交易,需要的归档日志就会依赖于停机时间变长。
11.查看当前配置的复制表,并增加复制表 -–注:仅在当goldengate只打开了复制DML时
GGSCI> dblogin urid ggs, password ggs
GGSCI> info trandata scott.*
GGSCI> add trandata .
12. –重置抽取进程,本地文件序列号从0开始生成。
alter extract ext1,extqno 0,extrba 0
13.–重置读取进程,重新从0号trial文件开始读取。
alter replicat rep1,extqno 0,extrba 0
----------------------------------------------------------
实验步骤:
1,制定一个重新抽取的SCN
2,根据SCN在v$archived_log视图找到起始时间
3,停止抽取进程
4,重置抽取进程的开始时间
5,启动抽取进程重新捕获事务(从归档日志中获取)
1,查看源端当前的SCN,记录该值作为重新抽取的时间点
SQL> lect _system_change_number from dual;
GET_SYSTEM_CHANGE_NUMBER
------------------------
1507066
2,查看当前抽取进程ex1的状态
GGSCI (node3) 2> info ex1 detail
EXTRACT EX1 Last Started 2014-11-02 18:19 Status RUNNING
Checkpoint Lag 00:00:00 (updated 00:00:06 ago)
Log Read Checkpoint Oracle Redo Logs
2014-11-02 19:09:40 Thread 1, Seqno 12, RBA 10750464
SCN 0.1507682 (1507682)
Log Read Checkpoint Oracle Redo Logs
2014-11-02 19:09:39 Thread 2, Seqno 12, RBA 9300480
SCN 0.1507682 (1507682)
Target Extract Trails:
Remote Trail Name Seqno RBA Max MB
/goldengate/dirdat/ex 2 205729 5
Extract Source Begin End
+DATA/prod/onlinelog/group_4.302.859509357 2014-11-02 18:02 2014-11-02 19:09
Not Available * Initialized * 2014-11-02 18:02
Current directory /goldengate
Report file /goldengate/dirrpt/EX1.rpt
Parameter file /goldengat
孕妇护肤品推荐e/dirprm/ex1.prm
Checkpoint file /goldengate/dirchk/EX1.cpe
Process file /goldengate/dirpcs/EX1.pce
Stdout file /goldengate/dirout/EX1.out
Error log /goldengate/ggrr.log
3,查看当前系统时间以及目前存在的local trail文件
[oracle@single goldengate]$ ls -l dirdat
total 424
-rw-rw-rw- 1 oracle oinstall 205826 Nov 1 16:02 rt000000
-rw-rw-rw- 1 oracle oinstall 1192 Nov 1 16:57 rt000001
-rw-rw-rw- 1 oracle oinstall 1161 Nov 1 17:20 rt000002
4,在源端节点2登录测试用户snow,向测试表插入100万条记录
SYS@PROD2 > conn snow/snow
SNOW@PROD2 > begin for i in 1001..1000000 loop
2 inrt into t1 values(i,'Fin');
孝顺父母的成语
3 end loop;
4 commit;
5 end;
6 /
目标端snow.t1成功复制100万条记录
王者荣耀游戏规则
SQL> conn snow/snow
Connected.
SQL> lect count(*) from t1;
COUNT(*)
----------
1000000
插入100条数据使得源端生成了22个local trail文件,从ex000003-ex000024
[oracle@node3 dirdat]$ ll
total 104128
-rw-rw-rw- 1 oracle oinstall 205795 Nov 2 17:24 ex000000
-rw-rw-rw- 1 oracle oinstall 1076 Nov 2 18:19 ex000001
-rw-rw-rw- 1 oracle oinstall 4999907 Nov 3 10:02 ex000003
-rw-rw-rw- 1 oracle oinstall 4999952 Nov 3 10:02 ex000004
-
rw-rw-rw- 1 oracle oinstall 4999951 Nov 3 10:02 ex000005
-rw-rw-rw- 1 oracle oinstall 4999951 Nov 3 10:02 ex000006
-rw-rw-rw- 1 oracle oinstall 4999951 Nov 3 10:02 ex000007
-rw-rw-rw- 1 oracle oinstall 4999951 Nov 3 10:02 ex000008
-rw-rw-rw- 1 oracle oinstall 4999951 Nov 3 10:02 ex000009
-rw-rw-rw- 1 oracle oinstall 4999951 Nov 3 10:02 ex000010
-rw-rw-rw- 1 oracle oinstall 4999951 Nov 3 10:02 ex000011
-rw-rw-rw- 1 oracle oinstall 4999951 Nov 3 10:02 ex000012
-rw-rw-rw- 1 oracle oinstall 4999951 Nov 3 10:02 ex000013
-rw-rw-rw- 1 oracle oinstall 4999951 Nov 3 10:02 ex000014
-rw-rw-rw- 1 oracle oinstall 4999951 Nov 3 10:02 ex000015
-
rw-rw-rw- 1 oracle oinstall 4999951 Nov 3 10:02 ex000016
-rw-rw-rw- 1 oracle oinstall 4999951 Nov 3 10:02 ex000017
-rw-rw-rw- 1 oracle oinstall 4999951 Nov 3 10:02 ex000018
-rw-rw-rw- 1 oracle oinstall 4999951 Nov 3 10:02 ex000019
-rw-rw-rw- 1 oracle oinstall 4999951 Nov 3 10:02 ex000020
-rw-rw-rw- 1 oracle oinstall 4999951 Nov 3 10:02 ex000021
-rw-rw-rw- 1 oracle oinstall 4999951 Nov 3 10:02 ex000022
-rw-rw-rw- 1 oracle oinstall 4999951 Nov 3 10:02 ex000023
-rw-rw-rw- 1 oracle oinstall 1122278 Nov 3 10:02 ex000024
5, 根据SCN1507066,查找相对应时间。
所在归档日志为红色表示记录。该日志生成的时间为2014-11-02 17:41:26,接下来采用该时间作为重新生成local trail的参数。
NAME FIRST_CHANGE# FIRST_TIME
--------------------------------------------------------------------------- ------------- -------------------
+ARCH/prod/archivelog/2014_11_03/thread_2_q_12.295.862650053 1484800 2014-11-
02 17:41:26
+ARCH/prod/archivelog/2014_11_03/thread_1_q_12.296.862650059 1484803 2014-11-02 17:41:26
+ARCH/prod/archivelog/2014_11_03/thread_2_q_13.297.862650071 151**** ****-11-03 09:00:52
+ARCH/prod/archivelog/2014_11_03/thread_1_q_13.298.862650077 151**** ****-11-03 09:00:57
+ARCH/prod/archivelog/2014_11_03/thread_2_q_14.299.862650079 151**** ****-11-03 09:01:10
+ARCH/prod/archivelog/2014_11_03/thread_1_q_14.300.862650089 151**** ****-11-03 09:01:16
+ARCH/prod/archivelog/2014_11_03/thread_1_q_15.301.862653569 151**** ****-11-03 09:01:28
+ARCH/prod/archivelog/2014_11_03/thread_2_q_15.302.862653567 151**** ****-11-03 09:01:19
+ARCH/prod/archivelog/2014_11_03/thread_2_q_16.303.862653581 152**** ****-11-03 09:59:27
+ARCH/prod/archivelog/2014_11_03/thread_1_q_16.304.862653587 152**** ****-11-03 09:59:29
+ARCH/prod/archivelog/2014_11_03/thread_1_q_17.305.862653599 152**** ****-11-03 09:59:47
6,删除目标端已经成功复制的100万条数据
SQL> truncate table t1;
7,抽取进程从2014-11-02 17:41:26再次抽取事务
GGSCI (node3) 2> stop ex1
GGSCI (node3) 3> ALTER EXTRACT ex1, TRANLOG, BEGIN 2014-11-02 17:41:26
GGSCI (node3) 5> start ex1
Sending START request to MANAGER ...
EXTRACT EX1 starting
GGSCI (node3) 6> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
EXTRACT RUNNING DP1 00:00:00 00:00:04 <<;延时逐渐在减少
EXTRACT RUNNING EX1 19:41:40 00:00:03
GGSCI (node3) 8> info all
在地球上的英文Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
EXTRACT RUNNING DP1 03:20:53 00:00:05 <<;延时逐渐在减少
EXTRACT RUNNING EX1 03:20:52 00:00:06
GGSCI (node3) 9> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
EXTRACT RUNNING DP1 03:20:53 00:00:10 <<;延时逐渐在减少
EXTRACT RUNNING EX1 00:00:01 00:00:00
目标端重新复制了100万条记录
SQL> lect count(*) from t1;
COUNT(*)
----------
1000000