Oracle12Cogg配置

前端之家收集整理的这篇文章主要介绍了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---

猜你在找的Oracle相关文章