GoldenGate安装、配置、实例化

63 篇文章 6 订阅
一、环境
两台Oracle VM VirtualBox虚拟机
host:master1、master2
IP:192.168.1.1、192.168.1.2
OS:Linux 2.6.32 
DB:Oracle 11.2.0.3,启用归档
OGG:ogg112101_fbo_ggs_Linux_x64_ora11g_64bit 2.2.3

二、安装OGG
在master1、master2两台上执行以下步骤:
1. 解压到OGG安装目录
cd /home/oracle/ogg
unzip ogg112101_fbo_ggs_Linux_x64_ora11g_64bit

2. 在OGG安装目录执行ggsci,在GGSCI下执行

CREATE SUBDIRS

3. 环境变量LD_LIBRARY_PATH加入OGG的安装目录

LD_LIBRARY_PATH=/home/oracle/ogg:$LD_LIBRARY_PATH export LD_LIBRARY_PATH

三、配置OGG支持sequence和DDL
1. 配置支持Oracle sequences,除特别指出的外,均在master1、master2两台上执行以下步骤:
在SQLPLUS里用SYSDBA执行以下命令,建立ogg用户并授权
CREATE USER ogg IDENTIFIED BY 123456;
GRANT CONNECT,RESOURCE,DBA TO ogg;
在OGG安装目录执行ggsci,在GGSCI下执行
EDIT PARAMS ./GLOBALS
# 输入以下内容后,保存并关闭文件
GGSCHEMA ogg
在SQLPLUS里用SYSDBA执行OGG安装目录下的sequence.sql脚本
@sequence.sql
提示用户信息时输入ogg
在SQLPLUS里用SYSDBA执行以下命令,其中ogg是第1步建立的ogg用户,wxy是要复制的schema
在master1上执行
GRANT EXECUTE on ogg.updateSequence TO wxy;
在master2上执行
GRANT EXECUTE on ogg.replicateSequence TO wxy;
在master1上执行
alter table sys.seq$ add supplemental log data (primary key) columns;

2. 配置DDL支持
在SQLPLUS里用SYSDBA用户执行以下命令,给ogg用户授予utl_file包的执行权限
GRANT EXECUTE ON utl_file TO ogg;
在SQLPLUS里用SYSDBA执行OGG安装目录下的marker_setup.sql脚本
@marker_setup.sql
提示用户信息时输入ogg
在SQLPLUS里用SYSDBA执行OGG安装目录下的ddl_setup.sql脚本
@ddl_setup.sql
提示用户信息时输入ogg
在SQLPLUS里用SYSDBA执行OGG安装目录下的role_setup.sql脚本
@role_setup.sql
提示用户信息时输入ogg
在SQLPLUS里用SYSDBA执行以下命令,其中wxy是要复制的schema
GRANT GGS_GGSUSER_ROLE TO wxy;
在SQLPLUS里用SYSDBA执行OGG安装目录下的ddl_enable.sql脚本
@ddl_enable.sql
在SQLPLUS里用SYSDBA执行OGG安装目录下的ddl_pin.sql脚本
@ddl_pin ogg

四、在源和目标库上配置OGG
1. 建立管理参数文件,在OGG安装目录执行ggsci,在GGSCI下执行
EDIT PARAMS MGR
# 输入以下内容后,保存并关闭文件
PORT 7809
DYNAMICPORTLIST 7810-7820, 7830
AUTOSTART ER t*
AUTORESTART ER t*, RETRIES 4, WAITMINUTES 4
STARTUPVALIDATIONDELAY 5
PURGEOLDEXTRACTS /home/oracle/ogg/dirdat/tt*, USECHECKPOINTS, MINKEEPHOURS 2
这步在master1、master2两台上执行,两个机器的MGR相同配置

2. 配置主抽取进程,在master1的OGG安装目录执行ggsci,在GGSCI下执行 
EDIT PARAMS pri_ext
# 输入以下内容后,保存并关闭文件
EXTRACT pri_ext
USERID ogg, PASSWORD 123456
EXTTRAIL /home/oracle/ogg/dirdat/lt
DDL
SEQUENCE wxy.*;
TABLE wxy.*;

FLUSHCSECS 10
EOFDELAYCSECS 10

3. 配置数据泵进程,在master1的OGG安装目录执行ggsci,在GGSCI下执行 
EDIT PARAMS pum_ext
# 输入以下内容后,保存并关闭文件
EXTRACT pum_ext
USERID ogg, PASSWORD 123456
RMTHOST 192.168.1.2, MGRPORT 7809
RMTTRAIL /home/oracle/ogg/dirdat/rt
SEQUENCE wxy.*;
TABLE wxy.*;

FLUSHCSECS 10
EOFDELAYCSECS 10

4. 建立检查点,在master2的OGG安装目录执行ggsci,在GGSCI下执行 
DBLOGIN USERID ogg, PASSWORD 123456
ADD CHECKPOINTTABLE ogg.cpt
EDIT PARAMS ./GLOBALS
# 添加以下内容后,保存并关闭文件
CHECKPOINTTABLE ogg.cpt

