Oracle12Cogg配置
Oracle12C ogg配置 配置OGG安装目录的共享: 这里的共享就是把OGG安装到一个共享的设备上,把该目录同时挂到不同节点的相同位置上,这样当 一个节点挂了之后,可以在另一个节点启动和维护OGG。 所以我们上面在配置的时候,才会同时在2个节点操作,并且参数名称也一致。如果不考虑这种冗余 的方案,可以直接在其中一个节点上操作,不用搞的这么麻烦。 我们这里就在一个节点操作,不搞那么复杂了,这里仅说明一下。 上面的配置完成之后,就和我们单实例操作类似了。不过在参数配置这块会有细微区别。
--此处安装的是Version 12.2.0.1.1 OGGCORE_12.2.0.1.0_PLATFORMS_151211.1401_FBO 可以去oracle官网下载 --目标和原库都要配置 SQL>altersystemsetenable_goldengate_replication=true; Source系统设置 解压缩ogg安装包 #su-oracle unzipfbo_ggs_Linux_x64_shiphome.zip cdfbo_ggs_Linux_x64_shiphome/Disk1/ ./runInstaller 在bash_profile中添加OGG_HOME exportOGG_HOME=$ORACLE_BASE/ogg exportPATH=$ORACLE_HOME/bin:$PATH:$OGG_HOME export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$OGG_HOME:/lib:/usr/lib aliasggsci='rlwrap/u01/app/oracle/ogg/ggsci' 开启数据库级别日志补充 SYS@devdb1>ALTERDATABASEFORCELOGGING; SYS@devdb1>ALTERDATABASEADDSUPPLEMENTALLOGDATA; SYS@devdb1>ALTERSYSTEMARCHIVELOGCURRENT; Systemaltered. SYS@devdb1>colopen_modefora10 SYS@devdb1>SELECTname,open_mode,force_logging,supplemental_log_data_minFROMv$database; 创建测试用户 SYS@devdb1>connnew_jk/XH1Q2W3E4R@PDBJK SNOW@devdb1>CREATETABLEt1(idINTPRIMARYKEY,nameVARCHAR2(10)); 12csource库需要在root容器中创建OGG管理用户(12c使用intergated extract 需要在cdb创建管理用户) conn/assysdba SQL>conn/assysdba Connected. SQL>createuserC##GGADMINidentifiedbyggadmin; Usercreated. SQL>execdbms_goldengate_auth.grant_admin_privilege('C##GGADMIN',container=>'ALL'); PL/SQLproceduresuccessfullycompleted. SQL>grantdbatoc##ggadmincontainer=all; Grantsucceeded. SQL>connectc##ggadmin/ggadmin 设置全局参数 oggglobal GGSCI>EDITPARAMS./GLOBALS GGSCHEMAc##ggadmin Target系统设置 vi/home/oracle/.bash_profile altersessionsetcontainer=pdb1; connjktmp/jktmp1@jktmp createtablet1(idintprimarykey,namevarchar2(20)); 12ctarget库需要在pdb中创建OGG管理用户及其表空间 altersessionsetcontainer=pdb1; CREATETABLESPACEgoldengateDATAFILE'/data/oradata/jktmp/goldengate01.dbf'SIZE100mAUTOEXTENDON; CREATEUSERoggadminIDENTIFIEDBYoggadminDEFAULTTABLESPACEgoldengate; GRANTdbaTOoggadmin; GGSCHEMAoggadmin 配置管理进程 GGSCI>EDITPARAMMGR PORT7809 AUTOSTARTEXTRACT* AUTORESTARTEXTRACT*,RETRIES3,WAITMINUTES5,RESETMINUTES10 开启表级别日志补充需要加上PDB,追加对象为用户pdbjk.new_jk下所有表 DBLOGINUSERIDc##ggadmin,PASSWORDggadmin ADDSCHEMATRANDATApdbjk.new_jk ADDTRANDATApdbjk.new_jk.* 创建初级集成提取组ex1,源端是双节点RAC ADDEXTRACTex1,integratedTRANLOG,BEGINNOW 为初级提取组ex1指定本地trail文件(extract文件量比较大的话,需要足够的磁盘) ADDEXTTRAIL/u01/app/oracle/ogg/dirdat/ex,EXTRACTex1MEGABYTES5 注册extractex1 REGISTEREXTRACTex1DATABASECONTAINER(pdbjk) --配置初级提取组参数文件enableddlreplicate(ddlincludeall) GGSCI>EDITPARAMSex1 EXTRACTex1 SETENV(ORACLE_SID='sidjk1') USERIDc##ggadmin,255);">EXTTRAIL/u01/app/oracle/ogg/dirdat/ex --ddlincludeall ddloptionsreport TABLEpdbjk.new_jk.*; 创建投递组dp1,设置本地trail文件 ADDEXTRACTdp1EXTTRAILSOURCE/u01/app/oracle/ogg/dirdat/ex 为投递进组dp1设置target端trail文件地址 ADDRMTTRAIL/u01/app/oracle/ogg/dirdat/jk/rt,EXTRACTdp1 配置投递组dp1参数文件 GGSCI>EDITPARAMSdp1 EXTRACTdp1 RMTHOST10.180.100.9,MGRPORT7809 RMTTRAIL/u01/app/oracle/ogg/dirdat/jk/rt pdbjk.new_jk.*; Target系统 AUTOSTARTREPLICAT* AUTORESTARTREPLICAT*,WAITMINUTES2,RETRIES5 创建检查点表 DBLOGINUSERIDoggadmin@jktmp,PASSWORDoggadmin ADDCHECKPOINTTABLEoggadmin.checkpointtable 在全局环境中添加检查点表 EDITPARAMS./GLOBALS CHECKPOINTTABLEoggadmin.checkpointtable 创建复制组rt1,设置读取trail文件路径以及检查点表加上PDB ADDREPLICATrt1,EXTTRAIL/u01/app/oracle/ogg/dirdat/pdb1.oggadmin.checkpointtable 为复制组rt1配置参数文件初始化的时候加上HANDLECOLLISIONS,初始化之后去掉 GGSCL>EDITPARAMrt1 REPLICATSETENV(ORACLE_SID='xhtmp') USERIDoggadmin@jktmp,0);">HANDLECOLLISIONS ASSUMETARGETDEFS ddloptionsreport DISCARDFILE/u01/app/oracle/ogg/discards.dsc,append,megabytes1024 TABLEEXCLUDEpdbjk.new_jk.SYS_EXPORT_SCHEMA* MAPpdbjk.new_jk.*,TARGETjktmp.*; 测试环节 启动source管理进程 GGSCI(node1.localdomain)1>STARTMGR 启动target管理进程 GGSCI(oggtarget)1>STARTMGR 启动source提取进程 GGSCI(node1.localdomain)2>STARTEX1 启动source投递进程 GGSCI(node1.localdomain)3>STARTDP1 --初始化数据导出的时候指定flashback_scn SELECTcurrent_scnFROMv$database expdpnew_jk/XH1Q2W3E4R@pdbjkdirectory=dump_dirdumpfile=new_jk20160526.dumplogfile=new_jk20160526.logencryption_password=12qw3edcflashback_scn=7851588331compression=all impdpjktmp/jktmp@jktmpDIRECTORY=dump_dirinclude=tabledumpfile=new_jk20160526.dumplogfile=new_jk20160526.logremap_schema=new_jk:jktmpremap_tablespace=new_jk:jktmp,idx_newjk:jktmp,sit_jk:jktmp,JK_MIGR:jktmpencryption_password=12qw3edcTABLE_EXISTS_ACTION=truncate 启动target复制进程 GGSCI(oggtarget)2>startreplicatrt1,0);">aftercsn7863029544 确认source进程状态 GGSCI(node1.localdomain)4>INFOALL ProgramStatusGroupLagatChkptTimeSinceChkpt MANAGERRUNNING EXTRACTRUNNINGDP100:00:0000:00:08 EXTRACTRUNNINGEX100:00:0000:00:03 确认target进程状态 GGSCI(oggtarget)3>INFOALL REPLICATRUNNINGRT100:00:0000:00:02 源端节点node1插入数据 SNOW@devdb1>insertintot1values(1,'SNOW'); SNOW@devdb1>commit; 源端节点node2插入数据 SNOW@devdb2>insertintot1values(2,'LILY'); SNOW@devdb2>commit; 复制端验证 SNOW@oggtarget>select*fromt1; IDNAME ---------------------------------------- 1SNOW 2LILY 实验结束。 OracleGoldenGate是一个轻量级软件,在Oracle数据库上安装配置是一种松耦合的状态,这点非常理想。无论是在单实例环境还是多实例的RAC环境只需要做少量的配置就可以生效,软件的启动和关闭也不需要数据库做任何设置。从安装的角度来说,比DataGuard要轻便的多。DataGuard是一种“侵入式”配置。需要修改Oracle本身的配置文件。 ---转载于http://blog.csdn.net/cloudsnowe/article/details/51613364--- (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |