OGG进程

捕获进程(源端):捕获online redo log或者archived log中增量事务日志

传输进程(源端):把目标端落地的trail文件通过配置的路由信息传输到目标端

网络传输:tcp/ip协议,传输过程可以对传输的文件进行压缩、加密

投递进程(目标端):把所接收的队列文件信息拼成SQL语句,并不是复制SQL,而是复制逻辑变化,并且在目标库提交

源端配置:MGR、捕获进程、捕获进程参数、捕获进程本地队列、传输进程、传输进程参数、传输进程远程队列

目标端配置:MGR、投递进程、投递进程参数

1、源端,目标端分别安装数据库软件和dbca建库(源端、目标端)
2、源端数据库开启归档(源)
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount
ORACLE instance started.

Total System Global Area 776646656 bytes
Fixed Size 2257272 bytes
Variable Size 507514504 bytes
Database Buffers 264241152 bytes
Redo Buffers 2633728 bytes
Database mounted.
SQL> alter database archivelog;

Database altered.

SQL> alter database add supplemental log data;

Database altered.

SQL> alter database open;

Database altered.

SQL> select name,LOG_MODE,SUPPLEMENTAL_LOG_DATA_MIN from v$database;

NAME LOG_MODE SUPPLEME
--------- ------------ --------
OGGDB ARCHIVELOG YES

切换日志以使附加日志生效:

SQL> alter system archive log current;

System altered.

3、源端、目标端数据库添加goldengate用户独用的表空间(源端、目标端)
源端:
SQL> create tablespace oggdata datafile '/u01/app/oracle/oradata/oggdb/oggdata.dbf' size 1G autoextend off;

Tablespace created.

目标端:
SQL> create tablespace oggdata datafile '/u01/app/oracle/oradata/destdb/oggdata.dbf' size 1G autoextend off;

Tablespace created.

4、源端、目标端创建goldengate用户,授权并指定默认表空间(这里做测试给DBA权限)(源端、目标端)
源端:
SQL> create user goldengate identified by goldengate default tablespace oggdata account unlock;

User created.

SQL> grant dba to goldengate;

Grant succeeded.

目标端:
SQL> create user goldengate identified by goldengate default tablespace oggdata account unlock;

User created.

SQL> grant dba to goldengate;

Grant succeeded.

5、源端、目标端上传ogg安装包并解压(源端、目标端)
mkdir -p /home/oracle/ogg
tar -xvf fbo_ggs_Linux_x64_ora11g_64bit.tar

6、源端、目标端修改oracle用户环境变量(源端、目标端)

源端:

[oracle@dgdb1 ogg]$ vi ~/.bash_profile
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
export ORACLE_SID=oggdb
export DB_UNQNAME_NAME=oggdb
export PATH=$PATH:$ORACLE_HOME/bin
export OGG_HOME=/home/oracle/ogg
export PATH=$PATH:$OGG_HOME
export LD_LIBRARY_PATH=$ORACLE_HOME/lib

目标端:

[oracle@dgdb2 ~]$ cat .bash_profile
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH
export PATH
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
export ORACLE_SID=destdb
export DB_UNQNAME_NAME=destdb
export PATH=$PATH:$ORACLE_HOME/bin
export OGG_HOME=/home/oracle/ogg
export PATH=$PATH:$OGG_HOME
export LD_LIBRARY_PATH=$ORACLE_HOME/lib

7、源端、目标端执行ggsci(源端、目标端)
[oracle@dgdb1 ogg]$ ggsci

Oracle GoldenGate Command Interpreter for Oracle
Version 11.2.1.0.3 14400833 OGGCORE_11.2.1.0.3_PLATFORMS_120823.1258_FBO
Linux, x64, 64bit (optimized), Oracle 11g on Aug 23 2012 20:20:21

Copyright (C) 1995, 2012, Oracle and/or its affiliates. All rights reserved.

GGSCI (dgdb1) 1>

这样ogg才算安装成功。

注意:ggsci必须在ogg安装目录执行,否则会报错文件目录不存在。

8、源端、目标端ggsci环境下创建goldengate子目录(源端、目标端)
GGSCI (dgdb1) 2> create subdirs

Creating subdirectories under current directory /home/oracle/ogg

Parameter files /home/oracle/ogg/dirprm: already exists
Report files /home/oracle/ogg/dirrpt: created
Checkpoint files /home/oracle/ogg/dirchk: created
Process status files /home/oracle/ogg/dirpcs: created
SQL script files /home/oracle/ogg/dirsql: created
Database definitions files /home/oracle/ogg/dirdef: created
Extract data files /home/oracle/ogg/dirdat: created
Temporary files /home/oracle/ogg/dirtmp: created
Stdout files /home/oracle/ogg/dirout: created

