GoldenGate安装实施最佳实践

上传人:gu****n 文档编号:240743593 上传时间:2024-05-04 格式:PPT 页数:24 大小:282KB
返回 下载 相关 举报
GoldenGate安装实施最佳实践_第1页
第1页 / 共24页
GoldenGate安装实施最佳实践_第2页
第2页 / 共24页
GoldenGate安装实施最佳实践_第3页
第3页 / 共24页
点击查看更多>>
资源描述
议题议题安装实施准备安装实施准备 安装实施操作步骤配置日常复制错误处理安装信息收集安装信息收集收集信息(建议至少提前两周)测试环境,操作系统、数据库、网络等数据结构,包括表数量、是否存在无主键表、是否有不支持数据类型、是否有不支持操作(如direct insert等)等系统需求、使用场景一定要验证OGG版本可用性!Metalink上面有很多edelivery上所没有的patch带宽估算带宽估算根据峰值产生日志量估算带宽占用假设条件假设OGG队列与日志比例为1:4。如只复制部分表则此比例可以假设为更低。假设网络传输效率为0.7假设网络传输压缩比例为1:8。根据数据内容有所变化,一般字符数据较多时压缩比例较大,二进制对象压缩效率较低带宽估算算法以客户业务高峰期每小时产生40G为例,可以估算如下带宽=40G/3600(秒/小时)/4(日志过滤比例)/8(压缩比率)*8(每字节8位)/0.7(网络传输效率)=4M实施准备实施准备实施文档准备拟定安装操作文档拟定初始化方案并与客户达成一致根据场景准备数据库脚本,如建立用户、赋予权限等准备OGG安装所需脚本,如add trandata命令脚本、目标端禁止trigger和cascade delete脚本等OGG参数文件,列出所有可能用到参数OGG命令,常用命令预先放在文本里验证参数、命令、脚本的可行性发现潜在的问题,及时寻求解决方案预订技术支持注意注意:OGG参数文件中所有关键字或参数文件中所有关键字或“,(),()”等分割符前后应当加入等分割符前后应当加入空格空格(半角!半角!),否则可能会被误认为连续的字符串,导致进程终止,否则可能会被误认为连续的字符串,导致进程终止实施准备实施准备 系统设置(源和目标)系统设置(源和目标)建立GoldenGate运行用户需访问数据库的动态库、在线日志及归档日志使用oracle用户,也可为其创建新的系统用户将其加入到oracle安装用户所在组(一般为oinstall)。为GoldenGate运行用户配置内存限制分析和抽取交易数据需一定内存,需放宽GoldenGate运行系统用户对内存大小(memory)、文件大小(fsize)、DATA、STACK等参数的值,在系统允许的情况下尽量将参数设置为-1(ulimited),一般在/etc/security/limits文件中。RAC各节点配置时钟同步GoldenGate在单节点上对所有节点日志进行解析,为了保证其在各节点抽取数据顺序的一致性,需要在各个节点主机上配置时钟同步(例如在AIX下配置NTP服务)。实施准备实施准备 网络设置网络设置OGG所有源端必须能够访问其目标主机以下端口目标端OGG的Mgr端口(缺省为7809)目标端Mgr参数DYNAMICPORTLIST中定义的端口范围。如Mgr参数文件没有配置,则自动从7840开始递增,建议保留到7850Director Server必须能够访问其管理的OGG主机以下端口目标端OGG的Mgr端口(缺省为7809)目标端Mgr参数DYNAMICPORTLIST中定义的端口范围。如Mgr参数文件没有配置,则自动从7840开始递增,建议保留到7850受管理的OGG主机应当能够访问Director Server主机所有端口Veridata Server需访问需对比的数据库主机中Veridata Agent的Mgr端口Veridata Agent的DYNAMICPORTLIST中定义的端口(缺省为7840起)实施准备实施准备 存储空间(源和目标)存储空间(源和目标)为GoldenGate分配空间建议在共享阵列,可以在单节点失败后由其它节点接管,通过脚本可以与集群软件集成GoldenGate软件所需空间主要取决于队列的产生速度,一般建议为其保留相当于数据库1-3天归档日志量的存储空间。存储划分完后建立OGG安装目录并将该目录Owner设为OGG运行用户为数据库保留3-5天归档日志在重启时需要从上次读取日志重新开始长交易需要其开始时段的日志当前理论上可以通过脚本获取当前GoldenGate所需日志序列号,然后与RMAN等工具集成控制归档日志自动删除。在OGG后继版本会有所增强。实施准备实施准备 数据库(源)数据库(源)打开归档模式避免OGG重启无法找到对应日志配置parallelism(仅针对Oracle 9i)将LOG_PARALLELISM参数设为1,OGG不支持大于1关闭recycle bin(仅针对DDL复制)Oracle 10g R2 and later:将RECYCLEBIN初始化参数设置为OFF.Oracle 10g R1:将 _RECYCLEBIN初始化参数设置为FALSE.第二部分第二部分安装实施最佳实践安装实施最佳实践安装实施准备安装实施操作步骤安装实施操作步骤配置日常复制错误处理OGG软件安装软件安装 (源和目标)(源和目标)上传和解压OGG软件检查安装目录Owner是否是OGG运行用户配置环境变量如使用Oracle运行用户一般无需调整如非Oracle用户则建议拷贝Oracle的profile文件,至少需配置如下环境变量PATHORACLE_SIDORACLE_HOMELD_LIBRARY_PATH(Solaris,Linux),LIBPATH(AIX),SHLIB_PATH(HPUX)配置完毕可以通过能否执行sqlplus进行初步验证使用ulimit a检查内存等限制OGG软件安装软件安装-续(源和目标)续(源和目标)执行ggsci,检查是否能够进入OGG命令行界面执行create subdirs创建子目录执行edit param mgr为manager配置参数,然后尝试启动mgr进程如以上步骤均能顺利执行,则表明初步安装成功.由于以上步骤并不影响生产库运行,可以在实施前几天提前完成.打开附加日志(源)打开附加日志(源)以渐进模式打开附加日志第一步,在晚上或其他业务较空闲时段打开数据库级最小附加日志第二步,经过一段时间运行观察数据库最小附加日志对数据库是否有影响,观察日志量的增加第三步,同样选择空闲时段打开所需复制表的附加日志第四步,经过一段时间运行观察数据库是否有性能下降,归档日志量是否有明显增加如何降低附加日志影响()排除一些应用的中间表尽量排除无主键和唯一索引表(记录全部列会导致日志量显著增加)或给他们加上主键创建创建OGG所需数据库用户(源和目标)所需数据库用户(源和目标)OGG用户在源端所需权限(DML)GRANT CONNECT TO goldengate;GRANT ALTER ANY TABLE TO goldengate;/用于添加表附加日志GRANT ALTER SESSION TO goldengate;GRANT CREATE SESSION TO goldengate;GRANT FLASHBACK ANY TABLE TO goldengate;GRANT SELECT ANY DICTIONARY TO goldengate;GRANT SELECT ANY TABLE TO goldengate;GRANT RESOURCE TO goldengate;目标端DML复制需所有源端权限加上GRANT INSERT ANY TABLE TO goldengate;GRANT UPDATE ANY TABLE TO goldengate;GRANT DELETE ANY TABLE TO goldengate;如需复制DDL,则两端均需要sysdba权限grant sysdba to goldengate;OGG最佳实践最佳实践 宕机初始化宕机初始化完成前面所述的所有准备工作根据约定时间停止业务应用源端锁定除去锁定除去OGG数据库用户以外其余所有用户数据库用户以外其余所有用户停止停止Oracle内部的所有内部的所有Job关闭数据库重新启动数据库重新启动数据库配置配置OGG抽取进程和本地队列抽取进程和本地队列启动OGG抽取进程,验证抽取进程是否可以正常启动,主要是验证是否能正常读取日志观察是否有数据被抽取出来,如有则说明尚有其它连接在修改数据,需找出原因并停止停止OGG抽取进程可使用脚本记录部分主要表或所有表记录总数关闭数据库OGG最佳实践最佳实践 宕机初始化宕机初始化(续一续一)源端使用RMAN/可传输表空间/BCV等方式将数据导出在源端打开数据库启动源端抽取进程(也可重新配置一遍,注意清除旧的队列)解开锁定的其它用户解开锁定的其它用户,恢复恢复job启动应用启动应用观察数据抽取是否正常目标端将数据导入到目标库打开数据库解锁其它用户(如允许也可保持锁定状态防止修改数据)对比记录的源端数据库记录数与目标记录数是否相同对比记录的源端数据库记录数与目标记录数是否相同,验证恢复完成验证恢复完成禁止目标库禁止目标库Trigger禁止目标库中禁止目标库中cascade delete处理其它对象如删除或者重建物化视图等处理其它对象如删除或者重建物化视图等OGG最佳实践最佳实践 宕机初始化宕机初始化(续二续二)源端配置Data Pump和远程队列启动Data Pump观察数据传输是否正常目标端配置Replicat注意目标端用户权限比源端多几个启动Replicat观察数据是否正常注:此时一般将reperr设置为abended模式(即默认模式)并配置discardfile参数,遇有错误进程可以立即中止,便于及时查找错误如Replicat速度跟不上队列增长速度,需进行Replicat拆分,具体方法见调优部分OGG最佳实践最佳实践 基于基于SCN号的无宕机初始化号的无宕机初始化 前提条件客户具有能够将目标恢复到某一特定SCN号的备份/恢复工具RMAN(强烈推荐)Exp/imp操作步骤源端完成前面所述的所有准备工作配置OGG抽取进程和本地队列启动OGG抽取进程并记录开始时间查询数据库中当前交易最早的开始时间,直到该时间超过OGG抽取启动时间点查询和记录此时SCN号为最小所需SCN可每隔半小时或一小时重新查询SCN号和记录此时全库所有表或部分关键业务表中记录数OGG最佳实践最佳实践 基于基于SCN号的无宕机初始化号的无宕机初始化(续一续一)目标端使用备份/恢复工具恢复目标库到指定SCN号如果是RMAN可以边恢复边观察,直到恢复出来的SCN号和时间点大于记录的最小所需SCN号查询目标库中全部表或关键表记录,看其是否大致符合源端记录数源端使用logdump查找目标SCN的相邻SCN号可以在logdump中通过ggstoken detail显示SCN号注意注意:SCN号只存在于每个交易的第一条记录中注意注意:logdump没有命令定位相邻SCN,只能首先通过时间戳判定应该在某几个队列文件中,然后检查各个队列中第一个记录的SCN号,再根据二分发查找符合条件的SCN边界查找该位置之前小于该SCN号的若干条记录,其在目标端状态应为Insert:应当在目标端存在Delete:应当在目标端不存在Update:应当在目标端存在,但具体值可能与目标不符OGG最佳实践最佳实践 基于基于SCN号的无宕机初始化号的无宕机初始化(续二续二)源端查找该位置之后大于该SCN号的若干条记录,对其在目标端状态进行核实Insert:应当在目标端不存在Delete:应当在目标端存在Update:应当在目标端存在如通过上面几条验证,则证明目标确实精确恢复到指定SCN对目标端Trigger/Cascade Delete/物化视图等进行处理配置Data Pump并启动数据传输目标端配置Replicat注:此时一般将reperr设置为abended模式(即默认模式)并配置discardfile参数,遇有错误进程可以立即中止,便于及时查找错误使用以下命令启动ReplicatStart myrep,AFTERCSN 观察数据复制是否正常Replicat使用数据库检查点使用数据库检查点Replicat的数据库检查点是可选的,但强烈建议采用文件检查点的读写与交易的提交是分离的数据库检查点可以与交易一起进行提交,可以更好的保证数据一致性使用数据库检查点的方法在OGG安装根目录下编辑GLOBALS文件加入一行指定检查点表:CHECKPOINTTABLE goldengate.checkpoint_tab重起Mgr进程,进入ggsci生成检查点表(该用户需要有建表权限):dblogin userid goldengate,password goldengateadd checkpointtable添加Replicat时不要使用nodbcheckpoint,会自动使用预定义检查点表add rep repda,exttrail/ggs/dirdat/da问题:GGS ERROR 516 Extract read可能原因是检查点表不存在或者表中该进程对应检查点行已损坏通过info replicat命令查看文件检查点,若无问题可以在OGG安装目录下使用convchk工具使replicat重启时重建检查点表中的检查点convchk .目标库常见特殊处理目标库常见特殊处理禁止目标端所有Trigger,防止次生数据产生禁止目标端所有cascade delete引用,OGG复制过来的delete操作会跟自动删除产生冲突物化视图删除目标端无用的物化视图如目标端需要物化视图,则可以在目标端重建,避免使用OGG复制物化视图本身数据如需复制源端物化视图到目标物化视图,需参考相关手册注意:物化视图均包含有一个基表,在参数文件中使用*时需要通过tableexclude或者mapexclude排除第二部分第二部分安装实施最佳实践安装实施最佳实践安装实施准备安装实施操作步骤配置日常复制错误处理配置日常复制错误处理OGG最佳实践最佳实践 配置数据复制错误处理配置数据复制错误处理一般只针对于目标端的Replicat进程常用参数reperror default,ABEND|DISCARD|IGNOREAbend(缺省模式),遇错即停,等待处理错误后再重启。建议配置为日常复制正常运行模式。Discard,将出错数据放到discardfile供以后分析,继续处理以后数据。仅用于确认已知有部分错误数据,又不想影响后继处理的情况。注意:如果出错数据较多会堆满discardfile,而且有可能忽略掉未知的数据错误,所以最佳选择依然是重新初始化该部分数据或者改变复制范围并使用abend模式。ddlerror default,ABEND|DISCARD|IGNORE缩小复制范围,只复制必须的DDL操作,错误处理设置为abend模式(缺省)DISCARDFILE discard.txt,APPEND|PURGE,MEGABYTES 该参数不是必须参数,但是一定要配置一旦数据出错,可以找到出错数据的详细信息OGG最佳实践最佳实践 配置数据复制错误处理(续一)配置数据复制错误处理(续一)常用参数HANDLECOLLISIONS依据主键处理冲突数据,一般只用于初始化对于无主键表无法处理冲突,可能会导致重复记录打开此参数则所有数据错误不管reperror如何配置均不再写discard文件,即所有数据冲突信息被默认规则处理,没有任何没有任何日志,日志,因此日常复制不建议使用该参数可予以考虑的特殊场景只需新增数据,无需复制历史数据注意:该参数仅处理数据本身的Insert/Delete冲突,如果出现两端映射或其它结构性问题Replicat进程依然会abend,不能被忽略
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 商业管理 > 营销创新


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!