环境:
OS:windows xp(32bit)
DB:oracle 11gR1
GoldenGate:ggs_Windows_x86_ora11g_32bit
Network:单机测试,无网络要求
目标:
实现从ggs.test中数据到ggt.test中的复制,了解goldengate的大体运作,仅用于学习
实施:
一.数据库准备
1. 开启oracle的归档模式
查看数据库当前日志模式
archive log list;
如果没有开启归档,执行开启操作
shutdown immediate;
startup mount;
alter database archivelog;
alter database open;
2. 启用数据库级别的supplemental logging
alter database add supplemental log data;
3. 创建测试用户和测试表格
create user ggs identified by ggs;
create user ggt identified by ggt;
grant dba to system;
grant dba to ggs;
grant dba to ggt;
conn ggs/ggs;
create table test(
stu_id number(6),
stu_name varchar2(20),
stu_pass varchar2(20)
);
conn ggt/ggt;
create table test(
stu_id number(6),
stu_name varchar2(20),
stu_pass varchar2(20)
);
二.安装配置goldengate
1. 创建目录结构
解压goldengate压缩包,执行文件ggsci.exe
在随后弹出的命令框中输入
create subdirs --仅在第一次使用时执行
2. 添加并编辑mgr进程参数
edit param mgr
文件内容如下
port 7809
启动mgr
start mgr
查看mgr进程是否启动
info all
3. 为复制的表格添加supplemental logging
dblogin userid system,password admin;--假定system的密码为admin
add trandata ggs.test;
add trandata ggt.test;
查看表格是否已经添加supplemental logging
info trandata ggs.test;
info trandata ggt.test;
4. 添加并编辑extract进程参数
add extract ext1,tranlog,begin now
edit param ext1
文件ext1.prm内容如下
extract ext1
userid system,password admin
rmthost 127.0.0.1,mgrport 7809
rmttrail E:\ogg\dirdat\r1
dynamicresolution
table ggs.test;
添加远端队列
add rmttrail E:\ogg\dirdat\r1,extract ext1,megabytes 100
5. 添加并编辑replicat进程参数
add replicat rep1,exttrail E:\ogg\dirdat\r1,nodbcheckpoint
edit param rep1
文件rep1.prm内容如下
replicat rep1
userid system,password admin
assumetargetdefs
discardfile E:\ogg\dirrpt\rep1.dsc,append
MAP ggs.*, TARGET ggt.*;
6. 启动进程
启动extract进程
start ext1
启动replicat进程
start rep1
检查进程是否都已启动
info all
三.测试
conn ggs/ggs;
insert into test values (1,’tom’,’password’);
insert into test values (1,’java’,’helloworld’);
commit;
稍后登陆ggt用户
conn ggt/ggt;
select * from test;