32位和64位ORACLE下操作GOLDENGATE过程记录

     最近接了一个数据库同步的项目,其实开始考虑的是别的免费同步工具,不过我们老大说免费的太钓丝,不如收费的高大上,客户有钱,不需要为对方节省,况且免费的有各种限制,功能不够全面。言归正传,我选择了ORACLE的GoldenGate 产品,网上有一大堆操作说明文档,都是百度搜出来的,按照那个严格操作,基本上总会出现各种各样的错误,唉,还是怀恋以前的google,搜出的老外的文章,一般不会出错。经过几天的研究实践,特意把操作过程记录下来,按照下面步骤输入,不会出错。

GoldenGate TDM(交易数据管理)软件是一种基于日志的结构化数据复制软件,它通过解析源数据库在线日志或归档日志获得数据的增删改变化,再将这些变化应用到目标数据库,实现源数据库与目标数据库同步、双活。

      现在网上的GOLDENGATE文档只是记录了配置操作过程,而事实上,每个人操作可能遇到的问题不尽相同,针对遇到的问题与解决方法各不一样,完全按照网上的文档操作往往会失败,因此这里记录下在32位和64位ORACLE下操作GOLDENGATE的过程与遇到的问题。

一、操作环境:WIN764位系统 32位ORACLE+32位GOLDENGATE

目的:在一个库下面两个不同用户之间实现数据同步。

1.  创建数据库实例

假设创建的数据库实例SID为ogg

2. 设置环境变量

在系统属性-高级-环境变量里面设置如下两个环境变量的值,如

ORACLE_HOME=D:\app\Administrator\product\11.2.0\dbhome_1

ORACLE_SID=ogg 

3. 配置oracle数据库

(1).打开归档模式

SQL> archive log list

SQL> shutdown immediate

SQL> startup mount

SQL> alter database archivelog;

SQL> alter database open

(2).在库中打开force logging

SQL> select force_logging from v$database;

FOR

---

NO 

SQL> alter database force logging;

Database altered.

SQL> select force_logging from v$database;

FOR

---

YES

(3). 在库中打开supplementallog

SQL> select supplemental_log_data_min from v$database;

SUPPLEME

--------

NO

SQL> alter database add supplemental log data;

Database altered.

(4).切换日志,使更改生效

SQL> alter system switch logfile;

System altered.

SQL> select supplemental_log_data_min from v$database;

SUPPLEME

--------

YES

(5).在库中关闭回收站

SQL> show parameter recyclebin

NAME TYPE VALUE

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

recyclebin string on

SQL> alter system set recyclebin=off;

System altered.

注:如果是oracle 10.1版本使用alter system set“_recyclebin=off”;该命令经过实验非必要,在本机测试,不运行此命令照常同步数据

4.创建测试的用户账户和表

Create user ggs identified by ggs;

Create user ggt identified by ggt;

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)

);

5.配置goldengate

1)  假设将goldengate解压到c:\gg目录,进入此目录

输入命令ggsci.exe

然后输入Createsubdirs     

2)   ggsci>Edit param mgr

输入参数内容:

Port7809   --set the manager running port

保存退出

ggsci>Startmgr

To start the mgrprocess

可以输入命令Infoall查看运行状况

3)  Add supplemental logging for table, both source and target

GGSCI>dblogin ggs,password ggs(在配置了环境变量指定ORACLE_SID的前提下,否则用命令dblogin ggs@ogg,password ggs)

GGSCI>add trandata ggs.test

GGSCI>add trandata ggt.test

GGSCI>info trandata ggs.*

GGSCI>info trandata ggs.*

4). GGSCI>Add extract ext1,tranlog,begin now

GGSCI>edit param ext1

参数内容:

extract ext1

Useridggs,password ggs

Rmthost 127.0.0.1mgrport 7809

Rmttrail.\dirdat\r1

Dynamicresolution

Table ggs.test;

保存,退出(注:TABLE一行以分号结尾,否则错误)

然后Add remote list,输入命令

GGSCI>Addrmttrail .\dirdat\r1,extract ext1,megabytes 100

5)   Add and edit replicat process param

addrep repkk,exttrail ./dirdat/r1,nodbcheckpoint

然后输入命令Edit param repkk

参数内容为:

Useridggt,password ggt

Assumetargetdefs

DiscardfileC:\gg\dirdatrep1.dsc,append

MAPggs.*, TARGET ggt.*;

保存退出(注:MAP一行的逗号后面必须有空格且以分号结尾,否则错误)

6) 启动进程

Startextract progress:

Startext1

Startreplicat progress

Startrepkk

Checkthe progress running

Infoall

6.测试同步效果 

Conn ggs/ggs

Insert into test select 1,’aa’,’pass1’ from dual;

Insert into test select 2,’bb’,’pass2’ from dual;

Commit;

few seconds later:

conn ggt/ggt

select * from test;

64位的GOLDENGATE与ORACLE操作与此类似,但是过程中可能遇到错误,可以输入命令alter reprepkk,extseqno 23,extrba 0或者alter rep repkk,extseqno 0,extrba0解决

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值