GGSCI (dgdb2) 1> create subdirs

Creating subdirectories under current directory /home/oracle/ogg

Parameter files /home/oracle/ogg/dirprm: already exists
Report files /home/oracle/ogg/dirrpt: created
Checkpoint files /home/oracle/ogg/dirchk: created
Process status files /home/oracle/ogg/dirpcs: created
SQL script files /home/oracle/ogg/dirsql: created
Database definitions files /home/oracle/ogg/dirdef: created
Extract data files /home/oracle/ogg/dirdat: created
Temporary files /home/oracle/ogg/dirtmp: created
Stdout files /home/oracle/ogg/dirout: created

dirchk:用于存放各个进程的检查点
dirdat:用于存放数据队列文件
dirprm:用于存放各进程参数文件
dirrpt:用于存放各进程报告
dirpcs:存放各个正在运行的进程信息

9、源端配置mgr进程,并启动mgr进程(源)
GGSCI (dgdb1) 3> edit param mgr
port 7809

GGSCI (dgdb1) 4> view param mgr

port 7809

GGSCI (dgdb1) 5> start mgr

Manager started.

查看进程状态
GGSCI (dgdb1) 6> info all

Program Status Group Lag at Chkpt Time Since Chkpt

MANAGER RUNNING

10、源端添加表级附加日志(源)
ggsci>dblogin userid goldengate, password goldengate
ggsci>add trandata test.*

11、配置抽取进程(源)
GGSCI> add ext exta, tranlog, begin now

12、为抽取进程配置队列(源)
GGSCI> add exttrail /home/oracle/ogg/dirdat/la, ext exta, MEGABYTES 20 ---(本地队列)
此时exttrail指定的是本地队列位置。

13、配置传输进程(pump进程)(源)
GGSCI> add extract dpea, EXTTRAILSOURCE /home/oracle/ogg/dirdat/la
此时EXTTRAILSOURCE指定的是本地队列位置。

14、为传输进程配置远程队列(源)
GGSCI> add rmttrail /home/oracle/ogg/dirdat/ra, ext dpea, MEGABYTES 20
队列位置是在目标主机上的位置

15、配置抽取进程参数(源)
GGSCI>edit param exta
EXTRACT exta
setenv ( NLS_LANG = AMERICAN_AMERICA.ZHS16GBK )
setenv (ORACLE_SID = oggdb)
USERID goldengate, PASSWORD goldengate
EXTTRAIL /home/oracle/ogg/dirdat/la
dynamicresolution
table test.*;

16、配置传输进程参数(pump)(源)
GGSCI>edit param dpea
extract dpea
setenv ( NLS_LANG = AMERICAN_AMERICA.ZHS16GBK )
passthru
rmthost 192.168.12.51,mgrport 7809, compress
rmttrail /home/oracle/ogg/dirdat/ra
dynamicresolution
table test.*;

17、启动源端进程(源)
GGSCI>start ext *
也可以根据进程名分别启动
GGSCI>start exta
GGSCI>start dpea

18、初始化(源端、目标端)
源端、目标端添加test用户,并创建表test
SQL> create user test identified by test account unlock;

User created.

SQL> grant dba to test;

Grant succeeded.

SQL> conn test/test
Connected.
SQL> create table test (id int);

Table created.

19、添加mgr进程(目标端)
GGSCI (dgdb2) 5> edit param mgr
port 7809

启动mgr进程
GGSCI (dgdb2) 6> start mgr

Manager started.

GGSCI (dgdb2) 7> info all

Program Status Group Lag at Chkpt Time Since Chkpt

MANAGER RUNNING

20、添加投递进程(目标端)
GGSCI> add rep repa, exttrail /home/oracle/ogg/dirdat/ra, nodbcheckpoint

21、配置投递进程参数(目标端)
GGSCI>edit param repa
replicat repa
setenv ( NLS_LANG = AMERICAN_AMERICA.ZHS16GBK)
setenv (ORACLE_SID = destdb)
userid goldengate, password goldengate
reperror default,abend
discardfile /home/oracle/ogg/dirrpt/repa.dsc,append, megabytes 10
assumetargetdefs
dynamicresolution
map test.*, target test.*;

启动repa
GGSCI (dgdb2) 14> start repa

Sending START request to MANAGER ...
REPLICAT REPA starting

GGSCI (dgdb2) 15> info all

Program Status Group Lag at Chkpt Time Since Chkpt

MANAGER RUNNING
REPLICAT RUNNING REPA 00:00:00 00:00:05

