oracle+GoldenGate学习笔记 下载本文

内容发布更新时间 : 2024/11/1 7:16:16星期一 下面是文章的全部内容请认真阅读。

Report files D:\\ggs\\dirrpt: created Checkpoint files D:\\ggs\\dirchk: created Process status files D:\\ggs\\dirpcs: created SQL script files D:\\ggs\\dirsql: created Database definitions files D:\\ggs\\dirdef: created Extract data files D:\\ggs\\dirdat: created Temporary files D:\\ggs\\dirtmp: created Veridata files D:\\ggs\\dirver: created Veridata Lock files D:\\ggs\\dirver\\lock: created Veridata Out-Of-Sync files D:\\ggs\\dirver\\oos: created Veridata Out-Of-Sync XML files D:\\ggs\\dirver\\oosxml: created Veridata Parameter files D:\\ggs\\dirver\\params: created Veridata Report files D:\\ggs\\dirver\\report: created Veridata Status files D:\\ggs\\dirver\\status: created Veridata Trace files D:\\ggs\\dirver\\trace: created Stdout files D:\\ggs\\dirout: created

6

3.数据库复制实施文档(DML)

3.1准备工作

◆准备两台机器,分别为SourceDB, TargetDB,通过TCP/IP网络进行互连 SourceDB :WIN XP环境,Oracle 10g 10.2.0.1.0 TargetDB :WIN 2003 环境 Oracle 10g 10.2.0.1.0 ◆必须保证SourceDB是运行在归档模式下。

◆目的 :将SourceDB中相关Schema中的数据同步复制到TargetDB相对应的Sechema中

本文中要同步的是SouceDB中的SAJET,SJ,SMT,LANG到Target中的SAJET,SJ,SMT,LANG用户下

◆首先要保持SourceD, TargetDB相关Schema中的初始数据一致,可以通过Exp/Imp,Rman,冷备等方式实现.

◆双方DB建立GoldenGate用户,赋予DBA权限,用于GoldenGate连接DB. ◆双方DB安装GoldenGate,安装方式如第二章节所示 ◆SourceDB必须开始最小附加日志模式

通过以下语句查看DB是否开启了最小附加日志模式

SQL> select SUPPLEMENTAL_LOG_DATA_MIN from v$database; SUPPLEME -------- YES

如果没有开启数据库的最小附加日志,则通过以下语句开启 SQL>alter database add supplemental log data;

◆ 开启表的最小附加日志,通过GoldenGate命令行来添加 GGSCI (PONY) 1> dblogin userid sajet password tech Successfully logged into database.

GGSCI (PONY) 2> add trandata sajet.* 第一条命令表示登录到Database

第二条命令表示添加Sajet用户下所有表的最小附加日志 同样的命令开启SJ,LANG,SMT用户下的表的最小附加日志。

7

3.2配置GoldenGate

3.2.1配置SourceDB的GoldenGate

SourceDB端需要配置mgr进程,添加一个extract进程,和一个远端队列。 1.配置mgr参数

GGSCI (PONY) 2> edit param mgr

此时系统自动会新建一个名为mgr的参数文件,填入以下内容后保存 PORT 7809

--mgr进程使用的TCP/IP端口侦听请求

2.新增一个抽取进程,在GGSCI命令行中输入如下命令: GGSCI (PONY) 1> add extract ext1,tranlog,begin now EXTRACT added.

---新增一个抽取进程,负责抓取SourceDB中变化的数据,基于日志方式,立即生效 3.配置抽取进程

GGSCI (PONY) 2> edit param ext1

此时系统会自动新建一个名为ext1的参数文件,填入以下内容后保存 extract ext1

userid goldengate,password goldengate rmthost 172.17.17.61, mgrport 7809 rmttrail d:\\ggs\\dirdat\\r1 dynamicresolution gettruncates table sajet.*; table sj.*; table smt.*; table lang.*; --

抽取进程名为 ext2

连接本机DB的账号和密码

远程主机地址以及服务端口号(TargetDB) 远程队列的位置(TargetDB) 优化参数,动态分析表结构 是否抓取Truncate的数据 需要抽取哪些table。

4.新增远端队列位置

GGSCI (PONY) 3> add rmttrail d:\\ggs\\dirdat\\r1 extract ext2 RMTTRAIL added.

8

--

新增一个远程队列,位置为在TargetDB的d:\\ggs\\dirdat\\r1,是抽取进程ext1抽取的数据队列,注意和抽取进程中配置的rmttrail d:\\ggs\\dirdat\\r1一致。 开启所有进程

GGSCI (PONY) 11> start mgr

Starting Manager as service ('GGSMGR')... Service started.

GGSCI (PONY) 14> start ext1

Sending START request to MANAGER ('GGSMGR') ... EXTRACT EXT1 starting

查看进程的运行情况

GGSCI (PONY) 185> info all

Program Status Group Lag Time Since Chkpt

MANAGER RUNNING

EXTRACT RUNNING EXT1 00:00:00 00:00:06

OK,Mgr进程和EXT进程都已经正常运行 SouceDB端的配置完成。

3.2.2 配置TargetDB的GoldenGate

1.配置mgr参数

GGSCI (PONY) 2> edit param mgr

此时系统自动会新建一个mgr的参数文件,填入以下内容后保存 PORT 7809

DYNAMICPORTLIST 7840-7850 --mgr进程使用的TCP/IP端口侦听请求 接受远端队列的端口列表。

2.新增一个复制进程

GGSCI (PONY) 2>ADD replicat rep1 EXTTRAIL d:\\ggs\\dirdat\\r1, nodbcheckpoint

--新增一个复制进程,将抽取到队列中的文件解析后写进TargetDB

3.配置复制进程

9

GGSCI (PONY) 2> edit param rep1

此时系统会自动新建一个参数文件,填入一下内容后保存

replicat rep1

userid goldengate,password goldengate assumetargetdefs

reperror default,discard

discardfile D:\\oradata\\discard\\repsz.dsc,append,megabytes 100 gettruncate

map sajet.*, target sajet.*; map sj.*, target sj.*;

map lang.*, target lang.*; map smt.*, target smt.*;

--复制进程名

登入TargetDB的账号和密码

两台DB数据结构一致则使用此参数

如果复制出错,则继续,并将错误放进discardfile中 复制truncate操作

复制的源表为sajet,sj,lang,smt用户下的所有表,目标为TargetDB中对用用户下的所有表

开启mgr和rep进程

GGSCI (PONY) 20> start mgr

Starting Manager as service ('GGSMGR')... Service started.

GGSCI (PONY) 21> start rep1

Sending START request to MANAGER ('GGSMGR') ... REPLICAT REP1 starting

查看进程的运行情况

GGSCI (PONY) 22> info all

Program Status Group Lag Time Since Chkpt

MANAGER RUNNING

REPLICAT RUNNING REP1 00:00:00 00:00:07

10