32位和64位ORACLE下操作GOLDENGATE过程记录
来源:互联网 发布:文件加密解密算法 编辑:程序博客网 时间:2024/05/29 13:48
最近接了一个数据库同步的项目,其实开始考虑的是别的免费同步工具,不过我们老大说免费的太钓丝,不如收费的高大上,客户有钱,不需要为对方节省,况且免费的有各种限制,功能不够全面。言归正传,我选择了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解决
- 32位和64位ORACLE下操作GOLDENGATE过程记录
- 32位Linux下操作64位(4G以上)大文件的总结
- 64位系统下操作注册表的注意事项
- 32位程序转64位记录
- 32位和64位
- 32位和64位
- linux下操作oracle常用命令
- linux下操作oracle数据库
- 32位PLSQL配置为64位的Oracle和64位系统
- oracle 64位 32位 PLSQL Developer
- 32位plsq 连接 64位Oracle
- 32位plsql连接64位Oracle
- 32位plsql连接64位oracle
- 记录在WIN7 64位安装32位Oracle 11G遇到的问题
- 使用github托管项目,记录下操作
- 什么是32位和64位操作系统
- 什么是32位和64位操作系统
- 32位和64位系统
- halcon边缘提取和检测常用方法
- matlab中的一些函数(下)注意
- 【Leetcode】Panlidrome Linked List
- 线程与进程的区别与联系
- table滚动条
- 32位和64位ORACLE下操作GOLDENGATE过程记录
- AFNetworking如何post一个json数据到服务器
- 类型安全 与 线程安全 、异常安全、事务安全
- AC自动机应用 多模式匹配 多个单词在文章中出现的次数-C语言实现
- Java-mongodb-AggregationOutput(分组、统计)
- 【c++】模拟实现boost库里的scoped_ptr
- 警察叔叔就是它!那些烦人的空格!
- 解决"Could not initialize class android.graphics.Typeface"
- POJ-2457 SPFA+路径记录