GoldenGate Guide.docx

上传人:b****0 文档编号:12821531 上传时间:2023-04-22 格式:DOCX 页数:46 大小:337.31KB
下载 相关 举报
GoldenGate Guide.docx_第1页
第1页 / 共46页
GoldenGate Guide.docx_第2页
第2页 / 共46页
GoldenGate Guide.docx_第3页
第3页 / 共46页
GoldenGate Guide.docx_第4页
第4页 / 共46页
GoldenGate Guide.docx_第5页
第5页 / 共46页
点击查看更多>>
下载资源
资源描述

GoldenGate Guide.docx

《GoldenGate Guide.docx》由会员分享,可在线阅读,更多相关《GoldenGate Guide.docx(46页珍藏版)》请在冰豆网上搜索。

GoldenGate Guide.docx

GoldenGateGuide

 

OracleGoldenGold安装手册

 

2011.12

目录

1GoldenGate简介1

1.1GoldenGate目的1

1.2GoldenGate和同类产品的差异1

1.2.1支持异构平台1

1.2.2交易的完整性1

1.3GoldenGate产品2

2GoldenGate技术原理2

2.1GoldenGate架构和原理2

2.2GoldenGateCheckPoint3

2.3Parameters,ProcessGroups4

2.4GoldenGate配置过程4

3GoldenGate环境准备5

3.1创建系统用户5

3.2源端系统配置6

3.3目标端系统配置7

3.4安装goldengate软件7

3.5数据库方面的准备8

3.5.1在源端数据库中打开归档模式8

3.5.2在源端数据库中打开forcelogging9

3.5.3在源端数据库中打开supplementallog9

3.5.4在源端数据库中关闭回收站10

3.5.5确保goldengate能够连接到数据库的ASM实例10

3.5.6字符集11

3.5.7创建goldengate数据库用户12

3.5.8UNDO的设置13

3.6安装DDLOBJECTS14

3.6.1执行marker_setup14

3.6.2执行ddl_setup15

3.6.3执行role_setup16

3.6.4将创建的角色授权给goldengate用户16

3.6.5启用DDL触发器16

3.7安装可选的性能工具17

3.7.1安装dbms_shared_pool包17

3.7.2ddl_pin17

4配置goldengate18

4.1创建goldengate工作目录18

4.2创建trail文件存放目录18

4.3配置MANAGER18

4.4全局参数设置19

4.5配置源端extract20

4.6配置目标端replicat23

4.7ADDTRANDATA25

5数据初始化(initialdataload)27

5.1通过expdp/impdp来迁移初始数据27

5.1.1准备工作27

5.1.2在源端和目标端打开MANAGER27

5.1.3在源端,执行expdp导出数据28

5.1.4将初始数据导入到目标数据库28

5.1.5在目标端,启动复制进程29

5.2通过文件到replicat方式来迁移初始数据30

5.2.1准备工作30

5.2.2在源端和目标端打开MANAGER30

5.2.3配置初始化extract30

5.2.4在目标库中创建表空间、用户及表结构31

5.2.5在源端,打开抽取进程32

5.2.6在源端,启动initial-loadextract32

5.2.7配置初始化replicat32

5.2.8在目标端,启动initial-loadreplicat33

5.2.9在目标端,启动复制进程33

6日常管理和维护35

6.1故障切换35

6.2一些错误和警告信息36

6.2.1错误36

6.2.2警告37

1GoldenGate简介

1.1GoldenGate目的

●实时报表

●实时BI

●无缝升级、迁移

●数据集中(EPM,Exadata)

1.2GoldenGate和同类产品的差异

1.2.1支持异构平台

核心架构

●支持多数据库平台

●规范的跟踪文件(trailfile)格式

●规范的元数据定义

●自动通用数据类型映射

数据抓取方法

●日志截取(直接文件访问)

●数据库内建日志接口(logAPI)

●Intercepts/exits

●Vendor-providedaccessmodules

针对Oracle的特性

●支持RAC,ASM

