亲爱滴伙伴们,今天给大家分享一下OGG的安装以及单向复制的部署,OGG的单向复制在生产环境中也是常用到的哦!
近期由于在工作环境中接触到了OGG,所以自学了一下相关的知识,下面给大家分享一下OGG软件的安装以及OGG单向复制的部署,有不对的地方,欢迎大家指出哦!!
主机环境:
源端 |
目标端 |
||||
IP |
操作系统 |
数据库版本 |
IP |
操作系统 |
数据库版本 |
192.168.245.138 |
rhel-server-7.4 |
12.2.0.1 |
192.168.245.139 |
rhel-server-7.4 |
12.2.0.1 |
1)获取安装介质
https://edelivery.oracle.com/osdc/faces/Home.jspx--下载你需要的版本
2)配置环境变量
exportOGG_HOME=/u01/ogg11
exportPATH=$OGG_HOME:$ORACLE_HOME/bin:$PATH
exportLD_LIBRARY_PATH=$OGG_HOME:$ORACLE_HOME/lib:$LD_LIBRARY_PATH
3)解压安装介质
chownoracle:oinstall /soft/
unzipV100692-01.zip
4)进入安装目录,修改响应文件
cd /soft/fbo_ggs_Linux_x64_shiphome/Disk1/response
catoggcore.rsp
oracle.install.responseFileVersion=/oracle/install/rspfmt_ogginstall_response_schema_v12_1_2
INSTALL_OPTION=ORA12c
SOFTWARE_LOCATION=/ogg
START_MANAGER=false
MANAGER_PORT=7809
UNIX_GROUP_NAME=dba
5)静默安装
我这里使用Oracle用户安装goldengate软件,也可以使用别的用户,但是要注意安装目录的权限问题。
su -oracle
cd/soft/fbo_ggs_Linux_x64_shiphome/Disk1
./runInstaller-silent -responseFile/soft/fbo_ggs_Linux_x64_shiphome/Disk1/response/oggcore.rsp
好了,到此我们的Goldegate软件就安装好了,下面我们进行配置一下Ogg的单向复制了,这里我的源端和目标端都是单机哦,集群的话,安装软件的目录要放在共享上哦,让集群的每个节点都访问到哦!
源端:
这里我们需要打开源端的归档和最小附加日志哦!!!
1)开启数据库归档和强制归档(源端)
startupmount
alterdatabase archivelog;
alterdatabase open;
alterdatabase force logging;
2)添加数据库最小附加日志,标识我们修改的数据
alterdatabase add supplemental log data;
3)切换日志组,使附加日志开关生效。
altersystem switch logfile;
4)修改enable_goldengate_replication参数为ture
altersystem set enable_goldengate_replication=true;
下面我们就开始正式的配置咯!!
1)创建专用的goldendate用户来同步数据 (源和目标库)
createuser c##goldengate identified by goldengate;
execdbms_goldengate_auth.grant_admin_privilege('c##goldengate',container=>'ALL');
grantdba to c##goldengate container=all;
2)配置全局参数
GGSCI(oggp) 1> edit param ./GLOBALS
GGSCHEMAC##GOLDENGATE
3)配置mgr进程
PORT7809
dynamicportlist7809-7899
purgeoldextracts./dirdat/*,usecheckpoints,minkeepdays 7
启动mgr
startmgr
4)配置抽数进程
editparams extorcl
EXTRACTextorcl
SETENV(NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)
SETENV(ORACLE_SID=oggs)
USERIDc##goldengate, PASSWORD goldengate
EXTTRAIL./dirdat/ex
TABLEoggs.test1.*;
添加抽取进程
ADDEXTRACT extorcl,integrated TRANLOG,BEGIN NOW
添加trail文件,将捕获的日志数据写入
addexttrail ./dirdat/ex,extract extorcl,megabytes 100
注册extract extorcl:
REGISTEREXTRACT extorcl DATABASE CONTAINER(oggs)
启动抽取进程
startextorcl
5)添加表级附加日志
dblogin USERID c##goldengate PASSWORD goldengate
addschematrandata oggs.test1
6)配置投递进程
editparam dporcl
EXTRACTdporcl
SETENV(NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)
RMTHOST192.168.245.139, MGRPORT 7809
RMTTRAIL/ogg/dirdat/rt
addextract dporcl,exttrailsource ./dirdat/ex
addrmttrail /ogg/dirdat/rt,EXTRACT dporcl,MEGABYTES 100
启动投递进程
startdporcl
目标端:
1)创建专用的goldendate用户
createuser c##goldengate identified by goldengate;
execdbms_goldengate_auth.grant_admin_privilege('c##goldengate',container=>'ALL');
grantdba to c##goldengate container=all;
2)配置全局参数
editparam ./GLOBALS
GGSCHEMAogg
CHECKPOINTTABLEogg.checktable5
3)配置mgr
PORT7899
dynamicportlist7809-7899
purgeoldextracts./dirdat/*,usecheckpoints,minkeepdays 7
启动mgr
startmgr
4)配置复制进程
GGSCI> edit param reporcl
REPLICATreporcl
SETENV(NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)
SETENV(ORACLE_SID=test)
USERIDogg@testpdb, PASSWORD oracle
DISCARDFILE./dirrpt/reporcl.DSC,append
MAPoggs.test1.*, TARGET oggt.test1.*;
添加检查点表
dblogin USERID ogg@testpdb, PASSWORD oracle
addcheckpointtable ogg.checktable5
添加复制进程
addreplicat reporcl exttrail ./dirdat/rt,checkpointtable ogg.checktable5
启动复制进程
startreporcl
在源端的test1用户插入数据,看目标端是否存在插入数据
SQL>conn test1/123123@testpdbs
createtable t (id number primary key);
insertinto t values (1);
commit;
Golengate软件安装以及ogg的单向复制配置还是非常简单的,如果在启动进程,发现状态不对,可以查询ggserr.log的日志进行解决,这个日志的报错信息还是非常准的。