Oracle-GoldenGate培训2

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

•GoldenGate安装配置–软件下载–操作系统准备–数据库准备–软件安装–源端OGG配置–目标端OGG配置GoldenGate软件下载•可以从网站下载•需注册和登录•选择OracleFusionMiddleware程序包和对应平台•点击OracleGoldenGateonOracleMediaPackfor对应平台•点击相应的操作系统版本及类型旁边的下载链接即可开始下载•根据平台不同其安装介质一般为zip或gz文件操作系统安装准备-准备用户•准备安装和运行用户–建议使用Oracle用户–也可使用新建用户,但需做以下配置•该用户必须加入到oinstall组•该用户使用与oracle相同的profile文件•操作系统必须为该用户开放一定的CPU、内存等资源限制,可以通过ulimit–a查看,建议在/etc/security/limits.conf中设置为该oracle用户一致•准备安装位置和空间–OGG可以安装于任意位置•RAC下建议安装在存储阵列,可以在单点失败后切换到其它节点继续运行–分配空间•软件本身所需空间约为200M以下•为缓存数据建议保留相当于1-3天归档日志的存储空间–将安装目录的owner修改为OGG运行用户数据库安装准备-源数据库•数据库必须打开归档模式–OGG重启时需要读取未提交交易开始时的日志•验证未使用并行日志(只针对9i)–SqlshowparameterLOG_PARALLELISM。如结果为1,无需修改;否则需要修改为1。•打开数据库最小附加日志SQLselectsupplemental_log_data_minfromv$database;结果为NO,表示没有打开附加日志。使用以下命令将数据库附加日志打开:SQLalterdatabaseaddsupplementallogdata;切换日志以使附加日志生效:SQL〉ALTERSYSTEMARCHIVELOGCURRENT;数据库附加日志的说明•为什么要打开附加日志–缺省情况下Oracle只在日志中记录Update对应的rowid,在OGG复制的目标端同一行的rowid会与源端不同,无法实现记录的一一对应–OGG使用主键/唯一索引(或者全部列)作为行标识进行对应–需要通过附加日志在数据库日志中加入这些额外的标识信息•数据库级附加日志-v$database–SUPPLEMENTAL_LOG_DATA_MIN,附加日志开关–SUPPLEMENTAL_LOG_DATA_PK,记录所有主键到日志–SUPPLEMENTAL_LOG_DATA_UI,记录所有唯一索引到日志–SUPPLEMENTAL_LOG_DATA_FK,记录所有外键到日志–SUPPLEMENTAL_LOG_DATA_ALL,记录每个表所有列到日志•表级附加日志-dba_log_groups–针对每一个表设定在日志中所要额外记录的列–Altertabletableaddsupplementalloggroupgroup(column,..)always;–OGG提供了addtrandata命令,无需手工写sql数据库安装准备-源数据库(续)•建立OGG数据库用户–OGG需要从数据字典读取表结构–如Oracle日志中没有足够信息,则需通过flashback或者直接读取数据库记录(例如,CLOB/BLOG/BINARY等)•OGG数据库用户权限–CREATEUSERgoldengateIDENTIFIEDBYgoldengateDEFAULTTABLESPACEUSERS;–GRANTCONNECTTOgoldengate;–GRANTCREATESESSIONTOgoldengate;–GRANTALTERSESSIONTOgoldengate;–GRANTRESOURCETOgoldengate;–GRANTSELECTANYDICTIONARYTOgoldengate;–GRANTSELECTANYTABLETOgoldengate;–GRANTFLASHBACKANYTABLETOgoldengate;–GRANTALTERANYTABLETOgoldengate;数据库安装准备-目标数据库•建立OGG数据库用户–通过sql将数据写入数据库•OGG目标数据库用户权限–CREATEUSERgoldengateIDENTIFIEDBYgoldengateDEFAULTTABLESPACEUSERS;–GRANTALTERSESSIONTOgoldengate;–GRANTCREATESESSIONTOgoldengate;–GRANTCONNECTTOgoldengate;–GRANTRESOURCETOgoldengate;–GRANTSELECTANYDICTIONARYTOgoldengate;–GRANTSELECTANYTABLETOgoldengate;–GRANTFLASHBACKANYTABLETOgoldengate;–GRANTINSERTANYTABLETOgoldengate;–GRANTUPDATEANYTABLETOgoldengate;–GRANTDELETEANYTABLETOgoldengate;GoldenGate软件安装-适用源和目标•上传软件包到安装目录•以oracle用户登录•使用unzipXXX.zip或者jar–xvfXXX.zip解压缩;•使用tarxvfXXX.tar解开tar包;•在goldengate目录下,执行./ggsci进入命令行界面,左侧提示出现GGSCI(myhost)1,表示进入成功•在ggsci环境下创建GoldenGate子目录GGSCIcreatesubdirs该命令会在OGG安装目录下建立若干子目录,其中几个主要目录如下所示:dirchk:用于存放各个进程的检查点dirdat:用于存放数据队列文件dirprm:用于存放各进程参数文件dirrpt:用于存放各进程报告dirpcs:存放各个正在运行的进程信息Mgr进程配置-适用源和目标•以oracle用户登录,在goldengate目录下,执行./ggsci进入命令行界面•为mgr进程配置参数–GGSCIeditparammgr会打开一个编辑窗口,在其中输入以下内容然后保存退出。port7809--DYNAMICPORTLIST7820-7830,7833,7835--autostarter*--autorestarter*,retries5,waitminutes3--purgeoldextracts/u01/oracle/goldengate/dirdat/*,usecheckpoints,minkeepdays7•启动mgr进程GGSCIstartmgr说明:参数前面加入两个中划线表示该参数被注释掉Mgr进程参数介绍•配置mgr端口:port7809该端口可以为任意可用的端口,OGG两端的通信需要通过该端口进行,如源和目标见有防火墙,需要将该端口打开。•配置mgr启动时自动启动所有ext/rep进程--autostarter*由于用户往往需要对参数进行修改,或者等待数据库启动后再行启动,一般不建议直接由mgr进程自动启动所有进程。•配置mgr自动重启所有ext/rep进程--autorestarter*,retries5,waitminutes3如果因为网络等原因造成复制进程临时中止,可以通过该配置每隔一个小时尝试重新启动所有中断了的进程,每隔3分钟尝试一次,共尝试5次,若依旧不成功则等待一个小时。建议配上。Mgr进程参数介绍•配置mgr自动删除旧的数据队列--purgeoldextracts/u01/oracle/goldengate/dirdat/*,usecheckpoints,minkeepdays7该参数可以使mgr进程自动删除过期队列,第一个参数/u01/oracle/goldengate/dirdat/*是队列的位置,带标识删除所有符合条件队列;usecheckpoints表示要验证检查点,如果该队列还没有被传输到目标或者应用到数据库则不会被删除;minkeepdays表示至少保留7天。正常运行时建议配置此参数,以防止队列大量堆积。•配置所有GoldenGate可用端口范围--DYNAMICPORTLIST7820-7830,7833,7835如果源和目标之间有防火墙,则可以通过此参数指定GoldenGate可用的端口范围。GoldenGate的collector进程(该进程为目标mgr自动启动,每个向目标进行数据投递的源端ext进程对应一个collector进程)会在此范围内选择一个端口启动侦听。一般端口数量为进程数量的2倍即可。如果不配置该参数,则GoldenGate会从7840端口开始递增寻找一个可用端口。抽取进程配置(源端)–添加表级附加日志•以oracle用户进入goldengate目录下执行./ggsci命令进入命令行界面;•在GGSCI命令行中登录数据库,为所有要复制的数据表添加trandataGgsciDbloginuseridgoldengate,passwordgoldengateGgsciaddtrandatamyschema.mytable1Ggsciaddtrandatamyschema.mytable1Ggsciaddtrandatamyschema.mytable1Ggsciaddtrandatamyschema.mytable1Ggsciaddtrandatamyschema.mytable1......在打开数据库最小附加日志后,addtrandata命令会构建altertable命令为每个表添加附加日志。抽取进程配置(源端)–添加抽取进程•添加exta进程,从数据库日志中抓取有效数据GGSCIaddextexta,tranlog,beginnow,threads2Exta为进程名,一般为ext开头表示是extract进程,后面可以加1-2位字符标识;tranlog表示要抽取数据库日志;beginnow表示从当前时间点开始抽取。抽取进程配置(源端)–抽取进程直接到目标端•添加远程队列ra,exta进程捕捉到的有效数据将写入远程队列GGSCIaddrmttrail/u01/oracle/goldengate/dirdat/ra,extexta,MEGABYTES20每一个ext进程都要对应一个本地或者远程队列,指明ext进程抽取的数据要写到何处。Rmttrail参数指定的位置就是目标队列的位置(注意:不是在源主机上的位置),队列一般以路径加上两个标识如ra来表示,ext后面指定该队列是对应哪个ext进程。Megabytes表示每个队列文件的大小限制,超过该大小则会滚动到下一个队列文件。注意:如果网络中端,则extract会中止,如果长时间以后再启动则有可能日志已经被删除,因此建议在异地和系统经常要重启或停机的情况下采用添加一个传输进程的方式。抽取进程配置(源端)–配置传输进程(DataPump)•如果是异地复制或者网络不稳定,建议首先抽取到本地,然后再单独配一个进程传输到目标。•创建完exta进程后,使用本地队列时为exta进程配置队列如下:GGSCIaddexttrail/u01/oracle/goldengate/dirdat/ra,extexta,MEGABYTES20•由于此时exta复制到了本地,还需要配置一个传输进程负责将数据原封不动的搬运到目标端:GGSCIADDEXTRACTdpea,EXTTRAILSOURCE/u01/oracle/goldengate/dirdat/ra注意此时exttrail指定的是本地队列位置。•然后为该传输进程配置远程队列:GGSCIaddrmttrail/u01/oracle/goldengate/dirdat/ra,extdpea,MEGABYTES20其中队

1 / 26
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功