●支持IOT(Index-organizedTable)

●支持ClusteredTable,objectTable

●支持DDL

●ALO(archivelogonly)模式

●Off-platformcapture(LOGSOURCE)

●Multi-threadedcapture

1.2.2交易的完整性

交易边界(Transactionboundaries)

●在GG跟踪文件中记录

●根据提交顺序记录交易

●根据recordfiltering或者trailsplits自动调整Boundaries

交易完整性(Transactionintegrity)

●Checkpointingandrecoveryarebasedontransactionboundaries

●Originalcommitsequenceismaintainedbythedeliveryprocess

1.3GoldenGate产品

ForUnix/Linux,Windows

●GoldenGateTDM(TransactionalDataManagement)

●GoldenGateDirector

●GoldenGateVeridata

●TDMIntegrationEdition

●TDMNetezzaIntegration

●TDMGreenplumIntegration

ForNonStop

2GoldenGate技术原理

2.1GoldenGate架构和原理

2.2GoldenGateCheckPoint

抓取过程中的检查点

写入过程中的检查点

2.3Parameters,ProcessGroups

GoldenGate进程的参数文件以ASCII编码保存。

进程组包含以下组件:

●Extract/replicat进程

●相关参数文件

●相关检查点文件

●其他进程相关的文件

2.4GoldenGate配置过程

3GoldenGate环境准备

源端是一个RAC

db1db2:

RHEL5/ORACLE10.2.0.4/ASM

目标端是一个单机

linuxgg:

RHEL5ORACLE10.2.0.4+ASM

两台主机均已创建数据库,sid分别为moon和moongg

配置moon到moongg的数据同步

goldengate版本11.1.1.0

3.1创建系统用户

在源端(包括db1和db2)和目标端创建用户,用于管理GoldenGate:

useradd-goinstall-Gdbagoldengate

passwdgoldengate

配置资源限制:

官方建议尽可能将资源限制放开,其实我们可以根据具体情况进行配置,但不能设得太小

cat>>/etc/security/limits.conf<

goldengatesoftmemlock3145728

goldengatehardmemlock3145728

goldengatesoftnproc200

goldengatehardnproc1024

goldengatesoftstack-

goldengatehardstack-

goldengatesoftfsize-

goldengatehardfsize-

EOF

3.2源端系统配置

RAC环境中,GoldenGate应该安装在一个共享存储中,这样当运行GoldenGate相关进程的节点出现故障时,可以将该目录挂载到另一个节点中继续运行以下的在db1上做就可以了

这里有一个分区/dev/sdg1,可以被db1和db2访问。

我们将其格式化ext3文件系统,并挂载到db1上(在正常情况下,我们在db1上启动extract进程):

[root@db1~]#mkfs.ext3/dev/sdg1

mke2fs1.35(28-Feb-2004)

Filesystemlabel=

OStype:

Linux

Blocksize=4096(log=2)

Fragmentsize=4096(log=2)

12500992inodes,24993115blocks

1249655blocks(5.00%)reservedforthesuperuser

Firstdatablock=0

Maximumfilesystemblocks=4294967296

763blockgroups

32768blockspergroup,32768fragmentspergroup

16384inodespergroup

Superblockbackupsstoredonblocks:

32768,98304,163840,229376,294912,819200,884736,1605632,2654208,

4096000,7962624,11239424,20480000,23887872

Writinginodetables:

done

Creatingjournal(8192blocks):

done

Writingsuperblocksandfilesystemaccountinginformation:

done

Thisfilesystemwillbeautomaticallycheckedevery24mountsor

180days,whichevercomesfirst.Usetune2fs-cor-itooverride.

[root@db1~]#

挂载到db1的/opt/ggs下:

[root@db1~]#mkdir/opt/ggs

[root@db1~]#mount/dev/sdg1/opt/ggs

然后在db1中配置开机自动挂载(这一步不要在db2上做):

echo"mount/dev/sdg1/opt/ggs">>/etc/rc.local

3.3目标端系统配置

