GGSCI (CR) 7> add extract ext1, sourceistable
--没有tranlog,意味着不是通过日志方式;没有begin XXX,表示还未启动;使用sourceistable参数不会使用检查点机制,直接从表中读取数据
EXTRACT added.
GGSCI (CR) 8> edit param ext1 --生成并编辑同名配置文件
extract ext1
userid goldengate, password goldengate
rmthost 192.168.6.97, mgrport 7809 --目标数据库服务器地址和gg服务端口号
rmttask replicat, group rep1
table ggtest.*;--需要抽取的表,可以使用通配符
源端配置完成
配置文件中的各项说明
Extract <extract_name>:指定extract的名字
SETENV():指定该extract启动时oracle相关的环境变量.
Userid <oracle_user>, password <oracle_password>:连接到源数据库的用户,既我们在第一步建立的源端数据库用户。
Report:指定每天在日志中产生报告的时间
Reportrollover:指定每天汇报队列文件切换报告的时间
Gettruncates:告诉extract对truncate操作也要捕获
Warnlongtrans nH,checkinterval 5M:超过<n>个小时的交易为长交易,会在goldengate日志中产生一条warning,5分钟检测一次
Tranlogoptions:针对源数据库的一些配置选项,如数据库归档的位置等等。在GoldenGate的DML同步中,如果字段类型包含CLOB,必须在源端的extract进程中配置参数:TRANLOGOPTIONS CONVERTUCS2CLOBS
Exttrail:本地队列文件,extract将数据从数据库日志抓取后存放在该队列文件。
Discardfile:指定出错后写错误信息的目标文件,为查错提供帮助。append表示追加方式,purge表示每次生成一个新的disard文件;megabyte表示最大允许大小,如果超过了此大小则进程也会终止。
Dynamicresolution:指定当extract从日志抓取变化数据时,根据当前的需要,动态解析表名,从而加快抓取进程的启动速度。
Table <schema>.<table_name>:指定要从源系统抓取那些表的数据,这里schema不能用通配符,table_name可以用通配符。
5、 配置目标端goldengate
查看信息
GGSCI (nbu-97) 1> info all
Program Status Group Lag Time Since Chkpt
MANAGER STOPPED
配置GoldenGate主进程参数
GGSCI (nbu-97) 2> edit params mgr
PORT 7809
启动管理服务
GGSCI (nbu-97) 3> start mgr
Manager started.
GGSCI (nbu-97) 5> info all
Program Status Group Lag Time Since Chkpt
MANAGER RUNNING
配置目标端复制队列,先连接到数据库
GGSCI (nbu-97) 6> dblogin userid goldengate,password goldengate
Successfully logged into database.
目标端添加复制进程(replicat process),指定specialrun参数,让其作为任务运行
GGSCI (nbu-97) 7> add replicat rep1,specialrun --specialrun表示一次性加载,只运行一次
REPLICAT added.
GGSCI (nbu-97) 8> edit params rep1
replicat rep1
userid goldengate,password goldengate
assumetargetdefs --两台数据库数据结构一致则使用此参数
reperror default, discard --如果复制出错,则继续,并将错误放进discardfile中
discardfile /u02/gg/rep1.dsc,append,megabytes 100
INSERTAPPEND--使用直接路径加载,提高加载速度HANDLECOLLISIONS--当目标端已有数据时,略过重复数据错误
map ggtest.*, target ggtest.*;
目标端配置完成
注意:这里的extract和replicat进程添加完后在info all中看不到这个进程,但是view report可以跟踪到,源端一旦数据传递完成,ext1进程随之关闭
6、 同步数据
只需在源端启动ext1即可,它会自动调用目标端的rep1
GGSCI (CR) 36> start extract ext1
Sending START request to MANAGER ...
EXTRACT EXT1 starting
目标端查询数据量
sys@testdb>select count(*) from ggtest.test;
COUNT(*)
----------
40787
数据已经同步,查看源端进程状态
GGSCI (CR) 40> info ext1,detail
EXTRACT EXT1 Initialized 2012-08-03 17:30 Status STOPPED
Checkpoint Lag Not Available
Log Read Checkpoint Table GGTEST.TEST
2012-08-03 17:30:56 Record 40787
Task SOURCEISTABLE
Extract Source Begin End
Database 2012-08-03 17:30 2012-08-03 17:30
Database 2012-08-03 16:39 2012-08-03 16:39
Database * Initialized * First Record
Current directory /u02/gg
Report file /u02/gg/dirrpt/EXT1.rpt
Parameter file /u02/gg/dirprm/ext1.prm
Checkpoint file /u02/gg/dirchk/EXT1.cpe
Process file /u02/gg/dirpcs/EXT1.pce
Stdout file /u02/gg/dirout/EXT1.out
Error log /u02/gg/ggserr.log
一般情况下,尽量使用其他高效的数据库传输工具来完成初始化加载,而不要用GoldenGate提供的初始化功能。
7、 查看相关日志
view report ext1
view report rep1
源端查看ext1的详细信息
GGSCI (CR) 42> view report ext1
2012-08-07 13:57:40 INFO OGG-01017 Wildcard resolution set to IMMEDIATE because SOURCEISTABLE is used.
***********************************************************************
Oracle GoldenGate Capture for Oracle
Version 11.1.1.1.2 OGGCORE_11.1.1.1.2_PLATFORMS_111004.2100
Linux, x64, 64bit (optimized), Oracle 10g on Oct 7 2011 04:32:15
Copyright (C) 1995, 2011, Oracle and/or its affiliates. All rights reserved.
Starting at 2012-08-07 13:57:40
***********************************************************************
Operating System Version:
Linux
Version #1 SMP Wed Nov 9 08:03:13 EST 2011, Release 2.6.32-220.el6.x86_64
Node: CR
Machine: x86_64
soft limit hard limit
Address Space Size : unlimited unlimited
Heap Size : unlimited unlimited
File Size : unlimited unlimited
CPU Time : unlimited unlimited
Process id: 18577
Description:
***********************************************************************
** Running with the following parameters **
***********************************************************************
EXTRACT ext1
USERID goldengate, PASSWORD **********
RMTHOST 192.168.6.97, MGRPORT 7809
RMTTASK replicat, GROUP rep1
TABLE ggtest.test;
Using the following key columns for source table GGTEST.TEST: ID. –有主键
/*2012-08-07 13:57:40 WARNING OGG-00869 No unique key is defined for table TEST. All viable columns will be used to represent the key, but may not guarantee uniqueness.KEYCOLS may be used to define the key. –无主键,不影响*/
CACHEMGR virtual memory values (may have been adjusted)
CACHEBUFFERSIZE: 64K
CACHESIZE: 8G
CACHEBUFFERSIZE (soft max): 4M
CACHEPAGEOUTSIZE (normal): 4M
PROCESS VM AVAIL FROM OS (min): 16G
CACHESIZEMAX (strict force to disk): 13.99G
Database Version:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi
PL/SQL Release 10.2.0.4.0 - Production
CORE 10.2.0.4.0 Production
TNS for Linux: Version 10.2.0.4.0 - Production
NLSRTL Version 10.2.0.4.0 - Production
Database Language and Character Set:
NLS_LANG = "AMERICAN_AMERICA.AL32UTF8"
NLS_LANGUAGE = "AMERICAN"
NLS_TERRITORY = "AMERICA"
NLS_CHARACTERSET = "AL32UTF8"
Processing table GGTEST.TEST
***********************************************************************
* ** Run Time Statistics ** *
***********************************************************************
Report at 2012-08-07 13:58:05 (activity since 2012-08-07 13:57:40)
Output to rep1:
From Table GGTEST.TEST:
# inserts: 40787
# updates: 0
# deletes: 0
# discards: 0
REDO Log Statistics
Bytes parsed 0
Bytes output 14969663