5. 配置复制进程,在master2的OGG安装目录执行ggsci,在GGSCI下执行 
EDIT PARAMS rep
# 输入以下内容后,保存并关闭文件
REPLICAT rep
USERID ogg, PASSWORD 123456
DBOPTIONS SUPPRESSTRIGGERS, DEFERREFCONST
DDL
ASSUMETARGETDEFS
DISCARDFILE /home/oracle/ogg/disc
MAP wxy.*, TARGET wxy.*;

EOFDELAYCSECS 10

五、配置Oracle数据库
在master1、master2两台上,在SQLPLUS里用SYSDBA执行以下命令在库级添加补充日志
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
ALTER SYSTEM SWITCH LOGFILE;
SELECT SUPPLEMENTAL_LOG_DATA_MIN FROM V$DATABASE;
-- 输出应该为YES 或 IMPLICIT
exec dbms_goldengate_auth.grant_admin_privilege('WXY');

六、使用To direct bulk load to SQL*Loader方式实例化并开始OGG复制
1. 准备测试的初始化结构和数据,用wxy用户执行下面的SQL语句(这里的wxy用户已经授予了DBA权限)
-- master 1:
create table t1 (a int primary key);
CREATE SEQUENCE WXY.SEQ1 START WITH 0 MAXVALUE 99999999999 MINVALUE 0 NOCYCLE NOCACHE NOORDER;
insert into t1 select seq1.nextval from dual;
insert into t1 select seq1.nextval from dual;
insert into t1 select seq1.nextval from dual;
insert into t1 select seq1.nextval from dual;
commit;

-- master 2:
create table t1 (a int primary key);
CREATE SEQUENCE WXY.SEQ1 START WITH 0 MAXVALUE 99999999999 MINVALUE 0 NOCYCLE NOCACHE NOORDER;

2. 启动OGG管理进程,在master 1、master 2的OGG安装目录执行ggsci,在GGSCI下执行
START MANAGER

3. 添加初始抽取进程,在master 1的OGG安装目录执行ggsci,在GGSCI下执行
ADD EXTRACT init_ext, SOURCEISTABLE
EDIT PARAMS init_ext
# 输入以下内容后,保存并关闭文件
EXTRACT init_ext
USERID ogg, PASSWORD 123456
RMTHOST 192.168.1.2, MGRPORT 7809
RMTTASK replicat, GROUP init_rep
TABLE wxy.*;

4. 添加初始复制进程,在master 2的OGG安装目录执行ggsci,在GGSCI下执行
ADD REPLICAT init_rep, SPECIALRUN
EDIT PARAMS init_rep
# 输入以下内容后,保存并关闭文件
REPLICAT init_rep
USERID ogg, PASSWORD 123456
BULKLOAD
ASSUMETARGETDEFS
MAP wxy.*, TARGET wxy.*;

5. 注册初始抽取进程到数据库,在master 1的OGG安装目录执行ggsci,在GGSCI下执行
DBLOGIN USERID ogg, PASSWORD 123456
REGISTER EXTRACT init_ext DATABASE

6. 在master 1的数据库上配置归档日志删除策略
rman target /
CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON ALL STANDBY

7. 配置抽取进程,在master 1的OGG安装目录执行ggsci,在GGSCI下执行
# 添加主抽取进程
ADD EXTRACT pri_ext, TRANLOG, BEGIN NOW
# 添加本地trail文件
ADD EXTTRAIL /home/oracle/ogg/dirdat/lt, EXTRACT pri_ext
# 添加数据泵进程
ADD EXTRACT pum_ext, EXTTRAILSOURCE /home/oracle/ogg/dirdat/lt
# 添加远程trail文件
ADD RMTTRAIL /home/oracle/ogg/dirdat/rt, EXTRACT pum_ext

8. 配置复制进程,在master 2的OGG安装目录执行ggsci,在GGSCI下执行
# 添加复制进程
ADD REPLICAT rep, EXTTRAIL /home/oracle/ogg/dirdat/rt

9. 启动抽取,在master 1的OGG安装目录执行ggsci,在GGSCI下执行
START EXTRACT pri_ext
START EXTRACT pum_ext
DBLOGIN USERID ogg, PASSWORD 123456
FLUSH SEQUENCE wxy.seq1
START EXTRACT init_ext

10. 启动复制,在master 2的OGG安装目录执行ggsci,在GGSCI下执行
VIEW REPORT init_ext
EDIT PARAMS rep
# 输入以下内容后,保存并关闭文件
HANDLECOLLISIONS
# 启动复制进程
START REPLICAT rep
INFO REPLICAT rep
# 初始化复制结束后,去掉HANDLECOLLISIONS
SEND REPLICAT rep, NOHANDLECOLLISIONS
EDIT PARAMS rep
# 删除HANDLECOLLISIONS,保存并关闭文件