22、测试
主库:
SQL> insert into test values (1);

1 row created.

SQL> commit;

Commit complete.

主库查看进程状态:
GGSCI (dgdb1) 28> stats exta
stats exta

Sending STATS request to EXTRACT EXTA ...

Start of Statistics at 2019-11-24 08:38:49.

Output to /home/oracle/ogg/dirdat/la:

Extracting from TEST.TEST to TEST.TEST:

*** Total statistics since 2019-11-24 08:38:49 ***
Total inserts 1.00
Total updates 0.00
Total deletes 0.00
Total discards 0.00
Total operations 1.00

*** Daily statistics since 2019-11-24 08:38:49 ***
Total inserts 1.00
Total updates 0.00
Total deletes 0.00
Total discards 0.00
Total operations 1.00

*** Hourly statistics since 2019-11-24 08:38:49 ***
Total inserts 1.00
Total updates 0.00
Total deletes 0.00
Total discards 0.00
Total operations 1.00

*** Latest statistics since 2019-11-24 08:38:49 ***
Total inserts 1.00
Total updates 0.00
Total deletes 0.00
Total discards 0.00
Total operations 1.00

End of Statistics.

GGSCI (dgdb1) 43> stats dpea

Sending STATS request to EXTRACT DPEA ...

Start of Statistics at 2019-11-24 08:49:31.

Output to /home/oracle/ogg/dirdat/ra:

Extracting from TEST.TEST to TEST.TEST:

*** Total statistics since 2019-11-24 08:49:10 ***
Total inserts 1.00
Total updates 0.00
Total deletes 0.00
Total discards 0.00
Total operations 1.00

*** Daily statistics since 2019-11-24 08:49:10 ***
Total inserts 1.00
Total updates 0.00
Total deletes 0.00
Total discards 0.00
Total operations 1.00

*** Hourly statistics since 2019-11-24 08:49:10 ***
Total inserts 1.00
Total updates 0.00
Total deletes 0.00
Total discards 0.00
Total operations 1.00

*** Latest statistics since 2019-11-24 08:49:10 ***
Total inserts 1.00
Total updates 0.00
Total deletes 0.00
Total discards 0.00
Total operations 1.00

End of Statistics.

源端已经捕获新增数据

目标端查看进程状态:
GGSCI (dgdb2) 21> stats repa

Sending STATS request to REPLICAT REPA ...

Start of Statistics at 2019-11-24 08:49:44.

Replicating from TEST.TEST to TEST.TEST:

*** Total statistics since 2019-11-24 08:49:13 ***
Total inserts 1.00
Total updates 0.00
Total deletes 0.00
Total discards 0.00
Total operations 1.00

*** Daily statistics since 2019-11-24 08:49:13 ***
Total inserts 1.00
Total updates 0.00
Total deletes 0.00
Total discards 0.00
Total operations 1.00

*** Hourly statistics since 2019-11-24 08:49:13 ***
Total inserts 1.00
Total updates 0.00
Total deletes 0.00
Total discards 0.00
Total operations 1.00

*** Latest statistics since 2019-11-24 08:49:13 ***
Total inserts 1.00
Total updates 0.00
Total deletes 0.00
Total discards 0.00
Total operations 1.00

End of Statistics.

目标端也已经投递源端传输过来的数据。

目标库查询test数据:
SQL> select * from test;

ID
----------
1

OGG常用命令:

添加进程、队列:add

启动进程:start exta

编辑参数:edit param exta

查看参数:view param exta

查看进程信息:info exta

查看报错信息:view report exta

查看进程状态:info all

查看具体进程状态:stats exta

以上exta为进程名

备注:

1、参数指定的端口必须一致

2、注意防火墙和互信是否配置正确

