Goldengate配置手册.doc_第1页
Goldengate配置手册.doc_第2页
Goldengate配置手册.doc_第3页
Goldengate配置手册.doc_第4页
Goldengate配置手册.doc_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目录1综述31.1目的31.2原则32OGG设计原则42.1OGG的版本及下载42.2GoldenGate运行用户42.3为GoldenGate运行用户配置环境变量42.4网络设置42.5GoldenGate安装位置42.6OGG DDL复制52.7OGG数据复制链路结构52.8OGG进程命名规则62.8.1总述62.8.2主Extract进程命名规则62.8.3本地队列命名规则62.8.4Data Pump Extract进程命名规则72.8.5本地队列命名规则72.8.6Replicat进程命名规则72.9OGG进程数量设计82.9.1主Extract进程设计82.9.2Data Pump进程设计82.9.3Replicat进程设计93GG实施步骤103.1准备103.2创建运行GoldenGate的用户113.3安装GoldenGate113.4添加变量123.5增加附加日志123.6OGG源端配置123.6.1MGR进程参数模板123.6.2主Extract进程参数模板133.6.3Data Pump传输进程参数模板163.7OGG目标端配置173.7.1安装GoldenGate173.7.2添加变量183.7.3MGR进程配置183.7.4数据入库Replicat进程参数模板183.8启动GoldenGate进程203.8.1启动源端管理进程203.8.2启动目标端管理进程203.8.3启动源端抽取进程203.8.4启动源端传输进程203.8.5启动目标端入库进程214GG初始化说明214.1数据库说明214.2数据库信息214.3Goldengate同步内容224.3.1 个税内部Goldengate进程说明224.3.2 与外部其他系统Goldengate进程说明244.4附件251 综述1.1 目的本文档作为实施人员在使用Oracle GoldenGate数据复制时作为详细设计的指导性规范。1.2 原则在实施整个项目过程中实现各进程命令的规范化,并提供规划数据复制链路的设计原则。2 OGG设计原则2.1 OGG的版本及下载AIX系统下目前安装的是ggs_AIX_ppc_ora11g_64bit.tar 。Linux64位系统目前安装的是fbo_ggs_Linux_x64_ora11g_64bit.tar。版本都为.3。2.2 GoldenGate运行用户国网直接使用oracle运行用户运行OGG,完全遵循Oracle已有用户属组和权限。2.3 为GoldenGate运行用户配置环境变量确保为oracle和OGG运行用户配置动态库路径。确保Oracle数据库的运行库(/lib)添加到操作系统的动态库环境变量中:LD_LIBRARY_PATH (Solaris, Linux), LIBPATH (AIX), SHLIB_PATH (HPUX)。2.4 网络设置OGG只需要复制两端的IP地址之间能够建立TCP连接。防火墙添加策略参考防火墙策略申请表(目前版本要填写两份,保证策略是双向的)即可。2.5 GoldenGate安装位置由于是测试环境,当前并没有产生归档,检查当前OGG空间充足,用于OGG本身的安装以及缓存数据队列,可以参照以下原则配置OGG安装位置: 一个数据库上有多个Oracle实例同样安装一套GoldenGate; OGG安装位置统一为/Golgengate目录2.6 OGG DDL复制日常复制中,原则上不建议打开DDL复制。因为:1 DDL的捕捉是通过源端建立Trigger来实现的,会对源数据库产生性能影响,尤其是对于业务量大的业务系统;2 由于两端的数据库存储结构和对象等不可能完全一致,源端能够执行的DDL语句到了目标端不一定能够执行成功,为此打开DDL复制需要较大的维护工作量;3 源端数据库发生DDL变化时,可以通过在目标端同样打补丁的方式予以解决,而不通过DDL复制。如确因业务需求需要考虑打开DDL复制,可以采取在业务较闲阶段打开DDL复制的Trigger观察其对业务系统影响,如没有性能上的较大降低,可以考虑保留DDL复制。需实时对于业务系统进行监控,观察其在业务高峰期是否正常。DDL复制建议只复制最小的集合,如table、index、create user等。2.7 OGG数据复制链路结构Oracle GoldenGate数据复制的链路结构如下图所示:1) 源端首先配置一个主Extract进程,负责从数据库日志中解析数据,然后将数据写入到本地队列;2) 源端再配置一个Data Pump Extract,用于将本地队列经由网络传输到目标端的远程队列;3) 目的端配置replicat进程,负责将传输到目标的队列文件写入数据库。2.8 OGG进程命名规则2.8.1 总述n OGG的进程命名遵循规则1) 长度不超过8;2) 只建议包含字母和下划线,不建议使用数字和其它特殊字符。n OGG的队列命名遵循规则队列名称包含绝对路径或相对路径,以及作为标识的两个字母,如./dirdat/rt和/Goldengate/dirdat/rt均可,建议使用相对路径。2.8.2 主Extract进程命名规则主Extract的命令建议格式如下:e +源端数据属性或对应数据库缩写 +“ _”+目标数据库+ extract序列号 其中1) 前面的一个字母e表示本进程为主Extract,负责抽取数据库日志;2) 下划线左边是源端复制的数据属性或者数据对应的源端数据库缩写,下划线右边对应目标数据库的缩写;3) 由于两个库之间可能有多个复制进程,在这就添加一个Extract序列号以示区别。举例:egs_zj9, ehx_jq0,phx_jk7具体进程数量请参考下节的介绍。2.8.3 本地队列命名规则本地队列命名建议格式如下:/dirdat/xx或./dirdat/xx建议尽量采用相对路径格式,后面的两位字母一般为本地队列定义为g+一个标识字母,标识字母可以根据extract进程确定,有助于显式地将extract进程与队列联系起来。例如:./dirdat/ga2.8.4 Data Pump Extract进程命名规则Data Pump Extract的命名建议格式如下:p+源端数据属性或对应数据库缩写 +“ _”+目标数据库+ extract序列号 其中1) dpe表示本进程为data pump extract,以与主extract区分开。2) 后面几位命名要求严格与extract对应,即extract如果是egs_zj9,则对应的data pump进程命令为pgs_zj9,以便于识别那个dpe与哪个ext进程对应。2.8.5 本地队列命名规则本地队列命名建议格式如下:/dirdat/xx或./dirdat/xx建议尽量采用相对路径格式,后面的两位字母一般远程队列定义为r+一个标识字母,标识字母保持与本地队列一致。例如,本地队列./dirdat/ga,远程队列./dirdat/ra。2.8.6 Replicat进程命名规则Replicat的命名建议格式如下:r+源端数据属性或对应数据库缩写 +“ _”+目标数据库+ 投递序列号 其中1) 前面一个字母r表示本进程为replicat进程,负责向数据库投递数据;2) 下划线左边是源端复制的数据属性或者数据对应的源端数据库缩写,下划线右边对应目标数据库的缩写;3) 如果一个队列数据较多,需要拆分为多个replicat,则可以在后面加上1-2位阿拉伯数字的序列号以示区别。以下为一个复制链路的命名示例,其中有一个extract和一个data pump和三个replicat:Extract: ezsj_gs1本地队列:./dirdat/ zgData Pump Extract:pzsj_gs1远程队列:./dirdat/ rgReplicat:rzsj_gs12.9 OGG进程数量设计2.9.1 主Extract进程设计Oracle GoldenGate的Extract进程处理能力根据主机、操作系统、内存、磁盘IO等因素会有所不同,但其总体处理能力较强,请参照以下原则设定其数量:1) 对于每个数据库实例至少需要一个单独的extract;2) 各进程之间应当分别负责不同的数据库实例、schema、业务表集合,并且各进程之间尽量实现负载均衡。2.9.2 Data Pump进程设计仅一条:1) Data Pump与主Extract必须一一对应。2.9.3 Replicat进程设计Replicat进程设计原则如下:1) 每个远程队列至少有一个replicat负责;2) 每个replicat进程能够处理的队列大小要根据系统配置、数据库性能、数据结构如表是否有主键和索引等而定,一般需要经过一段时间实际运行方可获得可靠数据。相对extract而言,replicat的处理能力要差很多,经常需要将一个trail拆分为多个replicat并行处理。3) Replicat如需拆分,按照schema、业务所涉及表范围、表名称前缀等方法进行依次拆分,经常需要多次拆分方能达到最佳效果。可以查看源端extract的报告或者使用stats命令找出变化较频繁的表,为一个或几个这些大数量级表单独配置投递进程。以下为一个trail拆分为多个replicat的示例:Extract示例:EXTRACT extgbsetenv ( NLS_LANG = AMERICAN_AMERICA.ZHS16GBK )USERID goldengate, PASSWORD XXXXEXTTRAIL ./dirdat/gbDynamicresolution-这里共有两个schematable UCR_UIF1.*;table UCR_UEC.*;Data Pump与Extract类似,略。Replicat示例:replicatrepgbpsetenv ( NLS_LANG = AMERICAN_AMERICA.ZHS16GBK )USERID goldengate, PASSWORD XXXXDynamicresolution-本replicat负责一个schemamap UCR_UIF1.*, target UCR_UIF1.*;replicatrepgbtsetenv ( NLS_LANG = AMERICAN_AMERICA.ZHS16GBK )USERID goldengate, PASSWORD XXXX.Dynamicresolution-本replicat负责另一个schema中的一张大表MapUCR_UEC.TF_O_SELFSERVICE_STATE, target UCR_UEC.TF_O_SELFSERVICE_STATE;replicatrepgbusetenv ( NLS_LANG = AMERICAN_AMERICA.ZHS16GBK )USERID goldengate, PASSWORD XXXX.dynamicresolution-本replicat负责另一个schema中除去上述大表外的所有表MAPEXCLUDE UCR_UEC.TF_O_SELFSERVICE_STATmap UCR_UEC.*, target UCR_UEC.*;3 GG实施步骤3.1 准备a. 为GoldenGate软件划分目录为/Goldengate,存储空间充足;b. 数据库必须处于归档模式,建议保留10天的归档日志;c. 不同厂商之间数据同步由双方工程师共同确定所需要复制的表以及划分复制通道。d. 为GoldenGate防火墙开端口7809,7840-7850(在源和目标端)3.2 创建运行GoldenGate的用户1) 在源端采用ORACLE用户运行GoldenGate2) 创建GG安装位置:/Goldengate3) 创建GoldenGate数据库用户ggs$ sqlplus / as sysdbaSQL create user ggs identified by XXXX;SQL grant connect, resource, dba to ggs;SQL exit;4) 检查源端数据库是否为归档模式,若为非归档模式,将其改为归档模式SQLarchive log list;5) 检查源端数据库附加日志是否打开SQLselect supplemental_log_data_min from v$database;a) 将数据库附加日志打开SQLalter database add supplemental log data;b) 切换日志以使附加日志生效-SQLAlter system switch logfile;Select * from v$transaction3.3 安装GoldenGate通过sftp上传GoldenGate软件包道安装目录,并解压缩tar -xvf *.tar在ggsci环境下创建GoldenGate子目录,create subdirsShellggsciGGSCI CREATE SUBDIRSGGSCI EXIT3.4 添加变量vi .bash_profileexport GG_HOME=/Goldengateexport LD_LIBRARY_PATH=$ORACLE_HOME/lib:$GG_HOME:$LD_LIBRARY_PATH3.5 增加附加日志在GGSCI命令行中登陆数据库,为需要复制的数据表添加trandataa) 执行完毕通过下列sql检查,查看那些表已经添加了附加日志:Info tradataschema.tableb) 如果发现尚有部分表未添加附加日志,需有手工添加,例:Ggscidbloginuseridggs,password XXXX如果该表有主键:Ggsciadd trandataschema.tableGgsciadd trandataschema.table- Ggsciadd trandata schema.*3.6 OGG源端配置现在以一条完整的链路为例,详细演示各进程的配置方法。3.6.1 MGR进程参数模板GGSCIedit param mgr-Manager使用的端口port 7809DYNAMICPORTLIST 7840-7850-自动启动所有的Extract进程-AUTOSTART EXTRACT *-自动重启所有的Extract,每隔2分钟重试,重试次数5次AUTORESTART EXTRACT *,RETRIES 5,WAITMINUTES 2-每隔1小时检查延迟报告-LAGREPORTHOURS 1-每隔30分钟检查延迟,如果超过延迟阀值,将写入错误日志-LAGINFOMINUTES 30-延迟阀值45分钟-LAGCRITICALMINUTES 453.6.2 主Extract进程参数模板当前源端IP:100.12.XXX.XXX SID:bjscgshx1为egs_zj9进程配置参数:GGSCIedit param egs_zj9-Extract进程名EXTRACT egs_zj9-设置环境变量SETENV (ORACLE_SID=bjscgshx1)SETENV (NLS_LANG=AMERICAN_AMERICA.AL32UTF8)-GoldenGate用户名、密码useridggs,password XXXX-捕获Truncate操作GETTRUNCATESREPORT AT 01:59REPORTROLLOVER AT 02:00TRANLOGOPTIONS CONVERTUCS2CLOBSEXTTRAIL ./dirdat/xtNUMFILES 3000EOFDELAYCSECS 30GETTRUNCATEStranlogoptionsasmusersysasm, asmpassword XXXX-动态解析表名DYNAMICRESOLUTIONDBOPTIONS ALLOWUNUSEDCOLUMNFETCHOPTIONS NOUSESNAPSHOTFETCHOPTIONS SUPPRESSDUPLICATESFETCHOPTIONS FETCHPKUPDATECOLSWARNLONGTRANS 3H, CHECKINTERVAL 3MTABLE GS_HX.CS_FYKCBZ;TABLE GS_HX.DM_DJ_BGDJXM; 添加egs_zj9进程,从数据库日志中抓取有效数据GGSCI (HYGSDBDQ03) 11 add extract egs_zj9, tranlog, threads 2, begin nowGGSCI (HYGSDBDQ03) 14 add exttrail ./dirdat/ xt,extract egs_zj9,megabytes 100 检查配置情况:GGSCI INFO EXTTRAIL *GGSCI START EXTRACT egs_zj9GGSCI VIEW REPORT egs_zj93.6.3 Data Pump传输进程参数模板对应的抽取进程为egs_zj9为对相应的抽取进程配置相应的传输进程:GGSCIedit param pgs_zj9-Data Pump进程名称EXTRACT pgs_zj9-设置环境变量SETENV (ORACLE_SID=bjscgshx1)SETENV (NLS_LANG=AMERICAN_AMERICA.AL32UTF8)REPORT AT 01:59REPORTROLLOVER AT 02:00FLUSHCSECS 30NUMFILES 3000EOFDELAYCSECS 30-目标机器IP和端口RMTHOST 100.12.98.XX,MGRPORT 7809, TCPBUFSIZE 100000, TCPFLUSHBYTES 300000-队列文件在目标端的存放位置rmttrail ./dirdat/zf-采用pass-through模式处理表PASSTHRU-动态解析表名DYNAMICRESOLUTION-要复制的表清单TABLE GS_HX.*; 添加pgs_zj9进程,将本地队列的数据抽取出来GGSCI (HYGSDBDQ03) 33 add extract pgs_zj9,exttrailsource ./dirdat/xt 添加远端队列,将pgs_zj9进程捕捉到的数据将写入该队列GGSCI (HYGSDBDQ03) 34 add rmttrail ./dirdat/rt, extract pgs_zj9, megabytes 100 检查配置情况GGSCI START EXTRACT pgs_zj9GGSCI INFO EXTRACT pgs_zj93.7 OGG目标端配置3.7.1 安装GoldenGate通过sftp上传GoldenGate软件包道安装目录,并解压缩tar -xvf *.tar在ggsci环境下创建GoldenGate子目录,create subdirsShellggsciGGSCI CREATE SUBDIRSGGSCI EXIT3.7.2 添加变量在oracle用户的.bash_profile文件中添加:vi .bash_profileexport GG_HOME=/Goldengateexport LD_LIBRARY_PATH=$ORACLE_HOME/lib:$GG_HOME:$LD_LIBRARY_PATH3.7.3 MGR进程配置GGSCIedit parammgr-Manager使用的端口port 7809DYNAMICPORTLIST 7840-7850-自动启动所有的Extract进程-AUTOSTART EXTRACT *-自动重启所有的Extract,每隔2分钟重试,重试次数5次AUTORESTART EXTRACT *,RETRIES 5,WAITMINUTES 2-每隔1小时检查延迟报告LAGREPORTHOURS 1-每隔3分钟检查延迟,如果超过延迟阀值,将写入错误日志LAGINFOMINUTES 3-延迟阀值5分钟LAGCRITICALMINUTES 53.7.4 数据入库Replicat进程参数模板当前目标端IP:100.12.XX.XXSID:bjsczsj1 GGSCIedit params rgs_zj9-Replicat进程名称replicat rgs_zj9SETENV (ORACLE_SID=bjsczsj1)SETENV (NLS_LANG=AMERICAN_AMERICA.AL32UTF8)-GoldenGate用户名、密码USERID ggs , PASSWORD XXXXsqlexec Alter session set commit_write=nowaitREPORT AT 01:59REPORTROLLOVER AT 02:00-除重处理-HANDLECOLLISIONSREPERROR DEFAULT,A

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论