分类: 系统运维
2014-08-20 14:05:47
GoldenGate
一对一实施方案
一、安装GoldenGate
*源库需要开启归档
安装GoldenGate:源和目标都需要安装
1、创建GoldenGate安装目录:
Mkdir –p /opt/oracle/gg11
2、修改环境变量:
Export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_BASE/gg11:$LD_LIBRARY_PATH
export PATH=$ORACLE_HOME/bin:$ORACLE_BASE/gg11:$PATH
3、安装GoldenGate 注:要对应数据库版本的gg安装包
Tar xvf fbo_ggs_Linux_x64_ora11g_64bit.tar
cd /opt/oracle/gg11
Ggsci
GGSCI (centos6) 1>
GGSCI (centos6) 1>create subdirs
二、配置GoldenGate
装完GoldenGate后需要执行两步操作,在Source端。
Sql> alter database add supplemental log data;
Sql> alter system switch logfile;
Sql> desc v$database
Sql> select supplemental_log_data_min from v$database;
在Source和target把库都起来,并创建gg用户
Sql>create user ggusr identified by ggusr default tablespace users;
Sql>grant connect,resource to ggusr;
1、配置GoldenGate MGR 注:Source和Target都要配置。
Ggsci
Ggsci(dg1) 1> edit params mgr 创建manager初始化参数文件。
--this is the minimal configuration of manager process 注释
Port 7809
Ggsci(dg1) 2>Start mgr 启动
Ggsci(dg1) 3>Info mgr 查启动信息
Ggsci(dg1) 4>quit
Ps –ef |grep ora
2、在Source端
Ggsci
Ggsci(dg1) 1> dblogin userid system, password zsht2014 //红字是用户密码
Ggsci(dg1) 2> add trandata ggusr.* 源数据要捕获的表
Ggsci(dg1) 3> info trandata ggusr.*
源数据库端配置:
一、增加Primary Extract
1,GGSCI (centos6) 3> add extract eiexkk,tranlog,begin now,threads 2 //数字代表节点
---抽取进程,负责抓取SourceDB中变化的数据。
2,GGSCI (centos6) 4> edit params eiexkk
Extract eiexkk
Userid ggusr, password ggusr
exttrail ./dirdat/kk
DDL INCLUDE ALL
GETTRUNCATES
GETUPDATES
Table ogg_dbbak.*; //红色代表用户
3,GGSCI (centos6) 6> add exttrail ./dirdat/kk,extract eiexkk,megabytes 5 //数字代表抽取文件多大。
EXTTRAIL added.
二、增加Pump Extract1 用于向目标1进行数据复制
1,GGSCI (centos6) 7> add extract extpp,exttrailsource ./dirdat/kk
EXTRACT added.
2,GGSCI (centos6) 10> edit params extpp
EXTRACT extpp
userid system,password zsht2014
RMTHOST 192.168.31.201, MGRPORT 7809
RMTTRAIL ./dirdat/kk
TABLE ogg_dbbak.*;
3,GGSCI (centos6) 11> add rmttrail ./dirdat/kk,extract extpp,megabytes 5
RMTTRAIL added.
三、启动复制进程:
GGSCI (centos6) 16> start extract eiexkk
GGSCI (centos6) 17> start extract extpp
GGSCI (centos6) 19> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
EXTRACT RUNNING EXTKK 00:00:00 00:00:11
EXTRACT RUNNING EXTPP 00:00:00 00:00:00
目标数据库配置:
1.edit params ./globals
checkpointtable system.ggchkpttab
Ggschema ggusr
2,Ggsci
GGSCI (centos7) 7> dblogin userid system, password zsht2014
GGSCI (centos7) 7> add checkpointtable system.ggchkpttab
3,增加Replicat
GGSCI (centos7) 3> add replicat repm1,exttrail ./dirdat/kk //如果出现错误加上checkpointtable system.ggchkpttab
REPLICAT added.
----复制进程,将抽取到队列中的文件解析后写进TargetDB。
4,GGSCI (centos7) 5> edit params repm1
REPLICAT REPM1
USERID system, password zsht2014
HANDLECOLLISIONS
ASSUMETARGETDEFS
DISCARDFILE ./dirrpt/REPM1.DSC, PURGE
GETTRUNCATES
GETUPDATES
Dynamicresolution
DDL INCLUDE ALL
MAP oggtest.*, TARGET oggtest.*;
5,GGSCI (centos7) 36> start replicat repm1
GoldenGate DDL配置方案:
一、在源端配置。 注:(每个充当源的数据库都要配置,如多主,双向环境)
1,关闭Oracle 10G回收站机制,11G可以开启。
10g可以用:
Sql> alter system set recyclebin=off; 关闭
Sql> alter system set recyclebin=on; 开启
11g可以用:
Sql> alter system set recyclebin=off deferred; 关闭
Sql> alter system set recyclebin=on deferred; 开启
2,授予权限
SQL> grant execute on utl_file to ggusr;
3,编辑Global参数,加入以下内容:
Ggschema ggusr
4,执行配置脚本:列表如下
marker_setup.sql
ddl_setup.sql
role_setup.sql
grant the role to all goldengate extract users
ddl_enable.sql
install and use the optional performance tool
4.1)执行marker_setup脚本
该脚本安装marker系统,这部分为启用DLL支持所必备,执行该脚本时会提示输入GoldenGate管理帐户schema名
SQL> @marker_setup.sql
Marker setup script
Enter Oracle GoldenGate schema name:ggusr
4.2) 执行ddl_setup脚本
执行该脚本要确认关闭掉所有ORACLE会话,未被关闭的会话会以列表形式显示,执行过程中会要求希望对象属主,并选择安装模式。如果是初次安装就选择“INITIALSETUP”,该模式假设当前没有任何GoldenGate DDL对象存在,如果存在则会删除并重建。如果是重新安装,则应该选择“NORMAL”。具体执行示例如下
SQL> @ddl_setup.sql
SQL> @role_setup.sql
4.4) 按照上面返回的提示,执行授权操作,注意是将权限授予执行Extract/GGSCI或其它管理操作的用户,我们这里的情况看显然是ggate,执行命令如下:
SQL> grant ggs_ggsuser_role to ggusr;
启用DDL触发器,以捕获DDL操作:
SQL> @ddl_enable.sql
4.6) 安装性能优化工具(可选项)
要提高DDL触发器的性能,可以通过ddl_pin脚本,该脚本会将触发器使用的包加载到内存,以此提高效率。该脚本执行时需要引用dbms_shared_pool系统包,因此在使用ddl_pin脚本前需要确保dbms_shared_pool可用
SQL> @?/rdbms/admin/dbmspool.sql
4.7) 执行ddl_pin脚本需要指定GoldenGate管理员schema名称,例如:
SQL> @ddl_pin ggusr
配置完成,验证数据同步。