GoldenGate单向复制配置示例
一:环境介绍
--source端
ip地址:192.168.123.10
数据库版本:11.2.0.1.0 32 bit
操作系统版本:centos 4.5 32 bit
ogg版本:fbo_ggs_Linux_x86_ora11g_32bit.tar --target端
ip地址:192.168.123.11
数据库版本:11.2.0.1.0 32 bit
操作系统版本:centos 4.5 32 bit
ogg版本:fbo_ggs_Linux_x86_ora11g_32bit.tar
二:安装 GG 软件
2.1 安装GG
[root@oracle ~]# su - oracle
[oracle@oracle ~]$ ls
awrrpt_1_259_276.html fbo_ggs_Linux_x86_ora11g_32bit.tar oradiag_oracle
[oracle@oracle ~]$ mkdir /u01/GG
[oracle@oracle ~]$ tar -xvf fbo_ggs_Linux_x86_ora11g_32bit.tar -C /u01/GG //将软件解压到/u01/GG 2.2 添加环境变量 在/home/oracle/.bash_profile文件里添加如下内容:
export PATH=/u01/GG:$PATH
export LD_LIBRARY_PATH=/u01/GG:$LD_LIBRARY_PATH
export GGATE=/u01/GG 注意:本实验的GG 和Oracle 使用的是相同的用户,所以把GG 的变量加上就可以了。加载刚刚设置的环境变量: [oracle@oracle ~]$ source /home/oracle/.bash_profile 2.3 使用ggsci工具,创建必要的目录
[oracle@oracle ~]$ cd /u01/GG //要在安装目录下登陆,否则可能报错
[oracle@oracle GG]$ ggsci Oracle GoldenGate Command Interpreter for Oracle
Version 11.2.1.0.1 OGGCORE_11.2.1.0.1_PLATFORMS_120423.0230_FBO
Linux, x86, 32bit (optimized), Oracle 11g on Apr 23 2012 08:09:25 Copyright (C) 1995, 2012, Oracle and/or its affiliates. All rights reserved. GGSCI (oracle.11g) 1> create subdirs Creating subdirectories under current directory /u01/GG Parameter files /u01/GG/dirprm: already exists
Report files /u01/GG/dirrpt: created
Checkpoint files /u01/GG/dirchk: created
Process status files /u01/GG/dirpcs: created
SQL script files /u01/GG/dirsql: created
Database definitions files /u01/GG/dirdef: created
Extract data files /u01/GG/dirdat: created
Temporary files /u01/GG/dirtmp: created
Stdout files /u01/GG/dirout: created GGSCI (oracle.11g) 2>
以上就是GG 的安装,在source 和target database 都执行
三:配置Source database
GoldenGate通过抓取源端数据库重做日志进行分析,将获取的数据应用到目标端,实现数据同步。因此,源数据库需要必须处于归档模式,并启用附加日志和强制日志。
3.1 归档模式、附加日志、强制日志
--查看
SQL> select log_mode,supplemental_log_data_min,force_logging from v$database; LOG_MODE SUPPLEME FOR
------------ -------- ---
ARCHIVELOG NO NO SQL> --修改
1)archivelog
SQL>shutdown immediate
SQL>startup mount
SQL>alter database archivelog;
SQL>alter database open; 2) force logging
SQL>alterdatabase force logging; 3)supplemental log data
SQL>alterdatabase add supplemental log data; 3.2 启用DDL 支持 3.2.1禁用Recycle Bin
如果启用DDL 支持,必须关闭recycle bin。
SQL> show parameter recyclebin NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
recyclebin string on
SQL> --11g(如果是10g,则需要重启)
SQL> alter system set recyclebin=off scope=spfile; System altered. 3.2.2 创建存放DDL 信息的user并赋权
SQL> create user ggs identified by 123456;
SQL> grant connect,resource to ggs;
SQL> grant execute on utl_file to ggs;
SQL> 3.2.3 用SYSDBA权限的用户执行如下脚本:
[oracle@oracle GG]$ sqlplus /nolog
SQL> conn /as sysdba
Connected.
SQL> -----脚本1
SQL> @/u01/GG/marker_setup.sql Marker setup script You will be prompted for the name of a schema for the Oracle GoldenGate database objects.
NOTE: The schema must be created prior to running this script.
NOTE: Stop all DDL replication before starting this installation. Enter Oracle GoldenGate schema name:ggs ---输入创建的用户 Marker setup table script complete, running verification script...
Please enter the name of a schema for the GoldenGate database objects:
Setting schema name to GGS MARKER TABLE
-------------------------------
OK MARKER SEQUENCE
-------------------------------
OK Script complete.
SQL> -----脚本2
SQL> @/u01/GG/ddl_setup.sql; Oracle GoldenGate DDL Replication setup script Verifying that current user has privileges to install DDL Replication... You will be prompted for the name of a schema for the Oracle GoldenGate database objects.
NOTE: For an Oracle 10g source, the system recycle bin must be disabled. For Oracle 11g and later, it can be enabled.
NOTE: The schema must be created prior to running this script.
NOTE: Stop all DDL replication before starting this installation. Enter Oracle GoldenGate schema name:ggs ---输入创建的用户 Working, please wait ...
Spooling to file ddl_setup_spool.txt Checking for sessions that are holding locks on Oracle Golden Gate metadata tables ... Check complete. ...................... STATUS OF DDL REPLICATION
------------------------------------------------------------------------------------------------------------------------
SUCCESSFUL installation of DDL Replication software components Script complete.
SQL> ------脚本3
SQL> @/u01/GG/role_setup.sql; GGS Role setup script This script will drop and recreate the role GGS_GGSUSER_ROLE
To use a different role name, quit this script and then edit the params.sql script to change the gg_role parameter to the preferred name. (Do not run the script.) You will be prompted for the name of a schema for the GoldenGate database objects.
NOTE: The schema must be created prior to running this script.
NOTE: Stop all DDL replication before starting this installation. Enter GoldenGate schema name:ggs
Wrote file role_setup_set.txt PL/SQL procedure successfully completed. Role setup script complete Grant this role to each user assigned to the Extract, GGSCI, and Manager processes, by using the following SQL command: GRANT GGS_GGSUSER_ROLE TO <loggedUser> where <loggedUser> is the user assigned to the GoldenGate processes.
SQL> ------脚本4:赋权
SQL> grant GGS_GGSUSER_ROLE to ggs; ------脚本5
SQL> @/u01/GG/ddl_enable.sql; Trigger altered. SQL>
四:测试GG
4.1 在Source 和 Target database上创建测试用户 --source database
SQL> create user sender identified by 123456; SQL> grant connect,resource,dba to sender; SQL> --target database
SQL> create user receiver identified by 123456; SQL> grant connect,resource,dba to receiver; SQL> 4.2 在Source 和Target 上配置Manager --source
[oracle@oracle GG]$ cd /u01/GG //此过程最好在安装目录下执行
[oracle@oracle GG]$ ggsci Oracle GoldenGate Command Interpreter for Oracle
Version 11.2.1.0.1 OGGCORE_11.2.1.0.1_PLATFORMS_120423.0230_FBO
Linux, x86, 32bit (optimized), Oracle 11g on Apr 23 2012 08:09:25 Copyright (C) 1995, 2012, Oracle and/or its affiliates. All rights reserved. GGSCI (oracle.11g) 2> info all Program Status Group Lag at Chkpt Time Since Chkpt MANAGER STOPPED GGSCI (oracle.11g) 3> edit params mgr //配置管理进程的端口号
PORT 7809 GGSCI (oracle.11g) 4> start manager Manager started. GGSCI (oracle.11g) 5> 以上是在Source 库上执行的,在Target 库上执行同样的操作。 4.3 配置SourceDB 的复制队列 4.3.1 先连接到数据库,测试连接:
GGSCI (oracle.11g) 5> dblogin userid ggs, password 123456;
Successfully logged into database. GGSCI (oracle.11g) 6> 4.3.2 添加一个抽取:
GGSCI (oracle.11g) 6> add extract ext1,tranlog, begin now
EXTRACT added. GGSCI (oracle.11g) 7> add exttrail /u01/GG/dirdat/lt, extract ext1
EXTTRAIL added. --修改ext1的参数
GGSCI (oracle.11g) 8> edit params ext1
extract ext1
userid ggs, password 123456
rmthost 192.168.0.11, mgrport 7809
rmttrail /u01/GG/dirdat/lt
ddl include mapped objname sender.*;
table sender.*; GGSCI (oracle.11g) 10> info all Program Status Group Lag at Chkpt Time Since Chkpt MANAGER RUNNING
EXTRACT STOPPED EXT1 00:00:01 00:04:23 GGSCI (oracle.11g) 11> 4.4 配置TargetDB 同步队列 4.4.1 创建用户ggt
SQL> create user ggt identified by 123456;
SQL> grant connect,resource,dba to ggt;
--要赋予dba权限,否则后期启动进程时会报:
--OCI Error describe for query (status = 942-ORA-00942: table or view does not exist),
--SQL<SELECT db.name, i.instance_name, i.version FROM v$database db, v$instance i>.
SQL> grant execute on utl_file to ggt;
SQL> 4.4.2 在Target 端添加checkpoint表:
--添加参数文件./GLOBAL
GGSCI (oracle.11g) 4> edit params ./GLOBAL
GGSCHEMA ggs
CHECKPOINTTABLE ggt.checkpoint --登陆
GGSCI (oracle.11g) 2> dblogin userid ggt , password 123456
Successfully logged into database. --添加checkpoint表
GGSCI (oracle.11g) 3> add checkpointtable ggt.checkpoint Successfully created checkpoint table ggt.checkpoint. GGSCI (oracle.11g) 4> 4.4.3 创建同步队列
GGSCI (oracle.11g) 4> add replicat rep1,exttrail /u01/GG/dirdat/lt, checkpointtable ggt.checkpoint
REPLICAT added. GGSCI (oracle.11g) 5> edit params rep1
replicat rep1
ASSUMETARGETDEFS
userid ggt , password 123456
discardfile /u01/GG/dirdat/rep1_discard.txt,append, megabytes 10
DDL
map sender.*, target receiver.*; 添加如上内容 4.5开启同步 4.5.1 Source DB: GGSCI (oracle.11g) 14> start extract ext1 Sending START request to MANAGER ...
EXTRACT EXT1 starting GGSCI (oracle.11g) 15> info all Program Status Group Lag at Chkpt Time Since Chkpt MANAGER RUNNING
EXTRACT RUNNING EXT1 00:27:51 00:00:10 GGSCI (oracle.11g) 16> 4.5.2 Target DB GGSCI (oracle.11g) 2> start replicat rep1 Sending START request to MANAGER ...
REPLICAT REP1 starting GGSCI (oracle.11g) 3> info all Program Status Group Lag at Chkpt Time Since Chkpt MANAGER RUNNING
REPLICAT RUNNING REP1 00:00:00 00:00:01 GGSCI (oracle.11g) 4>
五.验证
在Source DB上的sender 用户下创建一张表,然后看这张表是否同步到了Target DB的receiver用户下 --Source DB:
SQL> conn sender/123456;
Connected.
SQL> create table gg_test as select * from sys.all_users; SQL> --Target DB:
SQL> conn receiver/123456;
Connected.
SQL> select count(*) from gg_test; COUNT(*)
----------
41
SQL> 数据同步过来了,因为启用了DDL的支持,所以这里把表给复制过来了。 --在Source DB上在插入一些记录,在验证下GG的同步情况: SQL> insert into gg_test select * from sys.all_users;
41 rows created.
SQL> commit;
Commit complete.
SQL> --Target DB 验证: SQL> select count(*) from gg_test; COUNT(*)
----------
82 SQL> 同步正常,以上就是Oracle to Oracle 下的一个GG 单向复制示例。
GoldenGate单向复制配置示例的更多相关文章
- GoldenGate配置(一)之单向复制配置
GoldenGate配置(一)之单向复制配置 环境: Item Source System Target System Platform Red Hat Enterprise Linux Server ...
- 【OGG】OGG的单向复制配置-支持DDL(二)
[OGG]OGG的单向复制配置-支持DDL(二) 一.1 BLOG文档结构图 一.2 前言部分 一.2.1 导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的 ...
- Nginx 简单的负载均衡配置示例(转载)
原文地址:Nginx 简单的负载均衡配置示例(转载) 作者:水中游于 www.s135.com 和 blog.s135.com 域名均指向 Nginx 所在的服务器IP. 用户访问http://www ...
- HBase + Kerberos 配置示例(二)
接上篇<HBase + Kerberos配置示例(一)>,我们继续剩下的配置工作. 环境准备 Hadoop配置 Zookeeper配置 HBase配置 Java测试程序 环境准备 安装ha ...
- 全互联结构DVPN综合配置示例
以下内容摘自正在全面热销的最新网络设备图书“豪华四件套”之一<H3C路由器配置与管理完全手册>(第二版)(其余三本分别是:<Cisco交换机配置与管理完全手册>(第二版).&l ...
- Haproxy的安装和配置示例
1.ha proxy简介ha proxy是一个开源的,高性能的,基于tcp第四层和http第七层应用的负载均衡软件优点:可靠性和稳定性非常好 最高可以同时维护40000-50000个 ...
- Goldengate双向复制配置
一.Goldengate双向复制配置 1.1.在进行如下配置之前,先在源数据库source system(原来的目标数据库)端 添加辅助的redolog配置: SQL>alter databas ...
- MyBatis Generator配置示例
(一).MBG介绍 MyBatis Generator(MBG)是一个Mybatis的代码生成器,它可以用来生成可以访问(多个)表的基础对象.MBG解决了对数据库操作有最大影响的一些简单的CRUD(插 ...
- haproxy反向代理配置示例
*/ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...
随机推荐
- C#之结构化异常处理
1.异常处理4要素 一个表示异常详细信息的类类型: 一个向调用者引发异常类实例的成员: 调用者的一段调用异常成员的代码块: 调用者的一段处理将要发生异常的代码块:
- 纯CSS 多图片轮播
今天做东西的时候,遇到一个问题关于图片轮播的问题,以前也接触过(百度 人家的demo改改..),再次遇到这个问题的时候,根据以前的印象找到了demo正信心满满的准备改一下嵌进去,发现 jquery.m ...
- 《Cortex-M0权威指南》之体系结构---异常和中断
转载请注明来源:cuixiaolei的技术博客 异常会引起程序控制的变化.在异常发生时,处理器停止当前的任务,转而执行异常处理程序,异常处理完成后,会继续执行刚才的任务.异常分为很多种,中断是其中之一 ...
- ASP.NET页面与IIS底层交互和工作原理详解(第一回)
引言 我查阅过不少Asp.Net的书籍,发现大多数作者都是站在一个比较高的层次上讲解Asp.Net.他们耐心.细致地告诉你如何一步步拖放控件.设置控件属性.编写CodeBehind代码,以实现某个特定 ...
- dfa最小化,终于完成了。
采取的方法是hopcroft的填表法,详情见如下代码 #include "nfa_to_dfa.h" int* dfa_diff_matrix; int mini_dfa_numb ...
- Linux(CentOS)同步时间
可参考:http://www.ntp.org.cn/ http://www.cnblogs.com/pipelone/archive/2009/06/17/1505002.html 当前已提供的各国N ...
- C#基础回顾以及if语句
一.输入和输出Console.Write("字符串")Console.WriteLine("字符串")string s = Console.ReadLine() ...
- input美化 checkbox和radio样式
input美化 checkbox和radio样式 看惯了input[checkbox]和input[radio]默认样式,有没有想要改变一下呢?比如下面的样式: 比起html默认的样式,上图这些 ...
- js概念理解
1.面向对象. 2.函数表达式. 3.递归. 4.闭包. 5.原型链. 6.作用域链. 7.上下文. 8.类. 9.活动对象. 10.w3c规范. 11.设计模式. 12.重构. 13.低耦合,高内聚 ...
- ORACLE的分组统计之CUBE(二)
cube统计包含了rollup的统计结果,而且还有其他组合分组结果(小计),CUBE(n列),那么分组种类有: cube分组就是先进行合计(一个不取),然后小计(到),最后取标准分组. 与rollup ...