目标端是一个单机,安装到/opt/ggs下

#mkdir/opt/ggs

在源端和目标端上,赋予goldengate用户/opt/ggs目录的使用权限

chown-Rgoldengate:

oinstall/opt/ggs

chmod-R775/opt/ggs

3.4安装goldengate软件

安装GoldenGate软件很简单,解压即可

源端(db1)和目标端都做:

以goldengate用户登录

[goldengate@db1]$mkdir/opt/ggs/goldengate、

[goldengate@db1]$cpggs_Linux_x64_ora10g_64bit_v11_1_1_0_0_078.tar/opt/ggs/goldengate

[goldengate@db1]$cd/opt/ggs/goldengate

[goldengate@db1]$tar-xvfggs_Linux_x64_ora10g_64bit_v11_1_1_0_0_078.tar

源端(db1和db2)和目标端:

修改goldengate用户的环境变量配置文件(ORACLE_SID按实际情况修改)

cat>>/home/goldengate/.bashrc<

ORACLE_HOME=/opt/app/oracle/product/10.2.0/db_1

exportORACLE_HOME

ORACLE_SID=oradb1

exportORACLE_SID

GG_HOME=/opt/ggs/goldengate

exportGG_HOME

PATH=\$ORACLE_HOME/bin:

\$PATH

exportPATH

LD_LIBRARY_PATH=\$ORACLE_HOME/lib:

\$GG_HOME:

\$LD_LIBRARY_PATH

exportLD_LIBRARY_PATH

EOF

应用刚刚修改的环境变量,然后进入GoldenGate安装目录,执行lddggsci,确定需要的库文件都能够找到。

如果出现共享库文件无法找到,例如libnnz10.so=>notfound,检查LD_LIBRARY_PATH环境变量的设置

[goldengate@linuxgggoldengate]$source~/.bashrc

[goldengate@linuxgggoldengate]$cd$GG_HOME

[goldengate@linuxgggoldengate]$lddggsci

libdl.so.2=>/lib64/libdl.so.2(0x00000037a3900000)

libicui18n.so.38=>/opt/ggs/goldengate/libicui18n.so.38(0x0000002a9558c000)

libicuuc.so.38=>/opt/ggs/goldengate/libicuuc.so.38(0x0000002a958ec000)libicudata.so.38=>/opt/ggs/goldengate/libicudata.so.38(0x0000002a95c25000)

libpthread.so.0=>/lib64/tls/libpthread.so.0(0x00000037a3d00000)

libxerces-c.so.28=>/opt/ggs/goldengate/libxerces-c.so.28(0x0000002a968fc000)

libnnz10.so=>/opt/app/oracle/product/10.2.0/db_1/lib/libnnz10.so(0x0000002a96e13000)

libclntsh.so.10.1=>/opt/app/oracle/product/10.2.0/db_1/lib/libclntsh.so.10.1(0x0000002a972b4000)

libstdc++.so.6=>/usr/lib64/libstdc++.so.6(0x00000037a5d00000)

libm.so.6=>/lib64/tls/libm.so.6(0x00000037a3700000)

libgcc_s.so.1=>/lib64/libgcc_s.so.1(0x00000037a5b00000)

libc.so.6=>/lib64/tls/libc.so.6(0x00000037a3400000)

/lib64/ld-linux-x86-64.so.2(0x00000037a3000000)

libnsl.so.1=>/lib64/libnsl.so.1(0x00000037a9100000)

3.5数据库方面的准备

3.5.1在源端数据库中打开归档模式

SQL>archiveloglist

Databaselogmode       ArchiveMode

Automaticarchival      Enabled

Archivedestination      +RECOVERY_DG

Oldestonlinelogsequence  120

Nextlogsequencetoarchive 121

Currentlogsequence     121

若处于非归档模式,则改为归档模式:

SQL>shutdownimmediate

Databaseclosed.

Databasedismounted.

ORACLEinstanceshutdown.

SQL>startupmount;

ORACLEinstancestarted.