七、测试
先查看一下master 1、master 2库里的数据,确认初始化结果
-- 启动复制前master 2上没有数据,初始化结束后两个机器上的以下查询结果应该一致
select * from t1;
select * from dba_sequences where sequence_name = 'SEQ2';

-- 进一步测试,在master 1的库里,用wxy用户执行创建用户、创建表,创建序列,查询序列,插入、修改、删除表数据,truncate table、drop table等一系列DML、DDL操作,查询master 2的库,确认复制是否正确。
-- master 1:
create table t2 (a int);
insert into t2 values (1);
commit;
select * from t2;

-- master 2:
select * from t2;

-- master 1:
insert into t2 values (2);
commit;
select * from t2;

-- master 2:
select * from t2;

-- master 1:
delete from t2 where a=1;
commit;
select * from t2;

-- master 2:
select * from t2;

-- master 1:
update t2 set a=10;
commit;
select * from t2;

-- master 2:
select * from t2;

-- master 1:
truncate table t2;

-- master 2:
select * from t2;

-- master 1:
drop table t2 purge;

-- master 2:
select * from t2;

-- master 1:
create user u1 identified by 123456;
grant connect to u1;

-- master 2:
conn u1
select * from user_role_privs;

-- master 1:
CREATE SEQUENCE WXY.SEQ2 START WITH 0 MAXVALUE 99999999999 MINVALUE 0 NOCYCLE NOCACHE NOORDER;
select seq2.nextval from dual;
select seq2.nextval from dual;
select seq2.nextval from dual;
select * from dba_sequences where sequence_name = 'SEQ2';

-- master 2:
select * from dba_sequences where sequence_name = 'SEQ2';


  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
GoldenGate基本原理、安装过程和基本维护 目录 一、GoldenGate介绍 .......................................................................... 3 二、GoldenGate安装实施 .................................................................... 5 2.1创建GoldenGate软件安装目录 ................................................. 5 2.2 GoldenGate的管理用户 ........................................................... 5 2.3安装GoldenGate软件 .............................................................. 6 2.4设臵数据库归档模式 .................................................................. 6 2.5打开数据库的附加日志 ............................................................... 7 2.6开启数据库强制日志模式 ............................................................ 7 2.7创建GoldenGate管理用户 ........................................................ 7 2.8编辑GLOBALS参数文件 .......................................................... 8 2.9管理进程MGR参数配臵 ............................................................ 8 2.10抽取进程EXTN参数配臵 ......................................................... 9 2.11 传输进程DPEN参数配臵 ...................................................... 10 2.12建立OGG的DDL对象 ......................................................... 11 2.13 数据初始化 .......................................................................... 12 2.14 容灾端管理进程MGR参数配臵 .............................................. 14 2.15编辑GLOBALS参数文件 ...................................................... 15 2.16 容灾端复制进程REPN参数配臵 ............................................. 15 2.17创建复制进程repn ............................................................... 17 2.18启动生产端传输进程和容灾端复制进程 ..................................... 17 2.19测试场景.............................................................................. 17 三GoldenGate基本运维命令 ........................................................... 17 四、常见故障排除 .............................................................................. 18
安装Oracle GoldenGate,你可以按照以下步骤进行操作: 1. 首先,上传OGG安装包到你的服务器中。 2. 解压安装包,并将其放置在合适的文件夹中。请注意检查文件夹的权限设置。 3. 修改配置文件`response/oggcore.rsp`,使用vim编辑该文件。在该文件中,你需要指定安装选项(`INSTALL_OPTION`),根据你的情况选择`ORA12c`或`ORA11g`。同时,还需要指定一个安装目录(`SOFTWARE_LOCATION`),这是Oracle GoldenGate将被安装的位置。通常情况下,你可以将其设置为`/data/ogg`。 另外,如果你使用的是Oracle VM VirtualBox虚拟机,你还需要根据以下步骤安装Oracle GoldenGate: 1. 确保你已经配置了两台虚拟机,分别命名为`master1`和`master2`,并设置了各自的IP地址和操作系统。 2. 确保你在两台虚拟机上都安装了Oracle数据库,并启用了归档模式。 3. 下载并解压OGG安装包到两台虚拟机的适当目录中,使用以下命令:`cd /home/oracle/ogg`,然后执行`unzip ogg112101_fbo_ggs_Linux_x64_ora11g_64bit`。 最后,启动GoldenGate管理程序,它提供了许多重要的功能,包括监视系统组件和启动GoldenGate进程。在Unix系统上运行其他GoldenGate程序之前,必须先启动管理器。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [OGG(ORACLE GOLDENGATE 12.3)安装与学习文档教程](https://blog.csdn.net/weixin_41609807/article/details/106960509)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [GoldenGate安装配置实例化](https://blog.csdn.net/wzy0623/article/details/53895301)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值