Goldengate搭建的更多相关文章

  1. oracle 11g goldengate搭建(一)

    初学ogg,基本了解ogg原理及架构之后,趁热打铁,搭建一个简单的学习环境,以实现目标:将sourcedb数据库的2个表:sourceuser.test01和sourceuser.dept通过ogg分 ...

  2. GoldenGate搭建与运维

    GolenGate介绍 GoldenGate软件是一种基于日志的结构化数据复制软件,它通过解析源数据库在线日志或归档日志获得数据的增删改变化,再将这些变化应用到目标数据库,实现源数据库与目标数据库实时 ...

  3. 10.Oracle Golden Date(ogg)的搭建和管理

    一. GoldenGate 概述 GoldenGate现在是业内成熟的数据容灾与复制产品:GoldenGate是一种基于日志的结构化数据复制方式,它通过解析源数据库在线日志或归档日志获得数据的增删改变 ...

  4. 搭建GoldenGate的单向复制环境

    配置环境: 建议在相同版本OGG(即Oracle GoldenGate)之间进行复制,我在这里之所以选择不同版本的OGG,便于后续的比较学习. 一.准备OGG的运行用户 在这里,我直接使用oracle ...

  5. 搭建一个Oracle到Oracle的Goldengate双向复制环境

    目标:搭建一个Oracle到Oracle的Goldengate双向复制环境(支持DDL+DML). 环境: OS:Red Hat Enterprise Linux Server release 5.5 ...

  6. oracle ogg 单实例双向复制搭建(oracle-oracle)--Oracle GoldenGate

    oracle ogg 单实例双向复制搭建(oracle-oracle)--Oracle GoldenGate --继昨天的测试,这一篇实施单实例双向复制(完全重新搭建) --环境不变 db1,db2( ...

  7. 【Oracle】OGG(Oracle GoldenGate)简介及搭建过程

    GoldenGate公司简介 GoldenGate公司专注于数据同步领域,是实现数据同步技术的领导者.至2007年,在全球35个国家售出超过2000个许可证,客户分布在政府.银行.电信.证券.传媒.医 ...

  8. [置顶] Oracle GoldenGate 系列:使用 Oracle ASM API DBLOGREADER 时遇 ora-01031 错误

    今天在自己新搭建的 Oracle ACFS 文件系统上测试 GoldenGate ,启动 extract 进程报如下错误: 2013-08-27 14:58:39  ERROR   OGG-00446 ...

  9. 基于Docker的GoldenGate部署

    前言 Docker最近几年异常火爆,主要是因为其方便.快捷.轻量,相对于VM,它不需要占用太多资源,随时可以创建.删除,或在已有image上添加一些软件,再制作成另一个模板image供日后使用.Doc ...

随机推荐

  1. H265Nalu头部解析

    一 NALU头部解析 F: 必须为0,为1表示语法错误.整包将被丢弃 NalType:nalu包的类型,其中VCL NAL和non-VCL NAL各有32类.0-31是vcl nal单元:32-63, ...

  2. [原题复现+审计][0CTF 2016] WEB piapiapia(反序列化、数组绕过)[改变序列化长度,导致反序列化漏洞]

    简介  原题复现:  考察知识点:反序列化.数组绕过  线上平台:https://buuoj.cn(北京联合大学公开的CTF平台) 榆林学院内可使用信安协会内部的CTF训练平台找到此题 漏洞学习 数组 ...

  3. CVE-2017-11882利用

    CVE-2017-11882是微软公布的远程执行漏洞,通杀所有office版本及Windows操作系统 工具使用 本文使用的EXP来源于unamer/CVE-2017-11882,然后结合MSF进行渗 ...

  4. CDR排钻教程-CorelDRAW服装设计中的排钻技术

    服装设计一直都是一个很火热的行业,也是一个比较高端的行业,随着时代的步伐,以前的人都是用手绘的方式来设计服装,现在不一样了,电脑可以说普及到了每一个家庭,让软件以更快的速度,更准确的数据来设计服装中的 ...

  5. mongodb查询前10条

    mongo可以通过时间或者通过id来判断上一条记录或者下一条记录,我是通过id 前10条 db.数据库名称.find({ '_id': { '$lt': ids } }).sort({_id: -1} ...

  6. keras中seq2seq实现

    这里只是简单的一个例子 输入序列 目标序列 [13, 28, 18, 7, 9, 5] [18, 28, 13] [29, 44, 38, 15, 26, 22] [38, 44, 29] [27, ...

  7. Java基础教程——Socket编程

    Socket通常也称作"套接字",用于描述IP地址和端口,可以用来实现不同虚拟机或不同计算机之间的通信. --百度百科 套接字允许应用程序插入到网络中,并与插入到网络中的其他应用程 ...

  8. redis cluster下的pipeline

    因为key在cluster分布在不同的slot,可能在不同的机器,部分redis的客户端(比如jedis)是不支持pipeline的 针对jedis我们可能要先把这些key对应的slot手机起来,得到 ...

  9. 这次我让你彻底弄懂 RESTful

    微信搜 「yes的练级攻略」干货满满,不然来掐我,回复[123]一份20W字的算法刷题笔记等你来领.欢迎分享,转载请保留出处. 本文已收录至 https://github.com/yessimida/ ...

  10. HTML-webstorm添加快捷键

    快速输入标签: 先输入标签p,按Tab键变成<p></p>,光标会在标签中间 输入内容后按end键 快速复制粘贴光标所在的一整行内容Ctrl+D 快速删除光标所在的行 Ctrl ...