GoldenGate安装部署与解决方案
GoldenGate基本原理、安装过程和基本维护
目录一、GoldenGate介绍 (3)二、GoldenGate安装实施 (5)2.1创建GoldenGate软件安装目录 (5)2.2 GoldenGate的管理用户 (5)2.3安装GoldenGate软件 (6)2.4设置数据库归档模式 (6)2.5打开数据库的附加日志 (7)2.6开启数据库强制日志模式 (7)2.7创建GoldenGate管理用户 (7)2.8编辑GLOBALS参数文件 (8)2.9管理进程MGR参数配置 (8)2.10抽取进程EXTN参数配置 (9)2.11 传输进程DPEN参数配置 (9)2.12建立OGG的DDL对象 (11)2.13 数据初始化 (12)2.14 容灾端管理进程MGR参数配置 (15)2.15编辑GLOBALS参数文件 (15)2.16 容灾端复制进程REPN参数配置 (16)2.17创建复制进程repn (17)2.18启动生产端传输进程和容灾端复制进程 (17)2.19测试场景 (17)三.GoldenGate基本运维命令 (18)四、常见故障排除 (18)一、GoldenGate介绍GoldenGate软件是一种基于日志的结构化数据复制软件。
GoldenGate 能够实现大量交易数据的实时捕捉、变换和投递,实现源数据库与目标数据库的数据同步,保持亚秒级的数据延迟。
GoldenGate能够支持多种拓扑结构,包括一对一,一对多,多对一,层叠和双向复制等等。
GoldenGate基本架构Oracle GoldenGate主要由如下组件组成●Extract●Data pump●Trails●Collector●Replicat●ManagerOracle GoldenGate 数据复制过程如下:利用抽取进程(Extract Process)在源端数据库中读取Online Redo Log或者Archive Log,然后进行解析,只提取其中数据的变化信息,比如DML操作——增、删、改操作,将抽取的信息转换为GoldenGate自定义的中间格式存放在队列文件(trail file)中。
GoldenGate安装配置文档1
五矿营钢GoldenGate软件安装部署文档2012-02-25目录1GoldenGate部署方案 (3)2GoldenGate软件安装配置步骤 (3)2.1实施前准备 (3)2.2 A B端数据库及系统配置 (5)2.3 A B端GoldenGate软件配置(extract 进程) (5)2.4A B端GoldenGate 复制进程配置 (8)附录: (9)1GoldenGate部署方案A点主要以双节点ORACLE RAC ASM结构,B点为HA,将GoldenGate 软件部署在共享阵列上,使2个节点都可见。
在共享阵列上为GoldenGate划分100G存储空间,以保存7天GoldenGate队列文件。
确定GoldenGate用户对ORACLE RAC两个节点的归档日志都是可读的。
这里我们通过ASM管理实现,由于两端接口表最初都为空表,故不需要数据初始化。
2GoldenGate软件安装配置步骤2.1实施前准备a.在共享阵列上为GoldenGate软件划分100G左右的存储空间,并创建文件系统。
也可在现有文件系统中建立一个目录,GoldenGate对于安装目录没有任何限制。
b.由于A点和B点双向复制,数据库都应当处于归档模式,并且建议保留3天以上的归档日志;注:A点抽取进程需配置如下参数防止死循环TRANLOGOPTIONS EXCLUDEUSER GOLDENGATEc.GoldenGate要求RAC各节点之间配置时钟同步,必须为各个节点配置时钟同步服务(如NTP服务)。
d.Listener.ora中配置:LISTENER(SID_LIST =(SID_DESC =(GLOBAL_NAME = ASM)(ORACLE_HOME = /u01/app/oracle/product/10.2.0/db)(SID_NAME = +ASM1)))e.ASM架构中注意tnsnames的配置:ASM1 =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = **.**.**.**)(PORT = 1521)))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = +ASM)(INSTANCE_NAME=+ASM1)(UR=A)))ASM2=(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = **.**.**.**)(PORT = 1521)))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = +ASM)(INSTANCE_NAME=+ASM2)(UR=A)))测试连接:sqlplus sys/asmsys@asm1 as sysdba2.2 A B端数据库及系统配置a.在两端,创建GoldenGate系统用户,建议使用oracle用户。
Oracle GoldenGate 安装、配置、管理
Oracle GoldenGate 安装、配置、管理Oracle GoldenGate主要由如下一些组件组成● Extract● Data pump● Replicat● Trails or extract files● Checkpoints● Manager● Collector1、Data Pump是一个次级的Extract Group,如果你的GG环境中不使用Data Pump的话,那么Primary Extract Group必须直接将trail通过网络写到Target系统上.参见后面的示例6:配置Data Pump实现一对多拓扑方案.2、默认情况下,Replicat是实时复制的,如果因为某种需要需要延迟复制的话,那么可以通过Replicat Group的如下DEFERAPPLYINTERVAL参数来控制,该参数允许delay的最大时间是7天。
按照Oracle GoldenGate的工作原理和体系结构,在每个复制数据源和目标端都需要安装一套GoldenGate软件,同时需要分别启动一个 GoldenGate实例,一个GoldenGate实例就是一个管理进程(Manager process),这个管理进程也是整个GoldenGate实例运行时最主要的控制进程。
GoldenGate操作系统内存的使用是通过操作系统来控制的,而不是通过GoldenGate程序控制的,GoldenGate进程会根据需要从OS那里分配相应的virtual memory.l GoldenGate GGSCI命令接口工具对于每个GoldenGate实例可以支持并发300个Extract和Replicat进程。
l 每个Extract和Replicat进程需要大约25-55 MB内存,这主要取决于transaction的大小和并发的transaction数量。
所以,根据上面2个条件,GoldenGate对操作系统内存的需求主要取决于Extract和Replicat进程数。
goldengate 安装 详细命令
源端与目标端前言之解压缩文件包unzip Oracle_GoldenGate_V11.1.1.1.0_for_Oracle_10g_on_Linux_x86.zipmkdir oggmv fbo_ggs_Linux_x64_ora10g_32bit.tar ogg/tar zxf fbo_ggs_Linux_x64_ora10g_32bit.tar -C /oracle/goldengate0、增加环境变量export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/libexport GGATE=/oracle/goldengate1、开启附加日志alter database add supplemental log data;select supplemental_log_data_min from v$database;2、为goldengate创建用户、表空间并授权create tablespace tbs_gguser datafile '/data0/u02/oradata/ora10g/jtuser1/gguser.dbf' size 1000m autoextend on;create user ogg identified by ufsoft default tablespace tbs_gguser temporary tablespace TEMP quota unlimited on tbs_gguser;grant connect,resource to ogg;grant create session,alter session to ogg;grant select any dictionary,select any table to ogg;grant alter any table to ogg;grant flashback any table to ogg;grant execute on dbms_flashback to ogg;grant insert any table to ogg;grant delete any table to ogg;grant update any table to ogg;++++++++++++++++++++++++++++++++++3、开启强制日志模式(为支持DDL复制)alter database force logging;alter system set recyclebin=off scope=both;[root@vm2 oracle]# chown oracle.oinstall /oracle/goldengate/ -R [oracle@vm2 ~]$ cd /oracle/goldengate/[oracle@vm2 goldengate]$ sqlplus / as sysdbaSQL> @marker_setup………………………………Enter GoldenGate schema name:ogg ………………………………………………………SQL> @ddl_setup………………………………Enter GoldenGate schema name:ogg ………………………………………………………Enter mode of installation:INITIALSETUP …………………………………………………………..Enter yes or no:yes…………………………..SQL> @role_setup………………………………Enter GoldenGate schema name:ogg ………………………………………………………SQL>grant GGS_GGSUSER_ROLE to ogg;SQL> @ddl_enableTrigger altered.4、源端配置goldengate4.1、安装goldengate#Su – oracle$cd /oracle/goldengate>./ggsci> CREATE SUBDIRSGGSCI (vm1) 2> exit至此,goldengate安装完成基于DDL的同步配置源端4.2、配置管理进程与抽取进程./ggsciGGSCI (vm1) 1> dblogin userid ogg,password ufsoftGGSCI (vm1) 2> edit params mgr //编辑管理进程#文件内容如下PORT 7809#保存退出#启动管理进程GGSCI (vm1) 3> start mgrGGSCI (vm1) 4> edit params GLOBALS#文件内容GGSCHEMA ogg#保存退出GGSCI (vm1) 7> add extract eini_1,tranlog,begin now //添加组名为eini_1的抽取进程,即刻为新增日志添加到抽取进程GGSCI (vm1) 11> add rmttrail /oracle/goldengate/dirdat/ma,megabytes 100,extract eini_1 //add rmttrail <trail name> extract <group name即上面创建的eini_1>GGSCI (vm1) 12> edit params eini_1 //编辑抽取进程EXTRACT EINI_1dynamicresolutionSETENV (NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)USERID ogg PASSWORD ufsoftRMTHOST 172.16.1.201,MGRPORT 7809 //目标数据库地址和端口TRANLOGOPTIONS EXCLUDEUSER oggRMTTRAIL /oracle/goldengate/dirdat/ma //目标端数据库的trail文件位置DDL INCLUDE ALLtable scott.*; //以scott用户下的表做测试目标端5、配置管理进程与抽取进程./ggsciGGSCI (vm1) 1> dblogin userid ogg,password ufsoftGGSCI (vm1) 2> edit params mgr //编辑管理进程#文件内容如下PORT 7809PURGEOLDEXTRACTS /dirdat,USECHECKPOINTS#保存退出#启动管理进程GGSCI (vm1) 3> start mgrGGSCI (vm1) 4> edit params GLOBALS#文件内容GGSCHEMA ogg#保存退出GGSCI (vm2) 7> add checkpointtable ogg.checkpoint //添加ogg用户下的检查点表GGSCI (vm2) 10> add replicat rini_1,exttrail /oracle/goldengate/dirdat/ma,beginnow,checkpointtable ogg.checkpoint //添加名称为rini_1的应用进程,检查点表名称为ogg.checkpoint,即刻生效GGSCI (vm2) 11> edit params rini_16、测试验证6.1、源端与目标端SQL> conn / as sysdbaSQL> alter user scott account unlock;SQL> conn scott/tigerERROR:ORA-28001: the password has expiredChanging password for scottNew password:Retype new password:Password changedConnected.6.2、源端SQL> conn scott/123456SQL> create table tbs_test(id number primary key,name varchar2(50));Table created.SQL> insert into tbs_test values (1,'lugeng');1 row created.beginfor i in 2000002..2002000 loopinsert into tbs_test values(i,'ge');commit;end loop;end;SQL> commit;Commit complete.6.3、目标端SQL> conn scott/123456Connected.SQL> desc tbs_test;Name Null? Type----------------------------------------- -------- ----------------------------ID NOT NULL NUMBER NAME VARCHAR2(50)SQL> select * from tbs_test;ID NAME---------- --------------------------------------------------1 lugeng基于PUMP的DDL同步配置源端GGSCI (vm1) 1> dblogin userid ogg,password ufsoftGGSCI (vm1) 2> edit params mgr#文件内容port 7809#保存退出GGSCI (vm1) 5> edit params eini_1#文件内容EXTRACT EINI_1dynamicresolutionSETENV (NLS_LANG=AMERICAN_AMERICA.UTF8)USERID ogg PASSWORD ufsoftRMTHOST 172.16.1.201,MGRPORT 7809TRANLOGOPTIONS EXCLUDEUSER oggexttrail /oracle/goldengate/dirdat/laDDL INCLUDE ALLtable scott.*;#保存退出GGSCI (vm1) 8> add extract eini_1,tranlog,begin 2011-11-02 17:03GGSCI (vm1) 9> add exttrail /oracle/goldengate/dirdat/la,extract eini_1GGSCI (vm1) 10> edit params pump_so#文件内容extract pump_sodynamicresolutionUSERID ogg PASSWORD ufsoftrmthost 172.16.1.201,mgrport 7809,compressrmttrail /oracle/goldengate/dirdat/matable scott.*;#保存退出GGSCI (vm1) 11> add extract pump_so,exttrailsource /oracle/goldengate/dirdat/laGGSCI (vm1) 12> add rmttrail /oracle/goldengate/dirdat/ma,extract pump_so目标端GGSCI (vm2) 1> dblogin userid ogg,password ufsoftGGSCI (vm2) 2> edit params mgr#文件内容port 7809PURGEOLDEXTRACTS /dirdat,USECHECKPOINTS#保存退出GGSCI (vm2) 5> edit params GLOBALSGGSCHEMA oggGGSCI (vm2) 6> add checkpointtable ogg.checkpointGGSCI (vm2) 7> add replicat rini_1,exttrail /oracle/goldengate/dirdat/ma,begin now,checkpointtable ogg.checkpointGGSCI (vm2) 9> edit params rini_1#文件内容REPLICAT RINI_1SETENV (NLS_LANG=AMERICAN_AMERICA.UTF8)ASSUMETARGETDEFSUSERID ogg PASSWORD ufsoftDISCARDFILE /oracle/goldengate/dirrpt/RINIaa.dsc,PURGEDDL INCLUDE ALLDDLERROR DEFAULT IGNORE RETRYOP MAXRETRIES 3 RETRYDELAY 5DDLERROR DEFAULT DISCARDDDLERROR DEFAULT IGNORE RETRYOPMAP scott.* , TARGET scott.*;#保存退出create table t (id number primary key,name varchar2(50));。
GoldenGate 10g安装配置操作手册
GoldenGate安装配置GoldenGate支持跨平台的数据实时同步操作:即源和目标可以是不同版本的ORACLE数据库。
GoldenGate需要要在源,目标库机器上都安装,并具是与数据库相匹配的版本:即根据源和目标的ORACLE版本,安装对应的goldenGate。
ogg12的版本是可以兼容11g,12c 版本的数据库,但是10g及以下版本需要找对应的版本,但是最多支持到8i。
GoldenGate是通过读取本地的数据库归档日志,投递给远程,实现同步的。
GoldenGate的日志投递方式有两种:直接投递和数据泵的方式。
原理如下图所示:两种抽取方式的结构示图两种抽取方式的区别:上面的INITIAL LOAD投递方式是直接投递,在源抽取端不缓存捕获队列数据。
而下面的DataPump数据泵方式,会在源库目录下保留抽取数据,在网络服务故障时,能保留未投递的数据不丢失,并在服务正常后能补投数据。
而两种投递方式在接收端在配置上没有区别。
要做双机互备,互为主从,配置两组反向的投递队列就好了。
注:我不推荐做双向同步,在系统故障需要恢复的时候,可能导致数据混乱。
一、操作环境环境二、数据库的准备工作下面的操作,都需要在源和目标数据库上操作。
2.1切换到归档模式SQL> archive log list; 查看归档模式Database log mode No Archive ModeAutomatic archival DisabledArchive destination /soft/u01/app/oracle/product/10.2.0/db_1/dbs/arch Oldest online log sequence 5263Current log sequence 5265如果不是归档模式,需要执行SQL> shutdown immediateSQL> startup mountSQL> alter database archivelog; #修改为归档模式SQL> alter database open;2.2禁用recycle_binSQL> show parameter recyclebin ;禁用recycle binoracle11需要重启才能生效SQL> ALTER SYSTEM SET recyclebin = OFF scope=spfile;对于10g不需要SQL> Alter system set recyclebin=off;2.3处理日志验证未使用并行日志(只针对9i,高级版本无此参数)Sql> show parameter LOG_PARALLELISM。
goldengate安装手册(bigdata-v12.2)
×××公司Oracle Goldengate安装手册目录1Goldengate安装说明 (3)1.1 总体说明 (3)1.2 添加环境变量 (3)1.3 GG软件的安装(源和目标系统均需要安装) (4)1.4 开启源端数据库附加日志 (5)1.5数据库11.2.0.4版本参数修改 (6)1.6 配置GLOBALS (6)1.7 配置定义文件 (6)1.8 建立OGG进程和队列 (6)2数据初始同步 (11)2.1 将源端数据导入之中间库 (11)2.2 将中间库数据导入至Hadoop (11)2.3 目标启动replicat进程并追加增量数据 (11)1 Goldengate安装说明1.1 总体说明Goldengate软件目录的属主为oracle:dba,权限为775;Goldengate目录一般是建立在共享存储上,这样实际上goldengate的软件和相应的文件如参数文件,队列文件等都是在共享存储上的。
这样做的好处是,例如在RAC环境下,如果一台服务区宕机,则可以将$GG_HOME mount到另外一个正常的rac节点上,启动goldengate各个进程就可以了,不需要做任何其他的动作;本次测试过程是部署在gpfs文件系统上。
1.2 添加环境变量在oracle用户下增加环境变量:源端:export GG_HOME=/data/oggoexport PATH=$PATH:$GG_HOMEexport LIBPATH=$GG_HOME:$ORACLE_HOME/lib目标端bigdata:要求必须jdk1.7export GG_HOME=/data/oggtexport PATH=$PATH:$GG_HOMEexportLD_LIBRARY_PA TH=$GG_HOME:/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.45.x86_64/jre/lib/amd 64/serverPlatform Environment variableIBM AIX LIBPATHHP-UX SHLIB_PA THSun Solaris LD_LIBRARY_PATHHP Tru64 (OSF/1)LINUX1.3 GG软件的安装(源和目标系统均需要安装)1)使用Oracle用户(如非此用户,请自行取代,下同)通过ftp上传GGS软件到安装目录下并解压缩:unzip fbo_ggs_Linux_x64_shiphome.zip.zip修改参数文件:cd fbo_ggs_Linux_x64_shiphome/Disk1/response执行vi oggcore.rsp修改一下参数:INSTALL_OPTION=ORA11gSOFTWARE_LOCATION=/data/oggoDATABASE_LOCATION=/usr/lib/oracle/u01/app/oracle执行runInstaller开始安装:./runInstaller -silent -nowait -responseFile /data/oggo/fbo_ggs_Linux_x64_shiphome/Disk1/response/oggcore.rsp2)在/goldengate目录下运行GGS命令行控制界面:./ggsci3)在GGS命令行界面下创建子目录:GGSCI> create subdirs1.4 开启源端数据库附加日志1)检查附加日志情况使用以下sql语句检查数据库附加日志的打开状况:SelectSUPPLEMENTAL_LOG_DATA_MIN,SUPPLEMENTAL_LOG_DA TA_PK,SUPPLEMENTAL_LOG_DA TA_UI,SUPPLEMENTAL_LOG_DA TA_FK,SUPPLEMENTAL_LOG_DA TA_ALL, FORCE_LOGGING from v$database;2)打开数据库附加日志打开附加日志并切换日志(保证Online redo log和Archive log一致)在mount状态下打开归档日志:Alter database archivelog;alter database add supplemental log data ;或全部打开:alter database add supplemental log data(primary key,unique) columns;alter database force logging;3)创建Goldengate用户create tablespace ogg datafile ‘/data/oradata/orcl/ogg.dbf’ size 1G;create user ogg identified by ogg default tablespace ogg;GRANT execute on DBMS_SQL to ogg;grant EXEMPT ACCESS POLICY to ogg;grant create table to ogg;grant create sequence to ogg;alter user ogg quota unlimited on ogg;GRANT CONNECT TO ogg;GRANT RESOURCE TO ogg;GRANT DBA TO ogg;GRANT CREATE SESSION TO ogg;GRANT ALTER SESSION TO ogg;GRANT SELECT ANY DICTIONARY TO ogg;GRANT SELECT ANY TABLE TO ogg;GRANT FLASHBACK ANY TABLE TO ogg;GRANT ALTER ANY TABLE TO ogg;GRANT ALTER SYSTEM TO ogg;GRANT SELECT on dba_clusters TO ogg;GRANT EXECUTE ON utl_file TO ogg;BEGINDBMS_GOLDENGATE_AUTH.GRANT_ADMIN_PRIVILEGE(Grantee => 'OGG',privilege_type => 'CAPTURE',grant_select_privileges => TRUE,do_grants => TRUE);END;/4)打开表级附加日志alter table ogg.test add supplemental log data(all) columns;alter table SMODEL_JLJ.CM_PORT add supplemental log data(all) columns;alter table SMODEL_JLJ.CM_LINK add supplemental log data(all) columns;…….1.5 数据库11.2.0.4版本参数修改从数据库11.2.0.4版本开始,需要在源和目标端数据库上同时修改ENABLE_GOLDENGATE_REPLICATION参数:sqlplus / as sysdbaalter system set ENABLE_GOLDENGATE_REPLICATION=true scope=both;1.6 配置GLOBALS编辑GLOBALS:EDIT PARAMS ./GLOBALSGGSCHEMA ogg1.7 配置定义文件./ggsci…….1.8 建立OGG进程和队列(1)MGR参数和进程(源和目标均需要配置)cd $GG_HOME./ggsciggsci>edit param mgr --源端PORT 7809DYNAMICPORTLIST 7840-7914--AUTORESTART EXTRACT *, RETRIES 5, W AITMINUTES 3, RESETMINUTES 60 PURGEOLDEXTRACTS ./dirdat/*, usecheckpoints, minkeepdays 1LAGREPORTHOURS 1LAGINFOMINUTES 30LAGCRITICALMINUTES 45ggsci>edit param mgr --目标端PORT 17809DYNAMICPORTLIST 17810-17820--AUTORESTART REPLICAT *, RETRIES 5, WAITMINUTES 3, RESETMINUTES 60 PURGEOLDEXTRACTS ./dirdat/*, usecheckpoints, minkeepdays 1LAGREPORTHOURS 1LAGINFOMINUTES 30LAGCRITICALMINUTES 45配置完成后,源和目标均启动:ggsci> start mgr(2)源端配置extract和pump进程(根据用户实际环境填写)配置服务器A捕获进程cd $GG_HOME./ggsciggsci>edit param ext_jl具体ext_jl.prm内容如下:EXTRACT ext_jlSETENV (NLS_LANG="AMERICAN_AMERICA.ZHS16GBK")USERID ogg, PASSWORD oggDISCARDFILE ./dirrpt/ext_jl.dsc, APPEND, MEGABYTES 100TRANLOGOPTIONS dblogreaderDBOPTIONS ALLOWUNUSEDCOLUMNWARNLONGTRANS 2h,CHECKINTERV AL 3mFETCHOPTIONS NOUSESNAPSHOTTRANLOGOPTIONS CONVERTUCS2CLOBS--ddl include mappedEXTTRAIL ./dirdat/jl--TRANLOGOPTIONS ALTARCHIVELOGDEST PRIMARY INSTANCE oraXPAD1 /gg/sarch1, ALTARCHIVELOGDEST INSTANCE oraXPAD2 /gg/sarch2WILDCARDRESOLVE DYNAMICdynamicresolutionGETUPDATEBEFORESNOCOMPRESSUPDATESNOCOMPRESSDELETESgettruncatesTABLE SMODEL_JLJ.*, tokens (INDICATOR=@GETENV('GGHEADER','BEFOREAFTERINDICATOR'));TABLE gg.tcustmer, tokens (INDICATOR=@GETENV('GGHEADER','BEFOREAFTERINDICATOR'));配置传输进程cd $GG_HOME./ggsciggsci>edit param dpe_jl具体dpe_jl.prm内容如下:EXTRACT dpe_jlPASSTHRURMTHOST 10.142.96.16, MGRPORT 17809RMTTRAIL ./dirdat/jlDYNAMICRESOLUTIONGETTRUNCATESTABLE SMODEL_JLJ.*;table gg.tcustmer;增加ext和pump进程以及队列:cd $GG_HOME./ggsciADD EXTRACT ext_jl, TRANLOG, BEGIN NOWADD EXTTRAIL ./dirdat/jl, EXTRACT ext_jl, MEGABYTES 200ADD EXTRACT dpe_jl, EXTTRAILSOURCE ./dirdat/jlADD RMTTRAIL ./dirdat/jl, EXTRACT dpe_jl, MEGABYTES 200(3)配置hdfs投递进程创建hdfs目录:su – hjpthadoop fs –mkdir /data/hjpt/itf/hqit/oss/jlhadoop fs –ls /data/hjpt/itf/hqit/oss/jlhadoop fs -chmod -R +w /data/hjpt/itf/hqit/oss/oss/jl设置HDFS_HOME环境变量./ggsciggsci>edit param hive_jl具体hive_jl.prm内容如下:REPLICAT hive_jlTARGETDB LIBFILE libggjava.so SET property=dirprm/hdfs_jl.props GETUPDATEBEFORESgettruncatesDISCARDFILE ./dirrpt/ hive_jl.dsc, purge REPORTCOUNT EVERY 1 MINUTES, RATE GROUPTRANSOPS 2000MAXTRANSOPS 5000MAP gg.*, TARGET gg.*;MAP SMODEL_JLJ.*, TARGET SMODEL_JLJ.*;配置hdfs_jl.props内容如下:gg.handlerlist=hdfsgg.handler.hdfs.type=hdfsgg.handler.hdfs.includeTokens=truegg.handler.hdfs.maxFileSize=256mgg.handler.hdfs.rootFilePath=/data/hjpt/itf/hqit/oss/jlgg.handler.hdfs.fileRollInterval=0gg.handler.hdfs.inactivityRollInterval=0gg.handler.hdfs.fileSuffix=.txtgg.handler.hdfs.partitionByTable=truegg.handler.hdfs.rollOnMetadataChange=truegg.handler.hdfs.authType=nonegg.handler.hdfs.format=delimitedtextgg.handler.hdfs.format.includeColumnNames=falsegg.handler.hdfs.mode=tx#gg.handler.hdfs.format.includeOpTimestamp=truegg.handler.hdfs.format.includeCurrentTimestamp=truegg.handler.hdfs.format.insertOpKey=Igg.handler.hdfs.format.updateOpKey=Ugg.handler.hdfs.format.deleteOpKey=Dgg.handler.hdfs.format.truncateOpKey=Tgg.handler.hdfs.format.encoding=UTF-8gg.handler.hdfs.format.fieldDelimiter=CDA TA[\u0001]#gg.handler.hdfs.format.fieldDelimiter='|'gg.handler.hdfs.format.lineDelimiter=CDA TA[\n]gg.handler.hdfs.format.includeTableName=truegg.handler.hdfs.format.keyValueDelimiter=CDATA[=]#gg.handler.hdfs.format.kevValuePairDelimiter=CDATA[,] gg.handler.hdfs.format.pkUpdateHandling=updategg.handler.hdfs.format.nullValueRepresentation=gg.handler.hdfs.format.missingValueRepresentation=CDATA[] gg.handler.hdfs.format.includePosition=false#erexit.timestamp=utcerexit.writers=javawriterjavawriter.stats.display=TRUEjavawriter.stats.full=TRUEgg.log=log4jgg.log.level=INFOgg.report.time=30secgg.classpath=/etc/hadoop/conf.empty:/usr/lib/hadoop/*:/usr/lib/hadoop-hdfs/lib/*:/usr/lib/hadoop-hdfs/*:/usr/lib/hadoop/lib/*javawriter.bootoptions=-Xmx8200m –Xms8192m -Djava.class.path=ggjava/ggjava.jar增加目标端hive投递进程:cd $GG_HOME./ggsciGGSCI> add replicat hive_jl, EXTTRAIL ./dirdat/jl2 数据初始同步在不允许停源端数据库的情况下,需要准备一个临时中间数据库。
GoldenGate基本原理、安装过程和基本维护知识讲解
G o l d e n G a t e基本原理、安装过程和基本维护目录一、GoldenGate介绍 (4)二、GoldenGate安装实施 (6)2.1创建GoldenGate软件安装目录 (6)2.2 GoldenGate的管理用户 (6)2.3安装GoldenGate软件 (7)2.4设置数据库归档模式 (7)2.5打开数据库的附加日志 (8)2.6开启数据库强制日志模式 (8)2.7创建GoldenGate管理用户 (8)2.8编辑GLOBALS参数文件 (9)2.9管理进程MGR参数配置 (9)2.10抽取进程EXTN参数配置 (10)2.11 传输进程DPEN参数配置 (10)2.12建立OGG的DDL对象 (12)2.13 数据初始化 (14)2.14 容灾端管理进程MGR参数配置 (16)2.15编辑GLOBALS参数文件 (17)2.16 容灾端复制进程REPN参数配置 (17)2.17创建复制进程repn (18)2.18启动生产端传输进程和容灾端复制进程 (18)2.19测试场景 (19)三.GoldenGate基本运维命令 (19)四、常见故障排除 (20)一、GoldenGate介绍GoldenGate软件是一种基于日志的结构化数据复制软件。
GoldenGate 能够实现大量交易数据的实时捕捉、变换和投递,实现源数据库与目标数据库的数据同步,保持亚秒级的数据延迟。
GoldenGate能够支持多种拓扑结构,包括一对一,一对多,多对一,层叠和双向复制等等。
GoldenGate基本架构Oracle GoldenGate主要由如下组件组成● Extract● Data pump● Trails● Collector● Replicat● ManagerOracle GoldenGate 数据复制过程如下:利用抽取进程(Extract Process)在源端数据库中读取Online Redo Log或者Archive Log,然后进行解析,只提取其中数据的变化信息,比如DML操作——增、删、改操作,将抽取的信息转换为GoldenGate自定义的中间格式存放在队列文件(trail file)中。
GoldenGate项目实施方法论
理论来源:thomas zhang 实战经验
仅代表个人观点供参考
GoldenGate 11g for Oracle to Oracle
CDC BATCH
评估企业IT现 状和需求
功能性要求
和
非功能性要求
S09. 监控与运维
S04. 选择Solution
3 = 阶段性交付报告
Setting at database level overrides any NOLOGGING operations and ensures all changed data is written to the redo logs. Forces the logging of the full before and after image for updates. Ensure each source table has a primary key.
TABLE/MAP WHERE FILTER Enable supplemental logging. COLS/COLSEXCEPT
S06.
1 规划、设计、 安装、部署 如果源或目标配置了DG 或ADG,OGG部署需要考 虑源和目标DG/ADG的 SwitchOver/ldenGate requires a primary key to uniquely identify a row.
If the primary key does not exist on the source table, GoldenGate will create its own unique identifier by concatenating all the table columns together.
oracle goldengate 使用方法
oracle goldengate 使用方法### Oracle GoldenGate 使用方法Oracle GoldenGate 是一种强大的数据复制和集成解决方案,支持实时数据集成和事务复制,广泛应用于数据迁移、数据同步和容灾恢复等多种场景。
下面将详细介绍Oracle GoldenGate 的使用方法。
#### 一、安装与配置1.**环境准备**:确保所有需要的操作系统补丁已安装,网络配置正确,所需端口开放。
2.**安装GoldenGate**:下载对应的GoldenGate 版本,使用命令行或图形界面安装。
```shell# 示例命令行安装./runInstaller -silent -responseFile <path_to_response_file>```3.**配置Manager**:Manager 是GoldenGate 的核心组件,负责管理整个复制过程。
- 创建必要的目录。
- 配置参数文件`f`,包括端口、跟踪文件位置等。
- 启动Manager。
```shellggsci > start manager```4.**配置Extract 和Pump**:Extract 用于从源数据库捕获数据变更,Pump 用于将数据传输到目标系统。
- 创建Extract 和Pump 的参数文件。
- 使用`add extract` 和`add pump` 命令在Manager 中注册Extract 和Pump。
- 启动Extract 和Pump。
```shellggsci > start extract <extract_name>ggsci > start pump <pump_name>```5.**配置Replicat**:Replicat 用于在目标端应用数据变更。
- 创建Replicat 的参数文件。
- 在Manager 中注册Replicat。
GoldenGate Director 安装及配置文档---精品管理资料
GoldenGate Director安装及配置文档目录1.1概述 (2)1。
2G OLDEN G ATE D IRECTOR概述 (2)1。
3G OLDEN G ATE D IRECTOR的安装 (3)1.3.1部署方案必需条件 (3)1。
3。
1.1 ............................................................................................................ Director服务器安装前提31。
3。
1.2 ............................................................................................................ Director客户端安装前提31。
3。
2安装GoldenGate Director Server (4)1.3。
3安装GoldenGate Director Client (7)1.3.4启动GoldenGate Director Server/Client (7)1。
4G OLDEN G ATE D IRECTOR的配置使用 (8)1.4.1Director Admin (8)1。
4.2基于Web的Director客户端 (11)1。
4。
2.1 ...................................................................................................................... 监控整体运行情况121。
4。
2。
2 ........................................................................................................................... 监控进程状态131.4。
oraclegoldengate安装笔记
oraclegoldengate安装笔记ORACLE GoldenGate安装测试平台:REDHAT LINUX 6DB:ORACLE 10G205一、在源数据库操作系统上新增GoldenGate的用户,需要和oracle数据库用户在一个组:二、在源数据库的操作系统上安装GoldenGate软件三、设置源数据库为归档模式,回收站为off(设置DDL复制需要),并设置为最细log四、在源数据库上创建GoldenGate的账号,并赋权限五、在目的主机DB2上新增GoldenGate的用户,需要和oracle 数据库用户在一个组:十一、配置GGS的manager 1234十二、验证结果十三、问题总结:源数据库不配置SUPPLEMENTAL_LOG_DATA_MIN为YES的话,extract会一直起不来,且为stopped状态sys@RHDB> select SUPPLEMENTAL_LOG_DATA_MIN from v$database;SUPPLEME--------NO[ogg@RHDB-1 fbo_ggs_Linux_x64_ora10g_64bit]$ tail -42012-05-31 13:33:28 ERROR OGG-00730 Oracle GoldenGate Capture for Oracle, ext1.prm: No minimum supplemental logging is enabled. This may cause extract process to handle key update incorrectly if key column is not in first row piece.2012-05-31 13:33:28 ERROR OGG-01668 Oracle GoldenGate Capture for Oracle, ext1.prm: PROCESS ABENDING.开启数据库的最细log模式:sys@RHDB> alter database add supplemental log data;Database altered.sys@RHDB> select SUPPLEMENTAL_LOG_DATA_MIN from v$database;SUPPLEME--------YES-------------------------源数据库配置SUPPLEMENTAL_LOG_DATA_MIN为YES,目的数据库不配的话,extract会一直起不来,且为ABENDED状态GGSCI (RHDB-1) 11> start extract ext1Sending START request to MANAGER ...EXTRACT EXT1 startingGGSCI (RHDB-1) 12> info allProgram Status Group Lag at Chkpt Time Since ChkptMANAGER RUNNINGEXTRACT STOPPED EXT1 00:00:00 02:15:57GGSCI (RHDB-1) 13> info allProgram Status Group Lag at Chkpt Time Since ChkptMANAGER RUNNINGEXTRACT ABENDED EXT1 02:16:04 00:00:19[ogg@RHDB-1 fbo_ggs_Linux_x64_ora10g_64bit]$ tail -10target directories:/home/ogg/fbo_ggs_Linux_x64_ora10g_64bit/dirtmp.2012-05-31 13:41:24 INFO OGG-01515 Oracle GoldenGate Capture for Oracle, ext1.prm: Positioning to begin time May 31, 2012 11:25:26 AM.2012-05-31 13:41:24 INFO OGG-01516 Oracle GoldenGate Capture for Oracle, ext1.prm: Positioned to Sequence 104, RBA 24428048, SCN 0.0, May 31, 2012 11:25:26 AM.2012-05-31 13:41:24 INFO OGG-00993 Oracle GoldenGate Capture for Oracle, ext1.prm: EXTRACT EXT1 started.2012-05-31 13:41:30 INFO OGG-01226 Oracle GoldenGate Capture for Oracle, ext1.prm: Socket buffer size set to 27985 (flush size 27985).2012-05-31 13:41:30 INFO OGG-01052 Oracle GoldenGate Capture for Oracle, ext1.prm: No recovery is required for target file/home/ogg/fbo_ggs_Linux_x64_ora10g_64bit/dirdat/lt0000 00, at RBA 0 (file not opened).2012-05-31 13:41:30 INFO OGG-01478 Oracle GoldenGate Capture for Oracle, ext1.prm: Output file /home/ogg/fbo_ggs_Linux_x64_ora10g_64bit/dirdat/lt is using format RELEASE 11.2. 2012-05-31 13:41:30 ERROR OGG-00717 Oracle GoldenGate Capture for Oracle, ext1.prm: Found unsupported in-memory undo record in sequence 104, at RBA 24428048, with SCN 0.1454118 (1454118) ... Minimum supplemental logging must be enabled to prevent data loss. 2012-05-31 13:41:30 ERROR OGG-01668 Oracle GoldenGate Capture for Oracle, ext1.prm: PROCESS ABENDING.配置目的数据库的如下后,依然报错sys@RHDB> alter database add supplemental log data;Database altered.[ogg@RHDB-1 fbo_ggs_Linux_x64_ora10g_64bit]$ tail -4 ggserr.log2012-05-31 13:57:32 INFO OGG-01053 Oracle GoldenGate Capture for Oracle, ext1.prm: Recovery completed for target file /home/ogg/fbo_ggs_Linux_x64_ora10g_64bit/dirdat/lt000003, at RBA 1060.2012-05-31 13:57:32 INFO OGG-01057 Oracle GoldenGate Capture for Oracle, ext1.prm: Recovery completed for all targets.2012-05-31 13:57:32 ERROR OGG-00717 Oracle GoldenGate Capture for Oracle, ext1.prm: Found unsupported in-memory undo record in sequence 104, at RBA 24428048, with SCN 0.1454118 (1454118) ... Minimum supplemental logging must be enabled to prevent data loss. 2012-05-31 13:57:32 ERROR OGG-01668 Oracle GoldenGate Capture for Oracle, ext1.prm: PROCESS ABENDING.重启配置源端的EXTRACT,不再报错:GGSCI (RHDB-1) 30> alter extract ext1, tranlog, begin now EXTRACT altered.GGSCI (RHDB-1) 31> info allProgram Status Group Lag at Chkpt Time Since ChkptMANAGER RUNNINGEXTRACT STOPPED EXT1 00:00:00 00:00:03GGSCI (RHDB-1) 32> start EXTRACT ext1Sending START request to MANAGER ...EXTRACT EXT1 startingGGSCI (RHDB-1) 33> info allProgram Status Group Lag at Chkpt Time Since ChkptMANAGER RUNNINGEXTRACT RUNNING EXT1 00:00:00 00:00:19但在源端删除表时,目的端报错,由于目的端没有这个表,所以如下报错:[ogg@RHDB-2 fbo_ggs_Linux_x64_ora10g_64bit]$ tail -0f ggserr.log2012-05-31 14:15:46 INFO OGG-01407 Oracle GoldenGate Delivery for Oracle, rep1.prm: Setting current schema for DDL operation to [SYS].2012-05-31 14:15:47 ERROR OGG-00519 Oracle GoldenGate Delivery for Oracle, rep1.prm: Fatal error executing DDL replication: error [Error code [942], ORA-00942: table or view does not exist SQL drop table receiver."TESTTAB1" /* GOLDENGATE_DDL_REPLICATION */], no error handler present.2012-05-31 14:15:47 ERROR OGG-01668 Oracle GoldenGate Delivery for Oracle, rep1.prm: PROCESS ABENDING.查看目的端的gg状态,REPLICAT状态变为了ABENDED:GGSCI (RHDB-2) 22> info allProgram Status Group Lag at Chkpt Time Since ChkptMANAGER RUNNINGREPLICAT ABENDED REP1 00:00:33 00:02:56执行start命令后依然报错:GGSCI (RHDB-2) 23> START REPLICAT REP1Sending START request to MANAGER ...REPLICAT REP1 startingGGSCI (RHDB-2) 24> INFO ALLProgram Status Group Lag at Chkpt Time Since ChkptMANAGER RUNNINGREPLICAT ABENDED REP1 00:00:00 00:00:02在目的端创建表testtab1后,成功:receiver@RHDB2> create table testtab1 (id number,teststrvarchar2(12));Table created.receiver@RHDB2> select tname from tab;TNAME------------------------------TESTTAB11 row selected.receiver@RHDB2> select * from testtab1;ID TESTSTR---------- ------------1 adljfoiweur1 row selected.GGSCI (RHDB-2) 6> start replicat rep1Sending START request to MANAGER ...REPLICAT REP1 startingGGSCI (RHDB-2) 7> info allProgram Status Group Lag at Chkpt Time Since Chkpt MANAGER RUNNINGREPLICAT RUNNING REP1 00:08:06 00:00:01。
Oraclegoldengate安装以及单向复制配置
Oracle golden gate 安装以及单向复制配置--------------------不支持ddl操作一、 GoldenGate简介Oracle Golden Gate软件是一种基于日志的结构化数据复制备份软件,它通过解析源数据库在线日志或归档日志获得数据的增量变化,再将这些变化应用到目标数据库,从而实现源数据库与目标数据库同步。
Oracle Golden Gate可以在异构的IT基础结构(包括几乎所有常用操作系统平台和数据库平台)之间实现大量数据亚秒一级的实时复制,从而在可以在应急系统、在线报表、实时数据仓库供应、交易跟踪、数据同步、集中/分发、容灾、数据库升级和移植、双业务中心等多个场景下应用。
同时,Oracle Golden Gate可以实现一对一、广播(一对多)、聚合(多对一)、双向、点对点、级联等多种灵活的拓扑结构。
二、技术结构和传统的逻辑复制一样,Oracle GoldenGate实现原理是通过抽取源端的redo log或者archive log,然后通过TCP/IP投递到目标端,最后解析还原应用到目标端,使目标端实现同源端数据同步。
以下是OracleGoldenGate的技术架构Manager进程Manager进程是GoldenGate的控制进程,运行在源端和目标端上。
它主要作用有以下几个方面:启动、监控、重启Goldengate的其他进程,报告错误及事件,分配数据存储空间,发布阀值报告等。
Extract进程Extract运行在数据库源端,负责从源端数据表或者日志中捕获数据。
Pump进程pump进程运行在数据库源端。
其作用是如果源端使用了本地的trail文件,那么pump 进程就会把trail以数据块的形式通过TCP/IP协议发送到目标端,这通常也是推荐的方式。
pump进程本质是extract进程的一种特殊形式,如果不使用trails文件,那么就是extract进程在抽取完数据以后,直接投递到目标端。
GoldenGate安装部署实验(笔记)
GoldenGate安装部署实验2014.08目录GoldenGate安装部署实验 (1)1、实验一GoldenGate软件安装 (3)1.1虚拟机环境 (3)1.2 GoldenGate软件安装包下载 (3)1.3 Windows下安装 (4)1.4 Linux和Unix下安装 (4)2、实验二GoldenGate同步基本配置 (5)2.1 oracle之间同步 (5)3、实验三GoldenGate初始化加载 (9)4、实验四数据转换和过滤 (11)5、实验五DDL同步配置 (12)参考文档 (14)1、实验一GoldenGate软件安装在不同的操作系统和平台上安装GoldenGate,需要在官网下载对应的版本。
32位系统和64位系统的安装介质虽然不同,但是在同一OS上安装方式是一样的。
GoldenGate需要解析数据库的日志文件,所以安装位置必须要能访问到日志文件(在线日志和归档文件),并具有相应的权限。
1.1虚拟机环境虚拟机登陆:root/welcome1, oracle /welcome1, ogg/welcome1分别创建目录/app/goldengate/source和/app/goldengate/target代表复制的源端和目标端OGG安装目录。
1.2 GoldenGate软件安装包下载经常有人问我GoldenGate的下载地址,所以在这里专门说明一下。
GoldenGate软件的官方下载地址:/目前只有这个地址能下到对应32位操作系统的安装介质。
首页如下:网页开头点击这个Continue进入下载。
首次进入需要登记一些个人信息,如名字、公司等,然后下方选择同意协议之类的,点Continue进入搜索。
搜索时如下选择:点GO,然后选择对应版本的Oracle GoldenGate下载。
GoldenGate安装包一般只有几十兆的大小,下载还是很快的。
GoldenGate除了同步软件这块,还有其他相关的产品,比如Oracle GoldenGate Director,用于集中图形化管理和监控;Oracle GoldenGate Veridata,用于两端同步数据质量检验。
Oracle 11g 安装配置GoldenGate
Oracle 11gR2 RAC和GoldenGate都是Oracle比较热门的产品,经过简单的学习和阅读文档,配置单节点的GoldenGate进行数据的复制相信不是什么太有难度的事情,但是对于利用GoldenGate进行RAC系统到RAC系统的复制,还是有些配置的技巧和策略设置的,前阵子就遇到一个这样一个问题:假设源和目标分别是两节点的RAC系统,如何保证目标部分节点失效的时候replicate会自动切换?其实如果了解GG的工作机制和RAC的资源管理,问题的解决就十分清晰了。
今天就从系统的介绍下11gR2 RAC上OGG (Oracle GoldenGate的简称,下同)的完整配置步骤,并简单谈谈如何解决上面这个场景的问题。
第一阶段:下载OGG(可以参考之前的单节点的复制例子,不再赘述)OGG的下载地址第二阶段:OGG的安装1)登录源端的RAC系统中的任一个节点,并在ACFS上建立一个供OGG使用的共享目录,比如叫/cloudfs/goldengate2)解压OGG的安装包到/cloudfs/goldengate目录3) 设置好OGG工作的环境变量,比如export LIBRARY_PATH=/cloudfs/goldengate:$ORACLE_HOME/lib:$LD_LIBRARY_PATH4)启动ggsci并创建目录,然后进行必要的设置,启动manager$ ggsciGGSCI > create subdirs(optional, support for DDL/Sequence)Create and edit the parameter file for GLOBALS:GGSCI > EDIT PARAMS ./GLOBALSAdd this line to GLOBALS parameter file:GGSCHEMA ggsNOTE: 'ggs' is the example OGG user and will be used in the rest of this document.GGSCI > EDIT PARAMS mgrAdd the following lines to Manager parameter file:PORT 7809AUTOSTART ER *AUTORESTART ER *GGSCI > START mgr5)在目标端重复上面的步骤1-4,注意目录名的使用,我们在目标端使用/mycloudfs/goldengate以示区分。
部分GoldenGate安装配置、常用命令与目标初始化
同步延迟
检查网络状况和数据库性能, 确保数据能够实时同步。
日志异常
检查日志文件,查找异常信息 ,并根据异常信息进行相应的
பைடு நூலகம்处理。
03 Goldengate常用命令
数据采集命令
DG_COMMAND
用于执行数据采集命令,如启动数据采集进程、停止数据采 集进程等。
DG_INFO
用于获取数据采集的详细信息,如数据采集状态、数据采集 进度等。
安装Goldengate服务器
按照安装向导的指示,完成Goldengate服务器的安装。
安装Goldengate客户端
在需要使用Goldengate的客户端计算机上安装Goldengate客户端。
配置Goldengate环境变量
设置Goldengate的环境变量,以便在命令行中调用Goldengate命令。
用于获取数据校验的详细信息,如数据校验状态、数据校验结果等。
其他常用命令
DG_CONFIG
用于配置Goldengate的相关参数,如设置数据采集频率、设置数据同步目标等 。
DG_STATUS
用于获取Goldengate的运行状态,如Goldengate的启动状态、运行日志等。
04 Goldengate目标初始化
无法连接到Goldengate目标数据库 。
解决方案
检查目标数据库的配置是否正确, 包括数据库连接字符串、用户名和 密码等。
02 Goldengate配置
数据源配置
数据源类型
支持多种数据源类型,如Oracle、MySQL、SQL Server等。
连接参数
需要提供数据库的地址、端口、用户名和密码等 连接参数。
集群版部署案例
手把手教你生产安装goldengate的步骤
手把手教你生产安装goldengate的步骤一、简介GoldenGate是Oracle公司的一款数据库同步工具,可以实现在不影响生产环境的情况下进行数据库的实时同步和迁移。
本文将以手把手的方式,介绍在生产环境中安装和配置GoldenGate的步骤。
二、环境准备在开始安装GoldenGate之前,需要确保以下环境准备工作已经完成:1.安装并配置Oracle数据库,确保数据库可以正常运行。
2.确定GoldenGate版本和操作系统平台的兼容性,并下载GoldenGate的安装包。
三、安装GoldenGate1.解压GoldenGate安装包到指定的安装目录。
可以使用以下命令解压:tar zxvf ggxx_linux64.tar.gz2.进入解压后的目录,并执行安装脚本。
具体命令如下:cd ggxx./gginstall3.根据安装向导的提示进行安装,包括选择安装类型、输入安装路径等。
一般情况下,可以选择完全安装和默认安装路径。
4.等待安装完成。
安装过程可能需要一些时间,取决于系统性能和GoldenGate的版本。
5.安装完成后,可以通过以下命令验证GoldenGate的安装是否成功:ggsci如果看到类似以下信息,则表示安装成功:GoldenGate Command Interpreter for OracleVersion 19.1.0.0.4 OGGCORE_19.1.0.0.0_PLATFORMS_191214.0354Linux, x64, 64bit (optimized), Oracle 19c on Dec 14 2019 05:55:59四、配置GoldenGate1.创建GoldenGate的主目录,一般命名为gg_home,并进入该目录:mkdir gg_homecd gg_home2.在gg_home中创建GoldenGate的子目录dirdat、dirrpt和dirprm。
GoldenGate安装配置文档及概要使用说明
GoldenGate软件安装部署文档此方案为某客户的配置方案,具体参数可以不考虑,请根据自己的实际情况修改。
1GoldenGate部署方案为GoldenGate阵列上为GoldenGate划分27G存储空间,目录为”/export/home/oracle/ggs”以保存7-10天GoldenGate队列文件,保留目标数据库初始化期间的增量数据,在目标数据库初始化完成后,追加增量数据,使主备端数据库数据同步。
2GoldenGate软件安装配置步骤2.1实施前准备a.阵列上为GoldenGate软件划分100G左右的存储空间,并创建文件系统。
也可在现有文件系统中建立一个目录,GoldenGate对于安装目录没有任何限制。
b.源数据库应当处于归档模式,并且建议保留3天以上的归档日志;c.源数据库是RAC环境,GoldenGate可以只运行于单个节点,需要将其它节点归档日志目录通过NFS共享出来,并装载到GoldenGate运行节d.GoldenGate要求RAC各节点之间配置时钟同步,必须为各个节点配置时钟同步服务(如NTP服务)。
e.关于C++编辑器xlc runtime 9.0 version.和Oracle用户的环境变量设置.●setenv PATH <installation directory>:$PATH●setenv <shared libraries variable> <absolute path of installationdirectory>:$<shared libraries variable>◆Sun Solaris LD_LIBRARY_PATHExample LD_LIBRARY_PATH=/lib路径/;export LD_LIBRARY_PATHf.由双方工程师共同确定所需要复制的表以及划分复制通道。
2.2源端数据库及系统配置a.在源端,创建GoldenGate系统用户,设置该用户环境变量,也可以采用oracle用户运行GoldenGate。
手把手教你生产安装goldengate的步骤
目录1. 安装配置GoldenGate (3)1.1. 设置环境变量 (3)1.1.1. 官方资料 (3)1.1.2. 源端10.34.1.1机器 (7)1.1.3. 源端10.34.1.1上增加tns解析 (8)1.1.4. 修改10.34.1.1上ASM数据库的参数 (9)1.1.5. 目标端10.34.1.72机器 (10)1.2. 安装GG(只在小机1和分析2上建) (11)1.3. 官方系统要求 (13)1.4. 目标机器manager进程添加到Windows服务 (16)1.5. GoldenGate相关命令 (17)1.6. 数据库准备 (19)1.6.1. 源数据库要开归档 (19)1.6.2. 打开数据库级别的补充日志(supplemental log) (19)1.6.3. 在源端和目标端创建GoldenGate管理用户,并授权 (20)1.6.4. 官方技术要求 (21)1.6.5. 数据库字符集检查 (27)1.7. 在源端添加表级的transdata (28)1.8. 在目标端添加checkpoint表 (29)1.9. 源端配置MGR管理进程组 (30)1.9.1. 配置参数文件 (30)1.9.2. 官方技术要求 (31)1.9.3. 使用GGSCI命令管理MGR (33)1.10. 源端配置Extract抽取进程组 (35)1.10.1. 创建和编辑Extract进程配置文件 (35)1.10.2. Extract相关命令 (36)1.11. 源端配置Pump投递进程组 (40)1.11.1. 创建和编辑Pump进程配置文件 (40)1.11.2. 使用GGSCI命令管理Pump (41)1.12. 目标端创建和配置MGR管理进程组 (42)1.13. 目标端配置Replicat复制进程组 (43)1.14. 验证DML复制结果 (48)1.15. 增加表进行监控的方法 (49)2. 安装配置Director (51)2.1. 安装配置Director Server (51)2.1.1. 安装前准备 (51)2.1.2. 启动weblogic server (55)2.1.3. 登入服务端 (55)2.2. 安装配置Director Client (56)2.2.1. 安装客户端。
goldengate_安装配置指南
goldengate_安装配置指南goldengate_安装配置指南2011-09-23 14:56解压安装包(用oracle用户来做,用root会出现权限问题)$tar -xvf xxxx.tar$ls -l --检查全线问题配置环境(两边都要配置)$env --查看环境变量LD_LIBRARY_PATH=/u01/app/oracle/prodcut/10.2.0/db_1/lib是否设置$vi .profile设置验证ggsci命令$./ggsciGGSCI>help --可以查看gg的各种命令新建一些目录GGSCI>create subdirs --不需要指定路径,默认在当前目录下(所以进入ggsci的时候,一定要在gg的当前目录)新建出来的目录有:name Purpose--dirchk Checkpoint files存放检查点(Checkpoint)文件(和Oracle的checkpoint含义不同,如oralce的一个实例失败,从最近一次的checkpoint开始recorver, oracle的一次checkpoint是让dbwrt进程把被修改的数据从数据缓冲区中写入数据文件。
而OGG的checkpoint是OGG捕捉了很多事务日志,哪些被传输了,哪些未被传输。
每隔一段时间,执行一次checkpoint,之前的所有数据都要传送过去。
如果soure or target db断电了,那下次启动的时候,就要支持断点续传,那那个断点位置就是最后一次OGG执行checkpoint的位置)--dirdat GoldenGate trails, 存放Trail与Extract文件--dirdef Data Definition files,过DEFGEN工具生成的源或目标的数据定义文件--dirprm Parameter files, 存放参数文件--dirpcs Process status files, 存放进程状态文件--dirrpt Report files, 存放进程报告文件--dirsql SQL script files,存放SQL脚本文件--dirtmp Temporary files,当事务所需要的内存超过已分配内存时,缺省存储于此5.Configure Oracle Database for Goldengate5.1 Create Goldengate User -- 创建Goldengate用户[oracle@grid_ogg] sqlplus /as sysdbaCreate user ogg for both source system and target system, and grant appropriate privileges--创建源端和目标端的用户,并授予权限Create tablespace tbs_gguser datafile '/u01/app/oracle/oradata/gguser.dbf' size 50m autoextend on--gg建议创建一个50M的表空间个gg的用户作为默认表空间Create usr ogg identified by ogg default tablespace tbs_ggusre temporary tablespace temp quota unlimited on tbs_gguser--创建一个ogg用户用户grant CONNECT, RESOURCE to ogg; --内部的角色grant CREATE SESSION, ALTER SESSION to ogg; --这两个可以省略,CONNECTION,RESOURCE已经包含了grant SELECT ANY DICTIONARY, SELECT ANY TABLE to ogg; --可以看所有的数据字典,可以看所有的表的权限grant ALTER ANY TABLE to ogg;grant FLASHBACK ANY TABLE to ogg;grant EXECUTE on DBMS_FLASHBACK to ogg; --执行xxx包的权限--在源端创建两张同步的测试表SQL>conn soctt/tiggerSQL>select * from emp_egg;SQL>seelct * from dept_egg;目标端:建立相同的用户,表空间,权限,并授予测试表的DML 权限Create user ogg for both source system and target system, and grant appropriate privilegesCreate tablespace tbs_gguser datafile '/u01/app/oracle/oradata/gguser.dbf' size 50m autoextend on Create usr ogg identified by ogg default tablespace tbs_ggusre temporary tablespace temp quota unlimited on tbs_ggusergrant CONNECT, RESOURCE to ogg;grant CREATE SESSION, ALTER SESSION to ogg;grant SELECT ANY DICTIONARY, SELECT ANY TABLE to ogg;grant CREATE TABLE to ogg;--Create empty test table and grant DML privilege to GG user SQL>connect scott/tiggerSQL>grant INSERT,UPDATE, DELETE on socktt.emp_ogg to oggSQL>grant INSERT,UPDATE,DELETE on socott.dept_ogg to ogg5.2. Enable supplemental log mode(打开附加日志模式) in source system(源数据库是否打开supplemental log)--这里的库级的附加日志区别于表级的附加日志(见trandata的说明)--supplemental log意思是说除了relog以外的一些额外的redolog,也是放在redlog文件中,如要修改一个表,oracle记录更多的一些列的该表的信息记录到redolog中,这些信息对OGG是非常重要的.check supplemental log mode is enabled or not by following querySQL>select SUPPLEMENTAL_LOG_DATA_MIN from v$database;if not, enable itSQL>alter database add supplemental log dataSQL>alter system switch logfile5.3 Enable archive log mode(打开归档日志模式) in source system(在源端打开归档日志模式--必须要做)因为OGG的捕捉进程比oracle的进程级别低,从redo log中捕捉不到的日志,要到archive log中捕捉enable archive log mode[oracle@db_ogg]sqlplus /as sysdbaSQL>alter system set log_archive_dest='/u01/app/oracle/oradata/arch' --要考虑如何定期清理归档日志的内容,否则会占用磁盘SQL>shutdown immediateSQL>startup mountSQL>alter database archivelog --打开/alter database noarchivelog --关闭归档日志SQL>alter database openSQL>archive log list;SQL>select name from v$ARCHIVED_LOG WHERE FIRST_NAME =(SELECT MAX(FIRST_TIME) FROM v$ARCHIVED_LOG)5.4 Enable force logging(强制日志模式) in source system(因为当我们对oracle进行数据操作的时候,有时为了提高效率,会用no logging模式,不产生日志,这样操作更快但是带来的问题是,不再产生redo log日志,这样导致无法做recovery, gg也无法捕捉到日志.所以在gg备份的情况下,配置成强制需要生成redo log的模式(no logging失效)Check force logging mode is enabled or not by following querySQL>SELECT force logging FROM v$databaseif not, enable itSQL>alter database force logging--在源端设置哪些表被加入到TRANDATAEnable transaction data change capture for these two table in source systemGGSCI>DBLOGIN USERID ogg, PASSWORD ogg #dblogin 是OGG里面的一个命令GGSCI>ADD TRANDATA scott.EMP_OGG #ADD TRANDATA是将源端和目标端的两张对应表执行第一次同步(即初始化同步操作)GGSCI>ADD TRANDATA scott.DEPT_OGG #删除表补全日志如果该表没有主键或唯一索引,那么指定唯一标示的字段,否则会用所有的字段来标示,同时其还有字段列数限制GGSCI>ADD TRANDATA OWNER.table_name, nokey, cols(column,column,....)Verify that supplemental logging has been turned on for these tables (验证一下归档日志是否确实被打开)GGSCI>INFO TRANDATA scott.emp* #查看scott用户中以emp开头的表是否打开了trandata设置,是否会执行初始化同步Logging of supplemental redo log data is disabled[未打开](enabled[已打开])for table SCOTT.EMP1附加解释:这里的TRANDATA和5.2的alter database add supplemental log data的区别是只有在库级的附加日志打开的情况下,表级的附加日志才有效果。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
GoldenGate安装部署及解决方案目录GoldenGate 安装部署及解决方案 (1)1、 GoldenGate 简介 (3)2、文档约定和说明 (5)3、 GoldenGate 软件安装 (6)3.1 GoldenGate 软件安装包下载63.2 Windows 下安装73.3 Linux 和 Unix 下安装84、 GoldenGate 同步基本配置 (9)4.1 oracle 之间同步和GoldenGate 基础94.2 oracle 与 db2 同步174.3 oracle 与 sybase 同步185、 GoldenGate 同步方案 (19)5.1 使用 GoldenGate 初始化加载195.2 一对多数据同步(广播复制)215.3 多对一数据同步(集中复制)225.4 数据转换和过滤23 5.5 关于目标端高数据安全性下的GoldenGate 配置方案275.6 GoldenGate 双向复制( active-active )306、 GoldenGate 数据同步性能测试 (33)6.1 测试中主要监测数据和监测方式33 6.2 测试脚本和GoldenGate 配置346.3 测试步骤386.4 性能测试结果407、 GoldenGate 推荐配置 (42)7.1 添加必要的环境参数427.2 BATCHSQL参数427.3 数据库用户密码加密437.4 trail 再压缩448、 GoldenGate Troubleshooting (45)8.1 一些常用的进程信息和日志的查看方式458.2 解析 trail 文件45附: GoldenGate 新版本的一个特性 (46)参考文档 (48)1、 GoldenGate简介GoldenGate 软件是一种基于日志的结构化数据复制软件,它通过解析源数据库在线日志或归档日志获得数据的增删改变化,再将这些变化应用到目标数据库,实现源数据库与目标数据库实时同步( real-time data synchronize)、双活(active-active high availability)。
GoldenGate 软件可以在异构的IT 基础结构(包括几乎所有常用操作系统平台和数据库平台)之间实现大量数据亚秒一级的实时复制,其复制过程简图如下:如上图所示, GoldenGate的数据复制过程如下:利用捕捉进程(Capture Process)在源系统端读取Online Redo Log或 Archive Log,然后进行解析,只提取其中数据的变化如增、删、改操作,并将相关信息转换为 GoldenGate 自定义的中间格式存放在队列文件( trail )中。
再利用传送进程将队列文件通过 TCP/IP传送到目标系统。
捕捉进程在每次读完 log中的数据变化并在数据传送到目标系统后,会写检查点(c heckpoint ),记录当前完成捕捉的 log位置,检查点的存在可以使捕捉进程在中止并恢复后可从检查点位置继续复制;目标系统接受数据变化并缓存到 GoldenGate队列当中,队列为一系列临时存储数据变化的文件,等待投递进程读取数据;GoldenGate投递进程从队列中读取数据变化并创建对应的 SQL语句,通过数据库的本地接口执行,提交到数据库成功后更新自己的检查点,记录已经完成复制的位置,数据的复制过程最终完成。
由此可见, GoldenGate 是一种基于软件的数据复制方式,它从数据库的日志解析数据的GoldenGate通过 TCP/IP网络传输,无需依赖于数据库自身的传递方式,而且可以通过高达9:1的压缩率对数据进行压缩,可以大大降低带宽需求。
在目标端,GoldenGate 可以通过交易重组、分批加载等技术手段大大加快数据投递的速度和效率,降低目标系统的资源占用,可以在亚秒级实现大量数据的复制,并且目标端数据库是活动的GoldenGate 提供了灵活的应用方案,基于其先进、灵活的技术架构可以根据用户需求组成各种拓扑结构,如图所示:GoldenGate可以提供可靠的数据复制,主要体现在下面三点:(1)保证事务一致性GoldenGate在灾备数据库应用复制数据库交易的顺序与在生产中心数据库上的顺序相同,并且按照相同的事务环境提交,确保在目标系统上数据的完整性和读一致性,为实时查询和事务处理创造了条件。
(2)检查点机制保障数据无丢失GoldenGate的抽取和复制进程使用检查点机制记录完成复制的位置。
对于抽取进程,其检查点记录当前已经抽取日志的位置和写队列文件的位置;对于投递进程,其检查点记录当前读取队列文件的位置。
检查点机制可以保证在系统、网络或 GoldenGate进程故障重启后数据无丢失。
(3)可靠的数据传输机制GoldenGate用应答机制传输交易数据,只有在得到确认消息后才认为数据传输完成,否则将自动重新传输数据,从而保证了抽取出的所有数据都能发送到备份端。
数据传输过程中支持128位加密和数据压缩功能。
Oracle公司的GoldenGate产品,可以在异构的IT 基础结构之间实现大量数据的秒一级的数据捕捉、转换和投递。
目前最新版本为V11.1.1.1.0。
GoldenGate 可以支持几乎所有常用操作系统如和数据库平台,如下表所示:操作系统数据库MS NT, 2000, XP, Linux, Sun Solaris,HP-UX, IBM AIX, HP NonStop, TRU64, IBMz/OS, OS/390Oracle, DB2, MS SQL Server, MySQL, Enscribe, SQL/MP, SQL/MX, Sybase, Teradata, 其他 ODBC兼容数据库2、文档约定和说明为统一表示命令和便于查看,对格式作如下约定:GG_HOME>表示从操作系统命令行(cmd)进入 GoldenGate 安装路径下执行命令。
GGSCI>表示在 GoldenGate 命令环境中执行命令。
SQL>表示在数据库下执行SQL语句/******/表示配置文件内容,/***不包含在内。
<>表示自定义参数,如自定义表名<tablename>以下示例中若无特殊说明,GoldenGate 使用的版本主要为11.1,部分使用10.4 版本,除部分新特性,两者基本无差别;GoldenGate 命令行中的操作均是在mgr 主进程 running 时进行,当然, GoldenGate 安装部分除外。
补充说明:该文档主要介绍GoldenGate 基本使用、 GoldenGate 的各类解决方案,以及以往本人在使用测试中总结的经验,文中的例子和执行的命令都是参照官方文档并亲自测试执行过。
但因个人能力所限,错漏之处再所难免,文档中也不可能覆盖 GoldenGate 的方方面面。
而且,因为 GoldenGate 本身提供了大量的参数,也不可能在这里一一列举,本文档中只举例了常用的一些参数命令,关于各个参数的具体使用语法和作用,还请参照官方文档《 Oracle GoldeGate Reference Guide》。
3、 GoldenGate软件安装在不同的操作系统和平台上安装GoldenGate ,需要在官网下载对应的版本。
32 位系统和 64 位系统的安装介质虽然不同,但是在同一OS上安装方式是一样的。
GoldenGate 需要解析数据库的日志文件,所以安装位置必须要能访问到日志文件(在线日志和归档文件),并具有相应的权限。
3.1 GoldenGate 软件安装包下载经常有人问我GoldenGate 的下载地址,所以在这里专门说明一下。
GoldenGate 软件的官方下载地址: / 目前只有这个地址能下到对应 32 位操作系统的安装介质。
首页如下:网页开头点击这个Continue 进入下载。
首次进入需要登记一些个人信息,如名字、公司等,然后下方选择同意协议之类的,点Continue 进入搜索。
搜索时如下选择:点GO,然后选择对应版本的 Oracle GoldenGate 下载。
GoldenGate 安装包一般只有几十兆的大小,下载还是很快的。
GoldenGate 除了同步软件这块,还有其他相关的产品,比如 Oracle GoldenGate Director ,用于集中图形化管理和监控; Oracle GoldenGate Veridata ,用于两端同步数据质量检验。
在本文档中暂不介绍。
3.2 Windows 下安装(1)安装 MicrosoftVisual C ++ 2005 SP1Windows 操作系统需要首先下载安装 MicrosoftVisual C ++ 2005 SP1 发行包(注意该软件也分 32 位和 64 位)。
(2)绿色安装 GoldenGate下载对应平台版本的GoldenGate 安装包,解压。
然后进入操作系统命令行(cmd),进入GoldenGate 解压路径下,执行:GG_HOME>ggsci--进入 GoldenGate 命令窗口模式GGSCI> CREATE SUBDIRS--建立子目录GGSCI>edit param mgr--配置 GoldenGate 主进程参数由于第一次执行该命令,会提示创建mgr 参数文件,点“是”并在文本中输入如下参数:/***PORT 7801--GoldenGate主进程端口号DYNAMICPORTLIST 7802-7820--GoldenGate为进程间通讯动态分配的端口段,注意这里如果分配的端口端少于extract-replicat 进程对的话,会导致部分进程因通讯失败而出错。
***/保存,生成的参数文件保存在GG_HOME\ dirprm 下然后可以启动GoldenGate 主控制进程:GGSCI>start mgrGGSCI>info all--查看进程状态如果进程MANAGER状态显示为RUNNING 则表示主进程已在运行。
至此软件安装完成。
(3)管理 GoldenGate 服务在WINDOWS 下还可以将 GoldenGate 主进程作为系统服务进行管理,如下配置:GGSCI>edit param ./globals --配置全局参数,注意前面的./表明与其他参数文件位置不同,该参数文件是直接位于 GoldenGate 安装路径下的输入:/***MGRSERVNAME <name>--GoldenGate主进程端口号,<name>为自定义的系统服务名***/然后退出 GGSCI命令行: GGSCI> exitGG_HOME> install addservice addevents--创建服务,完成后可以直接进服务进行管理WINDOWS 删除 GoldenGate 服务:GG_HOME>install deleteevents deleteservice --对应删除服务操作或者在注册表删除:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services 一般服务会以相同的名字在这里显示一个主健,直接删除相关的键值便可3.3 Linux和 Unix 下安装(1)检查必需的lib 包下载对应平台版本的GoldenGate,解压。