SQL>alterdatabasearchivelog;

Databasealtered.

SQL>alterdatabaseopen;

Databasealtered.

SQL>

3.5.2在源端数据库中打开forcelogging

SQL>selectforce_loggingfromv$database;

FOR

---

NO

SQL>alterdatabaseforcelogging;

Databasealtered.

SQL>selectforce_loggingfromv$database;

FOR

---

YES

3.5.3在源端数据库中打开supplementallog

SQL>selectsupplemental_log_data_minfromv$database;

SUPPLEME

--------

NO

SQL>alterdatabaseaddsupplementallogdata;

Databasealtered.

切换日志,使更改生效

SQL>altersystemswitchlogfile;

Systemaltered.

SQL>selectsupplemental_log_data_minfromv$database;

SUPPLEME

--------

YES

3.5.4在源端数据库中关闭回收站

官方的说明是,由于一个已知的问题,回收站会对DDL触发器产生影响,因此需要关闭。

由此可见,我们只需要在源库中关闭回收站即可。

SQL>showparameterrecyclebin

NAMETYPEVALUE

-----------------------------------------------------------------------------

recyclebinstringon

SQL>altersystemsetrecyclebin=off;

Systemaltered.

SQL>showparameterrecyclebin

NAMETYPE

--------------------------------------------------------------------

VALUE

------------------------------

recyclebinstring

OFF

3.5.5确保goldengate能够连接到数据库的ASM实例

RAC中所有节点都要配置

在源端TNSNAMES.ORA中配置ASM实例信息

vi$ORACLE_HOME/network/admin/tnsnames.ora

ORADB_ASM=

 (DESCRIPTION=

  (ADDRESS=(PROTOCOL=TCP)(HOST=db1-vip)(PORT=1521))

  (ADDRESS=(PROTOCOL=TCP)(HOST=db2-vip)(PORT=1521))

  (LOAD_BALANCE=yes)

  (CONNECT_DATA=

   (SERVER=DEDICATED)

   (SERVICE_NAME=+ASM)

  )

 )

在源端LISTENER.ORA中配置ASM实例的相关信息

vi$ORACLE_HOME/network/admin/listener.ora

SID_LIST_LISTENER_DB1=

 (SID_LIST=

  (SID_DESC=

   (GLOBAL_DBNAME=oradb)

   (ORACLE_HOME=/opt/app/oracle/product/10.2.0/db_1)

   (SID_NAME=oradb1)

  )

  (SID_DESC=

   (GLOBAL_DBNAME=+ASM)

   (ORACLE_HOME=/opt/app/oracle/product/10.2.0/db_1)

   (SID_NAME=+ASM1)

  )

 )

上面是db1中的配置,db2中的SID_LIST_LISTENER_xxx和SID_NAME要相应修改

重启监听

lsnrctlreload

通过sqlplussys/xxx@oradb_asmassysdba来连接asm实例,能连上则说明配置成功

3.5.6字符集

1.目标数据库的字符集必须是源数据库字符集的超集

2.数据库字符集必须为客户端应用程序字符集的超集

SQL>SHOWPARAMETERNLS_LANGUAGE

NAMETYPEVALUE

-----------------------------------------------------------------------------

nls_languagestringSIMPLIFIEDCHINESE

SQL>SHOWPARAMETERNLS_TERRITORY

NAMETYPEVALUE

-----------------------------------------------------------------------------

nls_territorystringCHINA

SQL>SELECTname,value$fromSYS.PROPS$WHEREname='NLS_CHARACTERSET';

NAME

------------------------------

VALUE$

--------------------------------------------------------------------------------

NLS_CHARACTERSET

ZHS16GBK

SQL>SHOWPARAMETERNLS_LENGTH_SEMANTICS

NAMETYPEVALUE

-----------------------------------------------------------------------------

nls_length_semanticsstringBYTE

SQL>

设置终端的字符集:

root用户登录,源(db1和db2)和目标端都做

cat>>/etc/bash

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1