1、安装GoldenGate
每个GoldenGate实例可支持5000个Extract和Replicat进程
每个Extract和Replicat需要25-50M或更多的内存,这取决于系统的事物量和事物大小
GoldenGate实际使用的物理内存由操作系统控制和管理,GoladenGate 缓存管理器利用操作系统内存管理功能的优势,确保GoladenGate进程持续和有效的工作
1.1****Manager
Manager进程必须在源端和目标端运行,并且在Extract和Replicat进程之前启动,没有该进程OGG无法做其它的操作,它管理启动Oracle GoldenGate进程、启动动态进程、分配端口给GoldenGate进程、管理trail file、创建事件,错误和诊断报告工作;
1.2 Extract
Extract 运行在源端或者根据系统和业务的需求可以同时运行在两端,抽取捕获系变更统数据;它可以配置为初始化数据加载(直接从数据源中加载静态的数据)和在某个时间点后源端与服务端变更数据同步(从在线日志或归档日志抽取捕获变更的数据),它也可以在支持DDL变更的系统中抽取捕获DDL;
当配置为数据同步时,extract进程抽取捕获extract配置文件里配置的对象的任何DML和DDL(需要额外配置)的操作,extract进程记录这些操作,直到用户提交或回滚事务;当收到回滚(rollback)时,extract撤销这些记录;当收到(commit)操作后,extract进程记录保存这些操作到一个或多个trail文件里并以队列的形式发送到目标端,以确保数据传输速度和数据的一致性。
1.3.Data Pumps
Data Pumps是第二种类型的GoldenGate extract配置,如果不使用Data Pump,extract进程必须发送抽取捕获的操作数据到目标端trail;如果配置了Data Pump,extract进程抽取捕获数据写入到trail,Data pump读取trail并且通过网络发送trail到目标端trail,data pump 加强了源端和目标端抽取捕获数据的可用性,主要优点:1.保护网络传输失败和目标端失败;2.可以实现复杂的数据过滤和转换;3.可以结合多个数据源到目标端;4.可以同步一个源数据到多个目标端。
1.4.Replicats
Replicat进程运行在目标端读取tail文件和重构DML、DDL并应用到目标数据库;Replicat编译SQL一次,当变量值不同时重复使用编译过的SQL;Replicat进程可以像extract进程配置初始化数据加载(直接从数据源中加载静态的数据)和在某个时间点后源端与服务端变更数据同步(从在线日志或归档日志抽取捕获变更的数据);
1.5.Trails
trail文件保存抽取捕获的变更数据信息,trail根据GoldenGate配置可能存在于源系统的磁盘上或者目标系统的磁盘上或者系统内部介质或者相关的系统中;使用trail文件存储抽取捕获的数据可以不依赖于extract或replicat进程,你可以有更多的选择处理数据和何时到达目标端,比如你可能配置抽取和保存在同一时刻,然后稍后发送数据到目标端。 trail文件可以在进程需要时使用ADD RMTTRAIL or ADD EXTTRAIL命令添加创建,文件名为8个字符,可以在创建时指定两个字符然后由GoldenGate填充另外六个序列字符,序列字符从000000到999999,比如创建时指定了两个字符为'tr',那么GoldenGate会创建tr000001的文件保存抽取捕获的数据;文件名是唯一的,保存在GoldenGate_home\dirdat目录下。
1.6 Checkpoints
Checkpoint存储从文件读取和写入的检测点位置,用于还原和恢复数据,Checkpoint确保发生变化并提交(commit)的数据被extract抽取捕获和被replicat进程应用到目标端;保证在系统、网络或者GoldenGate需要重启进程时的发生错误不会导致数据丢失;在复杂的同步配置中checkpoints启用多个extract和replicat进程从同一个trail集中读取数据。
1.7 Collector
collector是目标端后台进程,默认情况下,源端extract进程初始化TCP/IP连接到目标端的collector进程,但是因为GoldenGate是可配置的,所以有些时候可能需要在目标端配置和初始化collector,比如目标端同步时区,但是源端的时区小于目标端的情况下。collector的功能:1.根据源端extract进程的请求,扫描和绑定可用的端口给mgr主进程分配给请求的extract进程;2.接收源端extract抽取trail并写入到目标端的trail文件;mgr自动启动collector进程当源端发出网络请求时,所以GoldeGate用户是不可以与它交互的。collector只能同时接受一个extract进程信息(一对一)并且随着extract的终止而终止。
1.8 GoldenGate的安装
源端oracle数据库
a) 创建源端(目标端)安装目录:
mkdir /opt/oracle/oracle/product/ogg_src
mkdir /opt/oracle/oracle/product/ogg_trg
b) cd ~ 进入用户根目录修改.bash_profile配置文件内容:
Linux下安装GoldenGate要配置ORACLE_SID、ORACLE_HOME和LD_LIBRARY_PATH;
PATH=$PATH:$HOME/bin
export PATH
export ORACLE_BASE=/opt/oracle/
export ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/
export ORACLE_SID=orcl
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
注意:数操作系统版本、据库版本和Oracle GoldenGate版本bit type要一致,要么全是32bit要么全是64bit;
c) 解压安装文件到tmp目录 unzip 122022_fbo_ggs_Linux_x64_shiphome.zip -d /tmp
d) 执行命令,图形界面安装
export 10.00.00.00:0.0 --替换成自己机器IP
xhost +
e) 执行安装命令 /tmp/fbo_ggs_Linux_x64_shiphome/Disk1/runInstaller
f) 根据数据库版本选择对应的GoldenGate选项;
g) 选择安装目录 (源和目标目录不一样;如果源和目标在同一台机器,端口号要区分一下)
h) Install安装即可
I) 安装完成后配置OGG命令行快捷命令和回写功能,在.bash_profile配置文件中添加如下内容:
alias tggsci='rlwrap /u01/app/product/ogg_trg/ggsci'
alias sggsci='rlwrap /u01/app/product/ogg_src/ggsci'
源端、目标端安装方式一样。如果安装在同一台机器注意安装路径和端口要区分。