Oracle GoldenGate安装步骤.docx
《Oracle GoldenGate安装步骤.docx》由会员分享,可在线阅读,更多相关《Oracle GoldenGate安装步骤.docx(9页珍藏版)》请在冰豆网上搜索。
![Oracle GoldenGate安装步骤.docx](https://file1.bdocx.com/fileroot1/2022-11/16/ccc5e5f0-8abb-419d-a781-5c0a717530b4/ccc5e5f0-8abb-419d-a781-5c0a717530b41.gif)
OracleGoldenGate安装步骤
GoldenGate软件安装部署文档
此方案为某客户的配置方案,具体参数可以不考虑,请根据自己的实际情况修改。
1GoldenGate部署方案
为GoldenGate阵列上为GoldenGate划分27G存储空间,目录为”/export/home/oracle/ggs”以保存7-10天GoldenGate队列文件,保留目标数据库初始化期间的增量数据,在目标数据库初始化完成后,追加增量数据,使主备端数据库数据同步。
2GoldenGate软件安装配置步骤
2.1实施前准备
a.阵列上为GoldenGate软件划分100G左右的存储空间,并创建文件系统。
也可在现有文件系统中建立一个目录,GoldenGate对于安装目录没有任何限制。
b.源数据库应当处于归档模式,并且建议保留3天以上的归档日志;
c.源数据库是RAC环境,GoldenGate可以只运行于单个节点,需要将其它节点归档日志目录通过NFS共享出来,并装载到GoldenGate运行节
d.GoldenGate要求RAC各节点之间配置时钟同步,必须为各个节点配置时钟同步服务(如NTP服务)。
e.关于C++编辑器xlcruntime9.0version.和Oracle用户的环境变量设置.
●setenvPATH:
$PATH
●setenv:
$
◆SunSolarisLD_LIBRARY_PATH
ExampleLD_LIBRARY_PATH=/lib路径/;exportLD_LIBRARY_PATH
f.由双方工程师共同确定所需要复制的表以及划分复制通道。
2.2源端数据库及系统配置
a.在源端,创建GoldenGate系统用户,设置该用户环境变量,也可以采用oracle用户运行GoldenGate。
建议采用oracle用户运行GoldenGate,无需建立新用户。
b.创建GoldenGate数据库用户goldengate
CREATEUSERgoldengateIDENTIFIEDBYgoldengate;
GRANTdbaTOgoldengate;
c.检查源端数据库是否为归档模式,若为非归档模式,将其改为归档模式
SQL>archiveloglist;
d.检查源端数据库附加日志是否打开
SQL>selectsupplemental_log_data_minfromv$database;
将数据库附加日志打开
SQL>alterdatabaseaddsupplementallogdata;
切换日志以使附加日志生效:
SQL〉ALTERSYSTEMARCHIVELOGCURRENT;
2.3源端GoldenGate软件配置
a.在指定位置建立GoldenGate安装目录,并确认该目录属于oracle用户(或新建的GoldenGate运行用户)。
b.通过ftp上传GoldenGate软件包道安装目录,并解压缩
gzip–d*.gz
tarxvf*.tar
c.通过ftp上传GoldenGate许可文件pw
d.在安装目录下执行./ggsci命令进入命令行界面,如能顺利进入,则证明许可可用;
e.在ggsci环境下创建GoldenGate子目录
GGSCI>createsubdirs
f.Mgr进程配置
Ø编辑mgr进程参数
GGSCI>editparammgr
port7809
Ø启动Mgr进程
GGSCI>startmgr
Mgrisrunning!
g.在GGSCI命令行中登陆数据库,为需要复制的数据表添加trandata
1〉生成所有要复制表的增加附加日志的脚本
Sqlplus‘/assysdba’
spooltrandata.txt
setheadoff
setlinesize1000
setpagesize1000
select'addtrandata'||owner||'.'||table_namefromdba_tableswhereowner='EOMS'
spooloff
2〉执行trandata.txt脚本,为要复制的表增加附加日志
Ggsci>dbloginuseridgoldengate,passwordgoldengate
Ggsci>obey./dirsql/addtran.txt
执行完毕通过下列sql检查,发现尚有部分表遗漏:
selecttable_namefromall_tableswhereowner=''andtable_namenotin(selectdistincttable_namefromdba_log_group_columnswhereowner='EOMS');
通过以下sql生成对这些遗漏表的添加附加日志语句:
setheadoff
setlinesize1000
setpagesize1000
select'addtrandata'||owner||'.'||table_namefromall_tableswhereowner=''andtable_namenotin(selectdistincttable_namefromdba_log_group_columnswhereowner='EOMS');
将结果重新在ggsci中执行,再次通过前面语句查询,确认除去部分大表(超过32列并无主键)外已经全部添加成功。
3〉.对特殊的大于32列的无主键表进行二次处理
对于列长超过32列,无法直接添加trandata的数据表,根据脚本’大于32列表生成添加附加日志脚本_getAddTrandataImp.txt’中的提示执行1-4步,以获取添加trandata的sql。
然后通过手工排除其中不复制的表(包括tmp_和bak_开头以及物化试图日志)。
通过sqlplus“/assysdba”登陆到oracle,执行获得的sql语句。
4〉检查db_log_groups,看是否还有没有加上的附加日志
selecttable_namefromall_tableswhereowner=''andttable_namenotin(selectdistincttable_namefromdba_log_group_columnswhereowner='EOMS');
确认所有需复制表添加附加日志完毕。
h.抓取进程配置
Ø添加extbj进程,从数据库日志中抓取有效数据
GGSCI>addextextbj,tranlog,beginnow
Ø添加本地队列bj、extbj进程捕捉到的有效数据将写入本地队列
GGSCI>addexttrail/export/home/oracle/ggs/dirdat/bj,extextbj,megabytes200
Ø为extbj进程配置参数
GGSCI>editparamextbj
extractextbj
useridgoldengate,password********
tranlogoptionsaltarchivelogdestinstancectais1/oralog1
exttrail/export/home/oracle/ggs/dirdat/bj
dynamicresolution
tableEOMS.*;
i.启动extbj抽取进程,抽取有效数据,写入本地队列,保存数据
GGSCI>startext*
j.配置dpebj进程
Ø添加dpebj进程,将本地队列的数据抽取出来
GGSCI>addextdpebj,exttrailsource/export/home/oracle/ggs/dirdat/bj
Ø添加远端队列,将dpebj进程捕捉到的数据将写入该队列
GGSCI>addrmttrail/export/home/oracle/ggs/dirdat/bj,extdpebj,megabytes200
Ø为dpebj进程配置参数
GGSCI>editparamdpebj
extractdpebj
passthru
REPORTAT01:
59
reportrolloverat02:
00
rmthost10.224.144.8,mgrport7809,compress
rmttrail/export/home/oracle/ggs/dirdat/bj
dynamicresolution
tableEOMS.*;
k.确认网络连通和目标mgr已经启动后启动dpesz/dpekj进程开始数据传输
GGSCI>startdpe*
2.4目标端数据库初始化
本次目标端数据库初始化由oracle的工程师完成。
在oracle工程师执行冷备份的同时,GoldenGate工程师清除抽取进程并重新执行配置,删除所有试运行期间的队列:
GGSCI>deleteext*
GGSCI>addextextbj,tranlog,beginnow
GGSCI>addexttrail/export/home/oracle/ggs/dirdat/bj,extextbj,megabytes200
Ggsci>quit
Cddirdat
Rm–rf*
待备份执行完毕,数据库重新打开后立即执行如下命令启动抽取,进入正常复制:
GGSCI>alterextbj,beginnow
GGSCI>startext*
Ggsci>infoall
确认抽取进程运行正常。
2.5目标端系统及数据库配置
a.目标端系统在/下建立goldengate目录。
b.目标端系统使用oracle用户作为运行GoldenGate用户,未再建立新用户。
c.创建GoldenGate数据库用户goldengate
由于一重集团使用冷备份初始化目标端,因此使用与源端相同的用户即可。
d.目标端禁止外键和触发器:
对一些cascadedelete和trigger操作进行关闭处理,上传执行操作的sql脚本到/oradata/goldengate/dirsql目录下,在当前目录sysdba用户登录。
禁止外键:
cd/oradata/goldengate/dirsql
sqlplus/
sql>spooldisableFKOut.sql
sql>@disableFK.sql
sql>spooloff
sql>exit
vidisableFKOut.sql
去掉spooloff等无关语句,只留下alter语句
sqlplus/
sql>spooldisableFK.out
sql>@disableFKOut.sql
sql>spooloff
vidisableFK.out
验证各操作成功。
禁止trigger操作