奕新集团项目--Oracle 源RAC ---目标 RAC GG 搭建 11.2.3 版本 双向同步

简介: <p>奕新集团项目--Oracle 源RAC ---目标 RAC GG 搭建 11.2.3 版本 双向同步</p> <p><br></p> <p></p> <div> <ol style="padding:15px"><h4 lang="zh-chs" style="font-size:12px; font-weight:normal; margin:0px">目的</h4>

奕新集团项目--Oracle 源RAC ---目标 RAC GG 搭建 11.2.3 版本 双向同步


目的

此 Oracle 按示例 (OBE) 教程涵盖安装、 配置和管理 Oracle GoldenGate 11.2.1.0.2 一对 Linux Oracle 11gR2 数据库的版本。

完成时间

大约 3 个小时

简介

Oracle GoldenGate 提供异构数据库的非常快速复制,通过读取事务日志并写入一个或多个目标数据库所做的更改。在典型环境中涉及以下五个过程:

经理:
启动和停止的源和目标主机上的其他进程。 不需要一旦提取物或建议您使用正在运行。
初始加载:
是可选的。 用于填充在目标表一次。 它可以读取或者从源表中直接或从 ASCII 文件。 这个 OBE 将不使用初始加载。
提取:
在要交易数据捕获到轨迹文件的源上运行。 有两个版本的提取物: 经典 (此 OBE) 和集成。
数据泵:
可选,但强烈建议。 发送通过 IP 网络跟踪从源到目标文件。 从技术上讲它是二次提取。
建议您使用:
将数据传递到目标数据库。 通常建议您使用运行在目标系统上。

方案

有两个 Linux 主机运行 Oracle 11gR2: host01 (红色) 和 host02 (绿色)。Host01 有用户/架构ogguser1pswd1u,密码和管理员与用户/架构oggadm1pswd1a的密码.

Host02 有用户/架构ogguser2pswd2u,密码和管理员与用户/架构oggadm2pswd2a的密码。Host01 上有表 (TCUSTMERTCUSTORD),需要复制到 host02。注意屏幕横额,知道哪些命令要去哪个主机的颜色。此外请注意是否要输入 GGSCI 命令、 SQL 命令或操作系统命令 (提示将指导您)。

单向复制工作后,有一个可选的欲望去双向。这就需要 Oracle GoldenGate 软件 (第二次的安装目录) 的其他实例。

总之,环境是:

主机名 颜色 OS SID 用户 密码 端口 安装目录
host01 红色 Linux 64 位 orcl01 ogguser1
oggadm1
pswd1u
pswd1a
15001 /u01/app/oracle/ogg01
host02 绿色 Linux 64 位 orcl02 ogguser2
oggadm2
pswd2u
pswd2a
15002 /u01/app/oracle/ogg02

硬件和软件要求

以下是硬件和软件要求的列表:

硬件
  • Two Linux hosts: one source and one target. The example uses Oracle Enterprise Linux OEL 5.7, 64-bit. A different version of the Oracle GoldenGate software will run on Windows, or 32-bit Linux as well. It is possible to have the source and target be on the same host, but that is conceptually harder to visualize what is happening. If you do have only one host, it may be helpful to change the /etc/hosts file to make aliases forhost01.example.com and host02.example.com.
Software
  • Oracle GoldenGate on Oracle, Linux-64 ( Oracle Software Delivery Cloud ), version 11.2.1.0.2, part number V34339-01. This is the part number for 64-bit Linux.
  • Oracle 11gR2 Database installed on both hosts.

Prerequisites

Before starting this tutorial, you should:

  • Have root access to the Linux software (write access to /etc)
  • Have web access to download the software and documentation.
  • Create a database instance with SID=orcl01 on host01, and a database instance with SID=orcl02 on host02.
  • Modify tnsnames.ora on both hosts so that they can talk to each other by SID.

Bear in mind that there are two hosts: host01 and host02; and that each host has three environment prompts: OS, GGSCI, and SQL. That makes six different places in which you could be typing! Try to be extra careful about which command you enter in which location. The wrong command in the wrong context is the most common error.

印刷约定

文本颜色和字体的方向和在此屏幕中应解释如下:

Some_Command
键入作为一个命令或一个值。示例:
请输入 ./ ggsci启动的命令行解释器。
Some_Prompt
系统响应与此作为提示符或答复。示例:
在初始欢迎横幅之后, 你可以在输入命令 GGSCI (host01) 1 >提示符。
Some_Button
屏幕上单击此按钮。示例:
选择你想要的版本之后, 单击 继续以开始下载。
Some_Variable
您用来代替实际值的变量。示例:
请输入您的 用户 id/密码的提示符。
Some_Filename
文件名、 路径或文件夹/目录。示例:
编辑 /etc目录中的 hosts文件。
Some_Code
一个关键字或代码的元素。示例:
在初始加载后将 HandleCollisions参数更改为 NoHandleCollisions 

还要小心信"噢"与数字"零"。SID 是 orcl01 (哦前导空格和尾随零一)。

文件和过程的命名约定

文件和过程的命名约定可以不管为你或你的公司工作。这里是这个 OBE 中使用的示例约定:
  pxxxxhh.ext 
地点:

p= 进程 =
e  (xtract), p(ump)、 r(eplicat),(nitial)、 d(efgen), s(tartup)。
xxxx项目 = =
与相关的常见项目xxxx,例如人力资源、 销售、 engr的所有文件.
hh= 主机到主机 =
aa,ab,ba,bb,如由源和目标主机的名称在哪里 = host01 和 b = host02。 稍后您将看到不能使用数字作为一部分的一些文件的名称,所以最好不要去那儿在所有。
ext= 扩展名 =
prm= 参数 (存储在dirprm /), dsc= 丢弃, rpt= 报告 (存储在dirrpt /), def= 定义 (存储在dirdef /),体外= 服从 (存储在安装目录中), sql= SQL (存储在dirsql /).
 

1. Installing the Software

软件的安装是简单地从 web 获取的 zip 文件和解压缩它们。若要安装 Oracle GoldenGate 软件,请执行以下步骤:

 

1.1 访问 Oracle GoldenGate 文档

访问文档库。

使用 web 浏览器,请转到http://www.oracle.com/technetwork/middleware/goldengate/documentation/index.html您可以选择或者阅读文档在线,或下载到您本地工作站作为 PDF 或 HTML 格式的图书馆。

单击库视图.

Oracle 安装和设置指南,单击。阅读 Oracle 的安装指南。

您成功地访问 Oracle GoldenGate 文档作为安装软件的前提条件。

 

1.2 在 Linux 上安装 Oracle GoldenGate

从 Oracle 软件交付云复制本软件。

使用 web 浏览器,转到https://edelivery.oracle.com ,然后单击登录在页上的条款和条件,为这两项协定,请选择并单击继续.

媒体包搜索页面上,选择产品包 = Oracle 融合中间件,和平台 = Linux x 86-64.

单击.

选择Oracle GoldenGate 上 Oracle v11.2.1 媒体包为 Linux x 86-64.

单击继续.

请确保您正在在部件号V34339-01寻找"Oracle GoldenGate 的 Oracle 11 关于 Linux x 86-64g V11.2.1.0.3"。

单击下载.

解压缩软件在其上 host01 (红色) 的目录中。

创建要接收 Oracle GoldenGate 软件的安装目录。

-Linux Host01
[oggadm1@host01 /]$ cd /u01/app/oracle 
[oggadm1@host01 oracle]$ mkdir ogg01 
[oggadm1@host01 ogg01]$ cd ogg01/ 
[oggadm1@host01 ogg01]$                                                         

从你下载它到复制下载的 zip ogg01 /将其解压缩并解压缩 (摘录) 它。

-Linux Host01
[oggadm1@host01 ogg01]$ cp /stage/V34339-01.zip . 
[oggadm1@host01 ogg01]$ unzip V34339-01.zip  
Archive:  V34339-01.zip
  inflating: fbo_ggs_Linux_x64_ora11g_64bit.tar  
  inflating: Oracle_GoldenGate_11.2.1.0.3_README.doc  
  inflating: Oracle GoldenGate_11.2.1.0.3_README.txt  
  inflating: OGG_WinUnix_Rel_Notes_11.2.1.0.3.pdf  
[oggadm1@host01 ogg01]$ tar -xvpf fbo_ggs_Linux_x64_ora11g_64bit.tar 
UserExitExamples/
UserExitExamples/ExitDemo_more_recs/
UserExitExamples/ExitDemo_more_recs/Makefile_more_recs.HPUX

 ... many lines omitted for clarity ... 

ulg.sql
usrdecs.h
zlib.txt
[oggadm1@host01 ogg01]$                                                         

要注意的复制命令中的尾随圆点。

从开始的 GoldenGate 软件命令接口 (GGSCI)。创建默认的空的子目录。

-Linux Host01
[oggadm1@host01 ogg01]$ ./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 (host01) 1> Create Subdirs 

Creating subdirectories under current directory /u01/app/oracle/ogg01

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

GGSCI (host01) 2> Exit 
[oggadm1@host01 ogg01]$                                                         

如果目录已存在,则安装将离开独自该目录的内容。

为其他主机做相同的步骤。解压缩软件在其 host02 (绿色) 上的目录中。

创建要接收 Oracle GoldenGate 软件的安装目录。

-Linux Host02
[oggadm2@host02 /]$ cd /u01/app/oracle 
[oggadm2@host02 oracle]$ mkdir ogg02 
[oggadm2@host02 ogg02]$ cd ogg02/ 
[oggadm2@host02 ogg02]$                                                         

从你下载它到复制下载的 zip ogg02 /将其解压缩并解压缩 (摘录) 它。

-Linux Host02
[oggadm2@host02 ogg02]$ cp /stage/V34339-01.zip . 
[oggadm2@host02 ogg02]$ unzip V34339-01.zip  
Archive:  V34339-01.zip
  inflating: fbo_ggs_Linux_x64_ora11g_64bit.tar  
  inflating: Oracle_GoldenGate_11.2.1.0.3_README.doc  
  inflating: Oracle GoldenGate_11.2.1.0.3_README.txt  
  inflating: OGG_WinUnix_Rel_Notes_11.2.1.0.3.pdf  
[oggadm2@host02 ogg02]$ tar -xvpf fbo_ggs_Linux_x64_ora11g_64bit.tar 
UserExitExamples/
UserExitExamples/ExitDemo_more_recs/
UserExitExamples/ExitDemo_more_recs/Makefile_more_recs.HPUX

 ... many lines omitted for clarity ... 

ulg.sql
usrdecs.h
zlib.txt
[oggadm2@host02 ogg02]$                                                         

从开始的 GoldenGate 软件命令接口 (GGSCI)。创建默认的空的子目录。

-Linux Host02
[oggadm2@host02 ogg02]$ ./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 (host02) 1> Create Subdirs 

Creating subdirectories under current directory /u01/app/oracle/ogg02

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

GGSCI (host02) 2> Exit 
[oggadm2@host02 ogg02]$                                                         

如果目录已存在,则安装将离开独自该目录的内容。

您已成功安装 Oracle GoldenGate 在 Linux 主机 host01 和 host02 上。

 

2. Configuring the Environment

环境的配置是通过编辑 ASCII 文件和运行操作系统的实用程序。若要配置环境,请执行以下步骤:

 

2.1 配置 Oracle 11gR2 数据库

这一节,必须在 SQL * 加上作为 sysdba。

关于 host01,验证LOG_MODE设置为ARCHIVELOG.

-Linux Host01
[oggadm1@host01 ogg01] sqlplus / as sysdba 
SQL*Plus: Release 11.2.0.3.0 Production on Mon Sep 17 17:19:01 2012
Copyright (c) 1982, 2011, Oracle.  All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> SELECT log_mode FROM v$database; 

LOG_MODE
------------
ARCHIVELOG

SQL>                                                                            

结果应归档如果是,然后跳到下一步。如果结果是被归档,然后执行下列操作:

-Linux Host01
LOG_MODE
------------
NOARCHIVELOG

SQL> shutdown immediate 
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount 
ORACLE instance started.

Total System Global Area 3340451840 bytes
Fixed Size                  2232960 bytes
Variable Size            1811942784 bytes
Database Buffers         1509949440 bytes
Redo Buffers               16326656 bytes
Database mounted.
SQL> ALTER DATABASE ARCHIVELOG; 
Database altered.

SQL> ALTER DATABASE OPEN; 
Database altered.

SQL> SELECT log_mode FROM v$database; 

LOG_MODE
------------
ARCHIVELOG

SQL>                                                                            

验证正确设置补充日志记录和强迫的日志记录。

-Linux Host01
SQL> SELECT force_logging, supplemental_log_data_min FROM v$database;

FOR SUPPLEME
--- --------
YES YES

SQL>                                                                            

结果都应该是的如果是,然后跳到下一步。如果任一结果为,然后执行下列操作:

-Linux Host01
FOR SUPPLEME
--- --------
NO  NO

SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA; 
Database altered.

SQL> ALTER DATABASE FORCE LOGGING; 
Database altered.

SQL> ALTER SYSTEM SWITCH LOGFILE; 
System altered.

SQL> SELECT force_logging, supplemental_log_data_min FROM v$database;

FOR SUPPLEME
--- --------
YES YES

SQL>                                                                            

有两次做命令没有害处。

在 host01 上创建的管理员和用户/架构所有者。

在现实生活中的用户/架构所有者可能会更多的特权,和管理员将会有较少的权限。DBMS_GOLDENGATE_AUTH包不需要为此 OBE,但通常用于更高级的配置,所以这是个好主意,在这里见到它。奇怪的是,DBA 角色是不足够的高级方案 ;您还必须运行DBMS_GOLDENGATE_AUTH包。时在DBMS_GOLDENGATE_AUTH命令中键控, EXEC后没有空格或行的整个字符串断开。

-Linux Host01
SQL> CREATE USER ogguser1 IDENTIFIED BY pswd1u; 
User created.

SQL> CREATE USER oggadm1 IDENTIFIED BY pswd1a; 
User created.

SQL> GRANT CONNECT, RESOURCE, UNLIMITED TABLESPACE TO ogguser1; 
Grant succeeded. 

SQL> GRANT dba TO oggadm1; 
Grant succeeded. 

SQL> EXEC DBMS_GOLDENGATE_AUTH.GRANT_ADMIN_PRIVILEGE (grantee=>'OGGADM1',privile
ge_type=>'capture',grant_select_privileges=>true, do_grants=>TRUE); 
PL/SQL procedure successfully completed.

SQL> exit 
[oggadm1@host01 ogg01]$                                                         

验证这两个数据库是可以彼此交谈。

测试与tnsping数据库间通信.

-Linux Host01
[oggadm1@host01 ogg01]$ tnsping orcl01 
TNS Ping Utility for Linux: Version 11.2.0.3.0 - Production on 17-SEP-2012 18:52
Copyright (c) 1997, 2011, Oracle.  All rights reserved.
Used parameter files:

Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(
HOST = host01.example.com)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = orcl01.
example.com)))
OK (0 msec)

[oggadm1@host01 ogg01]$ tnsping orcl02; 
TNS Ping Utility for Linux: Version 11.2.0.3.0 - Production on 17-SEP-2012 18:52
Copyright (c) 1997, 2011, Oracle.  All rights reserved.
Used parameter files:

Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(
HOST = host02.example.com)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = orcl02.
example.com)))
OK (10 msec)

[oggadm1@host01 ogg01]$                                                         

结果应该是确定如果是,然后跳到下一步。如果它不是确定,然后执行下列操作来检查tnsnames.ora.

-Linux Host01
[oggadm1@host01 ogg01]$ more $ORACLE_HOME/network/admin/tnsnames.ora 
# tnsnames.ora Network Configuration File: /u01/app/oracle/product/11.2.0/dbhome_
1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.

ORCL02 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = host02.example.com)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl02.example.com)
    )
  )

ORCL01 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = host01.example.com)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl01.example.com)
    )
  )

[oggadm1@host01 ogg01]$                                                         

你应该有 orcl01 和 orcl02 在tnsnames.ora中定义.

您的数据库 orcl01 host01 上做的一切都需要做为上 host02 orcl02。

关于 host02,验证LOG_MODE设置为ARCHIVELOG.

-Linux Host02
[oggadm2@host02 ogg02] sqlplus / as sysdba 
SQL*Plus: Release 11.2.0.3.0 Production on Mon Sep 17 17:19:01 2012
Copyright (c) 1982, 2011, Oracle.  All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> SELECT log_mode FROM v$database; 

LOG_MODE
------------
ARCHIVELOG

SQL>                                                                            

结果应归档如果是,然后跳到下一步。如果结果是被归档,然后执行下列操作:

-Linux Host02
LOG_MODE
------------
NOARCHIVELOG

SQL> shutdown immediate 
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount 
ORACLE instance started.

Total System Global Area 3340451840 bytes
Fixed Size                  2232960 bytes
Variable Size            1811942784 bytes
Database Buffers         1509949440 bytes
Redo Buffers               16326656 bytes
Database mounted.
SQL> ALTER DATABASE ARCHIVELOG; 
Database altered.

SQL> ALTER DATABASE OPEN; 
Database altered.

SQL> SELECT log_mode FROM v$database; 

LOG_MODE
------------
ARCHIVELOG

SQL>                                                                            

验证正确设置补充日志记录和强迫的日志记录。

-Linux Host02
SQL> SELECT force_logging, supplemental_log_data_min FROM v$database;

FOR SUPPLEME
--- --------
YES YES

SQL>                                                                            

结果都应该是的如果是,然后跳到下一步。如果任一结果为,然后执行下列操作:

-Linux Host02
FOR SUPPLEME
--- --------
NO  NO

SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA; 
Database altered.

SQL> ALTER DATABASE FORCE LOGGING; 
Database altered.

SQL> ALTER SYSTEM SWITCH LOGFILE; 
System altered.

SQL> SELECT force_logging, supplemental_log_data_min FROM v$database;

FOR SUPPLEME
--- --------
YES YES

SQL>                                                                            

有两次做命令没有害处。

在 host02 上创建的管理员和用户/架构所有者。

-Linux Host02
SQL> CREATE USER ogguser2 IDENTIFIED BY pswd2u; 
User created.

SQL> CREATE USER oggadm2 IDENTIFIED BY pswd2a; 
User created.

SQL> GRANT CONNECT, RESOURCE, UNLIMITED TABLESPACE TO ogguser2; 
Grant succeeded. 

SQL> GRANT dba TO oggadm2; 
Grant succeeded. 

SQL> EXEC DBMS_GOLDENGATE_AUTH.GRANT_ADMIN_PRIVILEGE (grantee=>'OGGADM2',privile
ge_type=>'capture',grant_select_privileges=>true, do_grants=>TRUE); 
PL/SQL procedure successfully completed.

SQL> exit 
[oggadm2@host02 ogg02]$                                                         

验证这两个数据库是可以彼此交谈。

测试与tnsping数据库间通信.

-Linux Host02
[oggadm2@host02 ogg02]$ tnsping orcl01 
TNS Ping Utility for Linux: Version 11.2.0.3.0 - Production on 17-SEP-2012 18:52
Copyright (c) 1997, 2011, Oracle.  All rights reserved.
Used parameter files:

Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(
HOST = host01.example.com)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = orcl01.
example.com)))
OK (0 msec)

[oggadm2@host02 ogg02]$ tnsping orcl02; 
TNS Ping Utility for Linux: Version 11.2.0.3.0 - Production on 17-SEP-2012 18:52
Copyright (c) 1997, 2011, Oracle.  All rights reserved.
Used parameter files:

Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(
HOST = host02.example.com)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = orcl02.
example.com)))
OK (10 msec)

[oggadm2@host02 ogg02]$                                                         

结果应该是确定如果是,然后跳到下一步。如果它不是确定,然后执行下列操作来检查tnsnames.ora.

-Linux Host02
[oggadm2@host02 ogg02]$ more $ORACLE_HOME/network/admin/tnsnames.ora 
# tnsnames.ora Network Configuration File: /u01/app/oracle/product/11.2.0/dbhome_
1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.

ORCL02 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = host02.example.com)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl02.example.com)
    )
  )

ORCL01 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = host01.example.com)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl01.example.com)
    )
  )

[oggadm2@host02 ogg02]$                                                         

你应该有 orcl01 和 orcl02 在tnsnames.ora中定义.

关于 host01 和 host02 数据库配置为支持 Oracle Goldengate。调配上的每个数据库的用户: 一个 (或多个) 用户和管理员为每个主机。

 

2.2 创建启动文件和经理

全局变量上创建文件 host01 (红色) 使用您选择的文本编辑器的 Oracle GoldenGate 安装目录中。

它是可能创建和/或编辑中的全局变量的文件里面 GGSCI 通过在名称前面加"./"。例如:
GGSCI >编辑 Param。 / 全局变量
只是对于它生效,您必须离开和重新输入 GGSCI,所以您可能以及做之前你第一次启动 GGSCI GGSCI 外编辑了。

全局变量文件名称必须是全部大写,和它只包含一行 (加上— — 的评论) 定义的检查点的表架构和名称。您可以使用任何架构和任何名称。您可以使用vigedit或任何文本编辑器。

-Linux Host01
[oggadm1@host01 ogg01] vi GLOBALS
-- Created by Joe Admin 10/11/2012 on host01
CheckpointTable oggadm1.oggchkpt 

[oggadm1@host01 ogg01]                                                          

检查点表仅由建议您使用使用,所以这将不会使用直到双向部分。有它存在和未使用不会伤害任何东西。

全局变量上创建文件 host02 (绿色) 的 Oracle GoldenGate 安装目录中。

-Linux Host02
[oggadm2@host02 ogg02]$ vi GLOBALS
-- Created by Joe Admin 10/11/2012 on host02
CheckpointTable oggadm2.oggchkpt 

[oggadm2@host02 ogg02]$                                                         

全局变量的文件的任何更改需要重新启动的 GGSCI。

可选startup.oby (服从) 上创建文件 host01 (红色) 的 Oracle GoldenGate 安装目录中。

这些都是几乎每一次您启动 GGSCI,并且它们不会保存会话之间完成的 GGSCI 命令,所以你会发现你进入他们很多,很多时候,因此它是方便地创建启动服从文件。

如果您有几个不同的数据库或多个架构你登录到定期的基础上,您可能想要startup01.oby、 startup02.oby、 startup03.oby,等等。这将重新以后在处理文件的命名约定。

-Linux Host01
[oggadm1@host01 ogg01] vi startup.oby
-- Created by Joe Admin 10/11/2012 on host01
DBLogin UserID oggadm1@orcl01, Password pswd1a
Start Mgr
Info Mgr
Info CheckpointTable 
Set Editor gedit 

[oggadm1@host01 ogg01]                                                          
DBLogin:
连接到使用userid@SID/password指定的 DB。 @SID是可选的如果不有任何含糊之处。
启动 Mgr:
如果已经启动管理器,没有危害,试图再次启动它。 这是持久性会话之间。
信息经理:
报告如果成功,启动管理器,如果如此,正在使用的端口号。
信息 CheckpointTable:
如果检查点表 (由建议您使用使用) 被发现的报告。
设置编辑器:
默认情况下是您可以临时更改,到 GUI 编辑器如gedit.

可选startup.oby (服从) 上创建文件 host02 (绿色) 的 Oracle GoldenGate 安装目录中。

-Linux Host02
[oggadm2@host02 ogg02]$ vi startup.oby
-- Created by Joe Admin 10/11/2012 on host02
DBLogin UserID oggadm2@orcl02, Password pswd2a
Start Mgr
Info Mgr
Info CheckpointTable 
Set Editor gedit 

[oggadm2@host02 ogg02]$                                                         

管理器参数 (mgr.prm) 上创建文件的 host01 dirprm /.

启动 GGSCI。编辑不带扩展名的文件。添加两行 (加注释)。

-Linux Host01
[oggadm1@host01 ogg01] ./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 (host01) 1> Edit Param mgr 
-- Created by Joe Admin 10/11/2012 on host01
Port 15001
PurgeOldExtracts ./dirdat/*, UseCheckpoints 

GGSCI (host01) 2> Info mgr 
Manager is DOWN!

GGSCI (host01) 3>                                                               

注:如果你这样做是否正确,GGSCI 自动添加.prm扩展名和存储中的文件dirprm /目录。如果您错误地添加扩展自己,GGSCI 将文件名转换为大写,并将其存储在呈现几乎无法使用该文件的安装目录中。

管理器参数 (mgr.prm) 上创建文件在 host02 dirprm /.

-Linux Host02
[oggadm2@host02 ogg02]$ ./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 (host02) 1> Edit Param mgr 
-- Created by Joe Admin 10/11/2012 on host02
Port 15002
PurgeOldExtracts ./dirdat/*, UseCheckpoints 

GGSCI (host02) 2> Info mgr 
Manager is DOWN!

GGSCI (host02) 3>                                                               

请注意端口号是不同的 host01 到 host02。如果 Oracle GoldenGate 实例在不同的主机上,您不必使端口不同,只要 IP 地址加上端口的组合是唯一。然而,它是一个好的做法,使端口具有唯一性。

启动管理器 host01 上使用服从的文件。或者,您可以键入的每一行每次启动时 GGSCI。

-Linux Host01
GGSCI (host01) 3> Obey startup.oby 

GGSCI (host01) 4> -- Created by Joe Admin 10/11/2012 on host01

GGSCI (host01) 5> DBLogin UserID oggadm1@orcl01, Password pswd1a
Successfully logged into database.

GGSCI (host01) 6> Start Mgr
Manager started.

GGSCI (host01) 7> Info Mgr
Manager is running (IP port host01.example.com.15001).

GGSCI (host01) 8> Info CheckpointTable 

No checkpoint table specified, using GLOBALS specification (oggadm1.oggchkpt)...
Checkpoint table oggadm1.oggchkpt does not exist.

GGSCI (host01) 9> Set Editor gedit 

GGSCI (host01) 10>                                                              

您将在下一步中创建检查点表。

启动管理器上 host02 使用服从的文件。

-Linux Host02
GGSCI (host02) 3> Obey startup.oby 

GGSCI (host02) 4> -- Created by Joe Admin 10/11/2012 on host02

GGSCI (host02) 5> DBLogin UserID oggadm2@orcl02, Password pswd2a
Successfully logged into database.

GGSCI (host02) 6> Start Mgr
Manager started.

GGSCI (host02) 7> Info Mgr
Manager is running (IP port host02.example.com.15002).

GGSCI (host02) 8> Info CheckpointTable 

No checkpoint table specified, using GLOBALS specification (oggadm2.oggchkpt)...
Checkpoint table oggadm2.oggchkpt does not exist.

GGSCI (host02) 9> Set Editor gedit 

GGSCI (host02) 10>                                                              

您将在下一步中创建检查点表。

所有创建的全球和启动文件,并且背景管理器进程启动。您可以验证哪些进程正在运行在任何时间通过输入命令:
GGSCI (主机) >所有信息

 

2.3 创建表

在 host01 上创建检查点表。(在源系统上,则不需要,所以这是不会用于单向复制,但当 host01 成为目标将用于双向复制)。

-Linux Host01
GGSCI (host01) 10>  Add CheckpointTable 

No checkpoint table specified, using GLOBALS specification (oggadm1.oggchkpt).
Successfully created checkpoint table oggadm1.oggchkpt.

GGSCI (host01) 11>  Exit  

[oggadm1@host01 ogg01]                                                          

一个检查点表将足够的整个架构。

在 host02 上创建检查点表。

-Linux Host02
GGSCI (host02) 10>  Add CheckpointTable 

No checkpoint table specified, using GLOBALS specification (oggadm2.oggchkpt).
Successfully created checkpoint table oggadm2.oggchkpt.

GGSCI (host02) 11>  Exit  

[oggadm2@host02 ogg02]$                                                         

在架构 ogguser1 在 host01 上创建空的源代码示例表。

如果你已经有示例表,您可以使用那些。如果不是,Oracle GoldenGate 软件附带的脚本demo_ora_create.sql来创建两个小样本表tcustmertcustord您可以使用任何 SQL 实用程序要运行该脚本。如果您有没有首选项,请使用sqlplus.

-Linux Host01
[oggadm1@host01 ogg01] sqlplus ogguser1@orcl01/pswd1u @demo_ora_create.sql 

SQL*Plus: Release 11.2.0.3.0 Production on Tue Sep 18 14:38:50 2012
Copyright (c) 1982, 2011, Oracle.  All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

DROP TABLE tcustmer
           *
ERROR at line 1:
ORA-00942: table or view does not exist

Table created.

DROP TABLE tcustord
           *
ERROR at line 1:
ORA-00942: table or view does not exist

Table created.

SQL> exit 
[oggadm1@host01 ogg01]                                                          

ORA 00942 "错误"是可以忽略的。如果您运行该脚本的第二次你不会看到这些错误。

警告!如果您第二次运行该脚本,它将删除表 !

在架构 ogguser2 host02 上创建空目标示例表。

-Linux Host02
[oggadm2@host02 ogg02] sqlplus ogguser2@orcl02/pswd2u @demo_ora_create.sql 

SQL*Plus: Release 11.2.0.3.0 Production on Tue Sep 18 14:44:06 2012
Copyright (c) 1982, 2011, Oracle.  All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

DROP TABLE tcustmer
           *
ERROR at line 1:
ORA-00942: table or view does not exist

Table created.

DROP TABLE tcustord
           *
ERROR at line 1:
ORA-00942: table or view does not exist

Table created.

SQL> exit 
[oggadm2@host02 ogg02]$                                                         

Oracle 11gR2 不支持复制 DDL (如创建表,并因此空创建的表可能以其他方式在目标系统上任何 DML 复制开始之前。

您可以检查表可用任何时间 GGSCI 正在运行 (在您登录到数据库运行服从 startup.oby ) 后输入的命令:

GGSCI (host) >  List Tables * 
GGSCI (host) >  List Tables ogguser1.* 
 

2.4 添加交易记录数据

重新启动 GGSCI,为整个用户架构运行添加 TranData 。

-Linux Host01
[oggadm1@host01 ogg01] ./ggsci 
Oracle GoldenGate Command Interpreter for Oracle
 ... many lines omitted for clarity ... 

GGSCI (host01) 1> Obey startup.oby 

 ... many lines omitted for clarity ... but make sure everything started.

GGSCI (host01) > List Tables * 
OGGADM1.OGGCHKPT
OGGADM1.OGGCHKPT_LOX

Found 2 tables matching list criteria.

GGSCI (host01) > List Tables ogguser1.* 
OGGUSER1.TCUSTMER
OGGUSER1.TCUSTORD

Found 2 tables matching list criteria.

GGSCI (host01) > Add TranData ogguser1.tcustmer 

Logging of supplemental redo data enabled for table OGGUSER1.TCUSTMER.

GGSCI (host01) > Add TranData ogguser1.tcust* 

Logging of supplemental redo log data is already enabled for table OGGUSER1.TCUST
MER.

Logging of supplemental redo data enabled for table OGGUSER1.TCUSTORD.

GGSCI (host01) > Info TranData ogguser1.* 

Logging of supplemental redo log data is enabled for table OGGUSER1.TCUSTMER.
Columns supplementally logged for table OGGUSER1.TCUSTMER: CUST_CODE.

Logging of supplemental redo log data is enabled for table OGGUSER1.TCUSTORD.
Columns supplementally logged for table OGGUSER1.TCUSTORD: CUST_CODE, ORDER_DATE,
 PRODUCT_CODE, ORDER_ID.

GGSCI (host01) xx>                                                            

请注意您可以添加单个表或使用通配符的交易数据。使用通配符可以为整个架构,但有更好的方法来做整个架构。有两次添加事务数据没有害处。

做上 host02 几乎同样的事。(这不需要在目标系统上,所以这是不会用于单向复制,但当 host02 成为源将用于双向复制)。

使用SchemaTranData而不是只是TranData.

-Linux Host02
[oggadm2@host02 ogg02] ./ggsci 
Oracle GoldenGate Command Interpreter for Oracle
 ... many lines omitted for clarity ... 

GGSCI (host02) 1> Obey startup.oby 

 ... many lines omitted for clarity ... but make sure everything started.

GGSCI (host02) >  List Tables ogguser2.* 
OGGUSER2.TCUSTMER
OGGUSER2.TCUSTORD

Found 2 tables matching list criteria.

GGSCI (host02) > Add SchemaTranData ogguser2 
2012-09-18 15:18:34  INFO    OGG-01788  SCHEMATRANDATA has been added on schema o
gguser2.

GGSCI (host02) > Info SchemaTranData ogguser2 
2012-09-18 15:21:06  INFO    OGG-01785  Schema level supplemental logging is enab
led on schema OGGUSER2.

GGSCI (host02) xx>                                                            

复制的最终结果是一样的但有几个行政区别在使用SchemaTranData:

  • 没有表显示当您查询信息 TranData ogguser2.*,但事实上启用它们。
  • 添加到架构中的任何新表成为自动启用事务数据日志记录 (与平原老TranData你要手动添加新的表每个补充日志记录的时间)。
  • 不是所有其他 OEM 数据库支持SchemaTranData.

涉及与 Oracle GoldenGate 的所有用户表已都启用的交易数据。

 

2.5 创建列定义 (defgen)

创建从来源到使用 OS 实用程序的目标表的列映射。

如果表有一个不同的 (异类) 结构,但仍然高度建议,即使这些表具有相同的 (同类) 结构,则需要使用此实用程序。如果他们确实有相同的结构,您可能能够使用AssumeTargetDefs参数,而不是SourceDefs参数。这会稍后介绍。

请审查的文件和进程命名约定概述主题。

-Linux Host01
GGSCI (host01) >  Edit Param dsalesab
-- defgen column definitions for Sales: tcust* from host01 (a) to host02 (b)
-- Created by Joe Admin on 10/11/2012
DefsFile dirdef/dsalesab.def, Purge
UserID oggadm1@orcl01, Password pswd1a
Table ogguser1.tcust*; 

GGSCI (host01) >  Exit 

[oggadm1@host01 ogg01] ./defgen paramfile dirprm/dsalesab.prm 
***********************************************************************
      Oracle GoldenGate Table Definition Generator for Oracle

 ... many lines omitted for clarity ... 

Expanding wildcard ogguser1.tcust*:

Retrieving definition for OGGUSER1.TCUSTMER
Retrieving definition for OGGUSER1.TCUSTORD

Definitions generated for 2 tables in dirdef/dsalesab.def

[oggadm1@host01 ogg01]                                                          

您可以一次创建单个表、 多个表 (使用通配符)、 整个架构或多个架构的定义。有"过剩"(即未使用由 Oracle GoldenGate) 文件中的定义不是一个问题。你可能想要将它发送到 host02 之前检查dirdef/dsalesab.def的内容。

源 host01 目标 host02 从复制的文件。

使用无论何种方法您希望复制.def文件到目标dirdef目录: 剪切-n-粘贴、 scp、 ftp,等等。该示例将使用安全 shell 副本 (scp)。/u01/app/oracle/og后不会中断命令行, scp命令输入全部在一行上。

-Linux Host01
[oggadm1@host01 ogg01] scp dirdef/dsalesab.def oggadm2@host02:/u01/app/oracle/og
g02/dirdef
The authenticity of host 'host02 (192.0.2.29)' can't be established.
RSA key fingerprint is 8e:60:d0:a7:fc:55:6e:d9:81:bb:c9:90:19:f4:a8:11.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'host02,192.0.2.29' (RSA) to the list of known hosts.
oggadm2@host02's password: ********
dsalesab.def                                   100% 1877     1.8KB/s   00:00

[oggadm1@host01 ogg01]                                                          

当然您用您的密码,例如pswd2a替换星号.

请确保这些文件上的适当目录中 host02 完好无损地到达。

-Linux Host02
[oggadm2@host02 ogg02]$ ls -l dirdef
total 4
-rw-r--r-- 1 oggadm2 oinstall 1877 Sep 18 13:43 dsalesab.def
[oggadm2@host02 ogg02]$                                                         

列定义创建和复制。如果表结构发生变化,您需要再这么做了。

 

3. Configuring Data Capture Using Extract

数据捕获,也称为提取物,是源一边完成的。主要的提取物是必需的 ;二次提取物,称为数据抽取,是可选的但强烈建议。若要配置数据捕获,请执行以下步骤:

 

3.1 配置主要提取物

在源 host01 上创建主提取参数文件。

使用概述中讨论的命名约定, path/filename.ext将是dirprm/esalesaa.prm将自动添加的路径和扩展名。(主要的提取物可以跟踪文件直接写入目标主机,案件后缀将会是"ab",但因为它在离开源主机前去本地数据泵,后缀是"aa"。所有这一切都只是公约 》,您可以命名过程你想要什么)。

-Linux Host01
[oggadm1@host01 ogg01] ./ggsci 
Oracle GoldenGate Command Interpreter for Oracle
 ... many lines omitted for clarity ... 

GGSCI (host01) 1> Obey startup.oby 

 ... many lines omitted for clarity ... but make sure everything started.

GGSCI (host01) > Edit Param esalesaa 
-- Primary Extract from host01 to host02
-- Created by Joe Admin on 10/11/2012
-- SETENV(ORACLE_SID = "orcl01")
Extract esalesaa
ExtTrail ./dirdat/aa
UserID oggadm1@orcl01, Password pswd1a
-- TranLogOptions ExcludeUser oggadm1
Table ogguser1.tcust*; 

GGSCI (host01) >                                                                

一些参数:

-- :
注释。 对于自记录的文件,以及存储可在以后使用的参数内联非常有用。
SETENV:
您必须在某个地方定义的 SID (数据库系统标识符): 在.profile或中的用户 IdSETENV在这里。只有一个地方是必要的但如果你在这里定义它它会重写任何先前定义的.profile.
ExtTrail:
不真的"外部"如果你使用的数据泵。
aa:
序列号是 appendeded 到此字母前缀。 例如,跟踪文件的命名aa000000、 aa000001、 aa000002,和等等,翻身的文件超出指定的大小 (默认值 100 MB)。
TranLogOptions:
由双向复制在以后用来防止循环。
表:
你可以有多个的语句,每个具有一个表名称 (使用可选的通配符) 解析为零、 一个或更多的表。 您不能在架构名称中使用通配符。

它是可能进行加密的密码在文件中,但这就是超出了这项工作的范围。

您可以通过输入视图 Param esalesaa任何时间检查你的工作。

创建提取物组和本地的提取物轨迹文件。

-Linux Host01
GGSCI (host01) > Add Extract esalesaa, TranLog, Begin Now 
EXTRACT added.

GGSCI (host01) > Add ExtTrail ./dirdat/aa, Extract esalesaa, Megabytes 5
EXTTRAIL added.

GGSCI (host01) >                                                                

兆字节 5是可选的。默认值是 100 兆字节。

主要的提取物已创建和配置,但不是启动。离开 GGSCI 的下一步运行。

 

3.2 配置数据泵

创建辅助提取 (数据泵) 参数文件。

使用概述中讨论的命名约定, path/filename.ext将是dirprm/psalesab.prm将自动添加的路径和扩展名。

-Linux Host01
GGSCI (host01) > Edit Param psalesab 
-- Data pump (secondary Extract) from host01 to host02
-- Created by Joe Admin on 10/11/2012
Extract psalesab
RmtHost host02, MgrPort 15002, Compress
RmtTrail ./dirdat/ab
Passthru
Table ogguser1.tcust*; 

GGSCI (host01) >                                                                

架构是.

您可以通过输入视图 Param psalesab任何时间检查你的工作。

创建数据泵组和远程提取物轨迹文件。

-Linux Host01
GGSCI (host01) > Add Extract psalesab, ExtTrailSource ./dirdat/aa 
EXTRACT added.

GGSCI (host01) > Add RmtTrail ./dirdat/ab, Extract psalesab, Megabytes 5
RMTTRAIL added.

GGSCI (host01) >                                                                

兆字节 5是可选的。默认值是 100 兆字节。

从本地径数据泵读取文件aa和远程写入跟踪文件ab将创建的远程跟踪文件将被命名为dirdat/ab000000,然后当那一个填充了下一步将是dirdat/ab000001,然后dirdat/ab000002,等等。因为这两套轨迹文件是在不同的主机上 (即使他们是在具有相同名称的目录中),这些文件可以命名的同样的事情 (例如ab)。选择不同的文件名称只是为了说明RmtTrail参数创建不同的轨迹文件。

二次提取已创建和配置,但不是启动。离开 GGSCI 的下一步运行。

 

3.3 验证 (可选) 的提取过程

请确保提取进程被创建并已正确注册。

-Linux Host01
GGSCI (host01) > Info All 

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING
EXTRACT     STOPPED     ESALESAA    00:00:00      00:03:24
EXTRACT     STOPPED     PSALESAB    00:00:00      00:01:22

GGSCI (host01) >                                                                

以来没有其他比不过,启动管理器提取状态应该说已停止.

请确保轨迹文件被创建并已正确注册。

-Linux Host01
GGSCI (host01) > Info ExtTrail *

       Extract Trail: ./dirdat/aa
             Extract: ESALESAA
               Seqno: 0
                 RBA: 0
           File Size: 5M

       Extract Trail: ./dirdat/ab
             Extract: PSALESAB
               Seqno: 0
                 RBA: 0
           File Size: 5M

GGSCI (host01) >                                                                

因为没有什么尚未开始的序列号 (Seqno) 和相对字节地址 (RBA) 应该说0.

离开 GGSCI 的下一步运行。

 

4. Configuring Data Delivery Using Replicat

数据传递,也称为建议您使用 ("e"左关闭故意),是在目标端。要配置数据传递,请执行以下步骤:

 

4.1 配置建议您使用

在目标 host02 创建建议您使用参数文件。

-Linux Host02
[oggadm2@host02 ogg02]$ ./ggsci 
Oracle GoldenGate Command Interpreter for Oracle
 ... many lines omitted for clarity ... 

GGSCI (host02) 1> Obey startup.oby 

 ... many lines omitted for clarity ... but make sure everything started.

GGSCI (host02) > Edit Param rsalesab
-- Delivery from host01 to host02
-- Created by Joe Admin on 10/11/2012
Replicat rsalesab
UserID oggadm2@orcl02, password pswd2a
-- AssumeTargetDefs
SourceDefs dirdef/dsalesab.def
DiscardFile dirrpt/rsalesab.dsc, Append
Map ogguser1.tcustmer, Target ogguser2.tcustmer;
Map ogguser1.*,        Target ogguser2.*;       

GGSCI (host02) >                                                                

地图语句可以是简单的 (如这里所示),或非常复杂,转型的列和字段。例如,您可以将合并三个源列客套、 middle_init、 姓到单个目标列full_name.

创建建议您使用进程。

-Linux Host02
GGSCI (host02) > Add Replicat rsalesab, ExtTrail ./dirdat/ab 
REPLICAT added.

GGSCI (host02) >                                                                

您可以通过输入视图 Param rsalesab任何时间检查你的工作。

请确保建议您使用进程被创建并已正确注册。

-Linux Host02
GGSCI (host02) > Info All 

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING                                           
REPLICAT    STOPPED     RSALESAB    00:00:00      00:00:33    

GGSCI (host02) >                                                                

以来没有其他比不过,启动管理器建议您使用状态应该说已停止.

 

4.2 启动的所有进程

在源系统上启动提取的所有进程。

-Linux Host01
GGSCI (host01) > Start Extract * 

Sending START request to MANAGER ...
EXTRACT ESALESAA starting

Sending START request to MANAGER ...
EXTRACT PSALESAB starting

GGSCI (host01) >                                                                

或者,您可以输入,开始 *,或启动 e *p *.

在目标系统上启动所有建议您使用进程。

-Linux Host02
GGSCI (host02) > Start Replicat *

Sending START request to MANAGER ...
REPLICAT RSALESAB starting

GGSCI (host02) >                                                                

或者,您可以输入,开始 *,或启动 rsales *.

在目标系统上显示所有进程的信息。

显示摘要信息。

-Linux Host02
GGSCI (host02) > Info All 

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING                                           
REPLICAT    RUNNING     RSALESAB    00:00:00      00:00:03    

GGSCI (host02) >                                                                

显示更多的信息。

-Linux Host02
GGSCI (host02) > Info rsalesab 

REPLICAT   RSALESAB  Last Started 2012-09-19 19:13   Status RUNNING
Checkpoint Lag       00:00:00 (updated 00:00:04 ago)
Log Read Checkpoint  File ./dirdat/bc000001
                     First Record  RBA 0

GGSCI (host02) >                                                                

显示的最详细的信息。

-Linux Host02
GGSCI (host02) > Info rsalesab, Detail 

REPLICAT   RSALESAB  Last Started 2012-09-19 19:13   Status RUNNING
Checkpoint Lag       00:00:00 (updated 00:00:09 ago)
Log Read Checkpoint  File ./dirdat/ab000000
                     First Record  RBA 0

  Extract Source                          Begin             End             

  ./dirdat/ab000000                       * Initialized *   First Record    
  ./dirdat/ab000000                       * Initialized *   First Record    

Current directory    /u01/app/oracle/ogg02

Report file          /u01/app/oracle/ogg02/dirrpt/RSALESAB.rpt
Parameter file       /u01/app/oracle/ogg02/dirprm/rsalesab.prm
Checkpoint file      /u01/app/oracle/ogg02/dirchk/RSALESAB.cpr
Checkpoint table     oggadm2.oggchkpt
Process file         /u01/app/oracle/ogg02/dirpcs/RSALESAB.pcr
Stdout file          /u01/app/oracle/ogg02/dirout/RSALESAB.out
Error log            /u01/app/oracle/ogg02/ggserr.log

GGSCI (host02) >                                                                

在所有情况下,状态运行,和最后的更新或检查点以来的时间应该是在 10 秒钟。

在源系统上显示所有进程的信息。

显示摘要信息。

-Linux Host01
GGSCI (host01) > Info All 

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING
EXTRACT     RUNNING     ESALESAA    00:00:00      00:00:04
EXTRACT     RUNNING     PSALESAB    00:00:00      00:00:05

GGSCI (host01) >                                                                

显示详细的信息。

-Linux Host01
GGSCI (host01) > Info Extract *

EXTRACT    ESALESAA  Last Started 2012-09-19 19:12   Status RUNNING
Checkpoint Lag       00:00:00 (updated 00:00:08 ago)
Log Read Checkpoint  Oracle Redo Logs
                     2012-09-19 19:21:49  Seqno 18, RBA 29845504
                     SCN 0.1372459 (1372459)

EXTRACT    PSALESAB  Last Started 2012-09-19 19:12   Status RUNNING
Checkpoint Lag       00:00:00 (updated 00:00:01 ago)
Log Read Checkpoint  File ./dirdat/ab000000
                     First Record  RBA 0

GGSCI (host01) > Exit
[oggadm1@host01 ogg01]                                                          

建议您使用与类似,地位运行,并最后更新或检查点以来的时间应该是在 10 秒钟。

一切都应显示正在运行的状态。源的表是仍然为空。没有数据有流动了,然而,没有任何已复制尚未。

 

5. Generating Data

Oracle GoldenGate 软件附带的 SQL 脚本,生成示例数据流量。有你如何复制现有的表 (更复杂) 与开始一个新的空表 (简单) 的差异。若要生成示例数据对空集的表,请执行以下步骤:

 

5.1 生成插入 (初始加载)

运行 SQL 脚本中插入行。

关于源 host01 在操作系统提示符处,运行demo_ora_insert.sql脚本在sqlplus.

-Linux Host01
[oggadm1@host01 ogg01] sqlplus ogguser1@orcl01/pswd1u @demo_ora_insert.sql

SQL*Plus: Release 11.2.0.3.0 Production on Wed Sep 19 19:27:03 2012
Copyright (c) 1982, 2011, Oracle.  All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

1 row created.

1 row created.

1 row created.

1 row created.

Commit complete.

SQL>                                                                            

不应的任何错误。离开 SQL * 再加上为下一步运行。

验证行被插入的源表。

-Linux Host01
SQL> SELECT * FROM tcustmer; 

CUST_CODE  NAME                           CITY                 STATE
---------- ------------------------------ -------------------- ------
WILL       BG SOFTWARE CO.                SEATTLE              WA
JANE       ROCKY FLYER INC.               DENVER               CO

SQL> SELECT * FROM tcustord; 

CUST ORDER_DAT PRODUCT_   ORDER_ID PRODUCT_PRICE PRODUCT_AMOUNT TRANSACTION_ID
---- --------- -------- ---------- ------------- -------------- --------------
WILL 30-SEP-94 CAR             144         17520              3            100
JANE 11-NOV-95 PLANE           256        133300              1            100

SQL> exit 
[oggadm1@host01 ogg01]                                                          

验证源 GGSCI 提取程序仍在运行。

在源 host01 上输入下面的命令:

-Linux Host01
[oggadm1@host01 ogg01] ./ggsci 
GGSCI (host01) 1> Info All 

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING
EXTRACT     RUNNING     ESALESAA    00:00:00      00:00:00
EXTRACT     RUNNING     PSALESAB    00:00:00      00:00:06

GGSCI (host01) 2> Exit 
[oggadm1@host01 ogg01]                                                          

如果地位中止,然后检查该进程 (作为以后的主题覆盖) 的报告来看看出了什么错误。

请验证目标 GGSCI 建议您使用进程仍在运行。

在目标 host02 GGSCI 应当仍在运行。输入以下命令:

-Linux Host02
GGSCI (host02) > Info All 

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING                                           
REPLICAT    RUNNING     RSALESAB    00:00:00      00:00:05    

GGSCI (host02) > Exit 
[oggadm2@host02 ogg02]                                                          

如果地位中止,然后检查该进程 (作为以后的主题覆盖) 的报告来看看出了什么错误。

验证已插入到目标表的行。

在目标 host02 在操作系统提示符处,运行以下 SQL 查询:

-Linux Host02
[oggadm2@host02 ogg02] sqlplus ogguser2@orcl02/pswd2u 
SQL> SELECT * FROM tcustmer; 

CUST_CODE  NAME                           CITY                 STATE
---------- ------------------------------ -------------------- ------
WILL       BG SOFTWARE CO.                SEATTLE              WA
JANE       ROCKY FLYER INC.               DENVER               CO

SQL> SELECT * FROM tcustord; 

CUST ORDER_DAT PRODUCT_   ORDER_ID PRODUCT_PRICE PRODUCT_AMOUNT TRANSACTION_ID
---- --------- -------- ---------- ------------- -------------- --------------
WILL 30-SEP-94 CAR             144         17520              3            100
JANE 11-NOV-95 PLANE           256        133300              1            100

SQL> exit 
[oggadm2@host02 ogg02]                                                          

源和目标数据库tcust *表应相匹配。

有替代方法的做在目标系统上的初始加载,如果源已行在它,但这是最简单的方法,当两个表均最初为空。

 

5.2 生成更新/删除

运行 SQL 脚本来更新和删除行。

关于源 host01 在操作系统提示符处,运行demo_ora_misc.sql脚本在sqlplus.

-Linux Host01
[oggadm1@host01 ogg01] sqlplus ogguser1@orcl01/pswd1u @demo_ora_misc.sql

 ... many lines omitted for clarity ... 

Commit complete.

3 rows deleted.

Rollback complete.

SQL>                                                                            

不应的任何错误。

验证行被更新,并在源的表中删除。

-Linux Host01
SQL> SELECT * FROM tcustmer; 

CUST_CODE  NAME                           CITY                 STATE
---------- ------------------------------ -------------------- ------
WILL       BG SOFTWARE CO.                SEATTLE              WA
JANE       ROCKY FLYER INC.               DENVER               CO
DAVE       DAVE'S PLANES INC.             TALLAHASSEE          FL
BILL       BILL'S USED CARS               DENVER               CO
ANN        ANN'S BOATS                    NEW YORK             NY

SQL> SELECT * FROM tcustord; 

CUST ORDER_DAT PRODUCT_   ORDER_ID PRODUCT_PRICE PRODUCT_AMOUNT TRANSACTION_ID
---- --------- -------- ---------- ------------- -------------- --------------
BILL 31-DEC-95 CAR             765         14000              3            100
BILL 01-JAN-96 TRUCK           333         25000             15            100
WILL 30-SEP-94 CAR             144         16520              3            100

SQL> exit 
[oggadm1@host01 ogg01]                                                          

插入到tcustmer, tcustord中插入三行,四个在tcustord中更新的行,从tcustord删除两行三行.

验证源 GGSCI 提取程序仍在运行。

在源 host01 上输入下面的命令:

-Linux Host01
[oggadm1@host01 ogg01] ./ggsci 
GGSCI (host01) 1> Info All 

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING
EXTRACT     RUNNING     ESALESAB    00:00:00      00:00:09
EXTRACT     RUNNING     PSALESAB    00:00:00      00:00:01

GGSCI (host01) 2>                                                               

(作为这琐碎的东西,你不需要运行服从 startup.oby,虽然它不能伤害)。如果最初插入s 工作,赔率是更新s 和删除s 将以及工作。

请验证目标 GGSCI 建议您使用进程仍在运行。

在目标 host02 GGSCI 应当仍在运行。输入以下命令:

-Linux Host02
GGSCI (host02) > Info All 

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING                                           
REPLICAT    RUNNING     RSALESAB    00:00:00      00:00:09    

GGSCI (host02) > Exit 
[oggadm2@host02 ogg02]                                                          

状态仍应运行.

验证已更新并在目标表中删除行。

在目标 host02 运行以下 SQL 查询:

-Linux Host02
[oggadm2@host02 ogg02] sqlplus ogguser2@orcl02/pswd2u 
SQL> SELECT * FROM tcustmer; 

CUST_CODE  NAME                           CITY                 STATE
---------- ------------------------------ -------------------- ------
WILL       BG SOFTWARE CO.                SEATTLE              WA
JANE       ROCKY FLYER INC.               DENVER               CO
DAVE       DAVE'S PLANES INC.             TALLAHASSEE          FL
BILL       BILL'S USED CARS               DENVER               CO
ANN        ANN'S BOATS                    NEW YORK             NY

SQL> SELECT * FROM tcustord; 

CUST ORDER_DAT PRODUCT_   ORDER_ID PRODUCT_PRICE PRODUCT_AMOUNT TRANSACTION_ID
---- --------- -------- ---------- ------------- -------------- --------------
WILL 30-SEP-94 CAR             144         16520              3            100
BILL 31-DEC-95 CAR             765         14000              3            100
BILL 01-JAN-96 TRUCK           333         25000             15            100

SQL> exit 
[oggadm2@host02 ogg02]                                                          

至此,您的配置和操作的 Oracle GoldenGate 的基本单向功能: 提取、 数据抽取和建议您使用。

 

6. Managing the Oracle GoldenGate Environment

有报告生成期间和之后的进程运行。这些报告所载的信息,警告,并与相关的过程的运行错误 (如果有)。要查看报告,请执行以下步骤:

 

6.1 查看报告

在源系统上查看的进程报告。

查看提取的进程报告。

-Linux Host01
GGSCI (host01) 2> Send Extract esalesaa, Report 

Sending REPORT request to EXTRACT ESALESAA ...
Request processed.

GGSCI (host01) 3> View Report esalesaa 
***********************************************************************
                 Oracle GoldenGate Capture 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:32:12
Copyright (C) 1995, 2012, Oracle and/or its affiliates. All rights reserved.

                    Starting at 2012-09-19 19:12:33
***********************************************************************

Operating System Version: Linux
Version #1 SMP Wed Jul 27 21:02:33 EDT 2011, Release 2.6.32-200.13.1.el5uek
Node: host01.example.com
Machine: x86_64
                         soft limit   hard limit
Address Space Size   :    unlimited    unlimited
Heap Size            :    unlimited    unlimited
File Size            :    unlimited    unlimited
CPU Time             :    unlimited    unlimited

Process id: 18569

Description: 

***********************************************************************
**            Running with the following parameters                  **
***********************************************************************

ESALESAA.rpt (25%)                                                              

您可以按 [Enter] 若要一次移动一线或按 [空格] 要一次移动一页。转到底部的报告。

-Linux Host01
***********************************************************************
*                   ** Run Time Statistics **                         *
***********************************************************************

Report at 2012-09-19 19:42:10 (activity since 2012-09-19 19:27:05)

Output to ./dirdat/aa:

From Table OGGUSER1.TCUSTMER:
       #                   inserts:         5
       #                   updates:         1
       #                   deletes:         0
       #                  discards:         0
From Table OGGUSER1.TCUSTORD:
       #                   inserts:         5
       #                   updates:         3
       #                   deletes:         2
       #                  discards:         0

***********************************************************************
**                     Run Time Warnings                             **
***********************************************************************

GGSCI (host01) 4>                                                               

你可以做同样的事情若要查看数据泵psalesab报告。

查看为目标的进程报告。

关于目标 host02,建议您使用查看进程报告。(作为这琐碎的东西,你不需要运行服从 startup.oby,虽然它不能伤害)。

-Linux Host02
[oggadm2@host02 ogg02]$ ./ggsci 
GGSCI (host02) > Send Replicat rsalesab, Report 

Sending REPORT request to REPLICAT RSALESAB ...
Request processed.

GGSCI (host02)> View Report rsalesab 
***********************************************************************
                 Oracle GoldenGate Delivery 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:37:31
Copyright (C) 1995, 2012, Oracle and/or its affiliates. All rights reserved.

                    Starting at 2012-09-19 19:49:13
***********************************************************************

Operating System Version: Linux
Version #1 SMP Wed Jul 27 21:02:33 EDT 2011, Release 2.6.32-200.13.1.el5uek
Node: host02.example.com
Machine: x86_64
                         soft limit   hard limit
Address Space Size   :    unlimited    unlimited
Heap Size            :    unlimited    unlimited
File Size            :    unlimited    unlimited
CPU Time             :    unlimited    unlimited

Process id: 23557

Description: 

***********************************************************************
**            Running with the following parameters                  **
***********************************************************************

--More--(25%)                                                                   

您可以按 [Enter] 若要一次移动一线或按 [空格] 要一次移动一页。转到底部的报告。

-Linux Host02
***********************************************************************
*                   ** Run Time Statistics **                         *
***********************************************************************

Last record for the last committed transaction is the following: 
___________________________________________________________________
Trail name :  ./dirdat/ab000000
Hdr-Ind    :     E  (x45)     Partition  :     .  (x04) 
UndoFlag   :     .  (x00)     BeforeAfter:     B  (x42) 
RecLength  :    61 (x003d)    IO Time    : 2012-09-20 02:04:41.000792  
IOType     :     3  (x03)     OrigNode   :   255  (xff)
TransInd   :     .  (x02)     FormatType :     R  (x52)
SyskeyLen  :     0  (x00)     Incomplete :     .  (x00)
AuditRBA   :         20       AuditPos   : 6237080
Continued  :     N  (x00)     RecCount   :     1  (x01)

2012-09-20 02:04:41.000792 Delete             Len    61 RBA 3775
Name: OGGUSER1.TCUSTORD
___________________________________________________________________

Reading ./dirdat/ab000000, current RBA 3932, 16 records

Report at 2012-09-20 14:04:52 (activity since 2012-09-19 19:49:15)

From Table OGGUSER1.TCUSTMER to OGGUSER2.TCUSTMER:
       #                   inserts:         5
       #                   updates:         1
       #                   deletes:         0
       #                  discards:         0
From Table OGGUSER1.TCUSTORD to OGGUSER2.TCUSTORD:
       #                   inserts:         5
       #                   updates:         3
       #                   deletes:         2
       #                  discards:         0

***********************************************************************
**                     Run Time Warnings                             **
***********************************************************************

GGSCI (host02) >                                                                

建议您使用的插入/更新/删除的计数应该与提取数相匹配。如果有任何抛弃物,他们应该检查为什么他们而被丢弃的原因。

当你问一份报告,将发送 (如你刚才做的),生成报告或当一个进程停止。报告命名/编号processname的最新的一个,然后processname0 rpt, processname1.rpt,为最新的产品,到processname9.rpt为最古老的processname2.rpt .rpt 。创建每个新的报告时,所有旧报告"下移"越来越重命名编号直到最旧将被丢弃。一次都有不超过 11 (最近与没有号码和以前的 0-9)。

 

6.2 查看统计数据

查看源提取统计信息。

-Linux Host01
GGSCI (host01) > Send Extract esalesaa, Stats 

Sending STATS request to EXTRACT ESALESAA ...

Start of Statistics at 2012-09-20 14:08:06.

Output to ./dirdat/aa:

Extracting from OGGUSER1.TCUSTMER to OGGUSER1.TCUSTMER:

*** Total statistics since 2012-09-19 19:27:05 ***
        Total inserts                                      5.00
        Total updates                                      1.00
        Total deletes                                      0.00
        Total discards                                     0.00
        Total operations                                   6.00

*** Daily statistics since 2012-09-20 00:00:00 ***
        Total inserts                                      3.00
        Total updates                                      1.00
        Total deletes                                      0.00
        Total discards                                     0.00
        Total operations                                   4.00

*** Hourly statistics since 2012-09-20 14:00:00 ***

        No database operations have been performed.

*** Latest statistics since 2012-09-19 19:27:05 ***
        Total inserts                                      5.00
        Total updates                                      1.00
        Total deletes                                      0.00
        Total discards                                     0.00
        Total operations                                   6.00

Extracting from OGGUSER1.TCUSTORD to OGGUSER1.TCUSTORD:

*** Total statistics since 2012-09-19 19:27:05 ***
        Total inserts                                      5.00
        Total updates                                      3.00
        Total deletes                                      2.00
        Total discards                                     0.00
        Total operations                                  10.00

*** Daily statistics since 2012-09-20 00:00:00 ***
        Total inserts                                      3.00
        Total updates                                      3.00
        Total deletes                                      2.00
        Total discards                                     0.00
        Total operations                                   8.00

*** Hourly statistics since 2012-09-20 14:00:00 ***

        No database operations have been performed.

*** Latest statistics since 2012-09-19 19:27:05 ***
        Total inserts                                      5.00
        Total updates                                      3.00
        Total deletes                                      2.00
        Total discards                                     0.00
        Total operations                                  10.00

End of Statistics.

GGSCI (host01) >                                                                

Stats esalesaa命令做相同的事。如果因任何原因停止进程,所有统计数据都将丢失。

查看统计建议您使用目标。

-Linux Host02
GGSCI (host02) > Send Replicat rsalesab, Stats

Sending STATS request to REPLICAT RSALESAB ...

Start of Statistics at 2012-09-20 14:10:51.

Replicating from OGGUSER1.TCUSTMER to OGGUSER2.TCUSTMER:

*** Total statistics since 2012-09-19 19:49:15 ***
        Total inserts                                      5.00
        Total updates                                      1.00
        Total deletes                                      0.00
        Total discards                                     0.00
        Total operations                                   6.00

*** Daily statistics since 2012-09-20 00:00:00 ***
        Total inserts                                      3.00
        Total updates                                      1.00
        Total deletes                                      0.00
        Total discards                                     0.00
        Total operations                                   4.00

*** Hourly statistics since 2012-09-20 14:00:00 ***

        No database operations have been performed.

*** Latest statistics since 2012-09-19 19:49:15 ***
        Total inserts                                      5.00
        Total updates                                      1.00
        Total deletes                                      0.00
        Total discards                                     0.00
        Total operations                                   6.00

Replicating from OGGUSER1.TCUSTORD to OGGUSER2.TCUSTORD:

*** Total statistics since 2012-09-19 19:49:15 ***
        Total inserts                                      5.00
        Total updates                                      3.00
        Total deletes                                      2.00
        Total discards                                     0.00
        Total operations                                  10.00

*** Daily statistics since 2012-09-20 00:00:00 ***
        Total inserts                                      3.00
        Total updates                                      3.00
        Total deletes                                      2.00
        Total discards                                     0.00
        Total operations                                   8.00

*** Hourly statistics since 2012-09-20 14:00:00 ***

        No database operations have been performed.

*** Latest statistics since 2012-09-19 19:49:15 ***
        Total inserts                                      5.00
        Total updates                                      3.00
        Total deletes                                      2.00
        Total discards                                     0.00
        Total operations                                  10.00

End of Statistics.

GGSCI (host02) >                                                                

请注意以前的统计数字为主要提取物是从架构OGGUSER1OGGUSER1 ,因为数据抽取是涉及 (呆在的本地向源主机)。这是建议您使用是更清晰,不是从架构OGGUSER1 OGGUSER2 .

有其他种类的统计数字,也是可用的。

 

6.3 停止和删除进程

做不还,这样做,但如果您曾经需要停止单个进程,您只需输入停止提取 esalesaa,或停止 *停止所有人都在主机上。很显然你会将esalesaa替换你想要停止的进程名称。

不这样做,但如果您曾经需要删除单个进程,您必须首先确保您连接到的数据库 (DBLogin) 和您输入删除提取 esalesaa,或删除 ER *要删除所有这些主机上。GGSCI 将提示您,"你们确定吗?"和你说, y您可以通过向命令行的末尾追加一个感叹号消除这个问题。例如,删除 ER *!假定,答案是"是"。

 

7. Configuring Bidirectional Support

您应该已经工作的单向复制。双向复制的最简单的实现,是只是两个不相干的单向复制。所以,通过从概述、 一个方向命名编号公约将"销售"设置的文件""从"b"(esalesaa、 psalesab、 dsalesab、 rsalesab),和另一个方向将是"销售"的一组文件从"b"为""(esalesbb、 psalesba、 dsalesba、 rsalesba)。若要配置双向复制的支持,请执行以下步骤:

 

7.1 配置提取物

在源 host02 上创建主提取参数文件。这是几乎重演 3.1.1 主题。请参见这部分额外的注释。

-Linux Host02
[oggadm2@host02 ogg02] ./ggsci 
Oracle GoldenGate Command Interpreter for Oracle
 ... many lines omitted for clarity ... 

GGSCI (host02) 1> Obey startup.oby 

 ... many lines omitted for clarity ... 

GGSCI (host02) > Edit Param esalesbb 
-- Primary Extract from host02 to host01
-- Created by Joe Admin on 10/11/2012
-- SETENV(ORACLE_SID = "orcl02")
Extract esalesbb
ExtTrail ./dirdat/bb
UserID oggadm2@orcl02, Password pswd2a
TranLogOptions ExcludeUser oggadm2
Table ogguser2.tcust*; 

GGSCI (host02) >                                                                

此参数提取文件,一个在 host01 (不明显名称更改) 之间的区别是TranLogOptions现在处于活动状态 (注释)。

创建提取物组和本地的提取物轨迹文件。

-Linux Host02
GGSCI (host02) > Add Extract esalesbb, TranLog, Begin Now 
EXTRACT added.

GGSCI (host02) > Add ExtTrail ./dirdat/bb, Extract esalesbb, Megabytes 5 
EXTTRAIL added.

GGSCI (host02) >                                                                

创建辅助提取 (数据泵) 参数文件。这是几乎确切主题 3.2.1 的重复。请参见这部分额外的注释。

-Linux Host02
GGSCI (host02) > Edit Param psalesba 
-- Data pump (secondary Extract) from host02 to Host01
-- Created by Joe Admin on 10/11/2012
Extract psalesba
RmtHost host01, MgrPort 15001, Compress
RmtTrail ./dirdat/ba
Passthru
Table ogguser2.tcust*; 

GGSCI (host02) >                                                                

创建数据泵组和远程提取物轨迹文件。

-Linux Host02
GGSCI (host02) > Add Extract psalesba, ExtTrailSource ./dirdat/bb 
EXTRACT added.

GGSCI (host02) > Add RmtTrail ./dirdat/ba, Extract psalesba, Megabytes 5 
RMTTRAIL added.

GGSCI (host02) >                                                                

请确保提取进程被创建并已正确注册。这是几乎重演 3.3.1 主题。请参见这部分额外的注释。

-Linux Host02
GGSCI (host02) > Info All 

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING
EXTRACT     STOPPED     ESALESBB    00:00:00      00:03:35    
EXTRACT     STOPPED     PSALESBA    00:00:00      00:00:15    
REPLICAT    RUNNING     RSALESAB    00:00:00      00:00:05    

GGSCI (host02) >                                                                

您已经成功地配置到 host01 host02 的摘录 (双向解决方案的返回路径)。

 

7.2 配置建议您使用

在目标 host01 上创建建议您使用参数文件。这是几乎重演 4.1.1 主题。

-Linux Host01
[oggadm1@host01 ogg01]$ ./ggsci 
Oracle GoldenGate Command Interpreter for Oracle
 ... many lines omitted for clarity ... 

GGSCI (host01) 1> Obey startup.oby 

 ... many lines omitted for clarity ... but make sure everything started.

GGSCI (host01) > Edit Param rsalesba
-- Delivery from host02 to host01
-- Created by Joe Admin on 10/11/2012
Replicat rsalesba
UserID oggadm1@orcl01, password pswd1a
AssumeTargetDefs 
-- SourceDefs dirdef/dsalesab.def
DiscardFile dirrpt/rsalesba.dsc, Append
Map ogguser2.tcustmer, Target ogguser1.tcustmer;
Map ogguser2.*,        Target ogguser1.*; 

GGSCI (host01) >                                                                

您可以定义并将复制SourceDefs再次从 host02 到 host01,但由于他们碰巧是同一表的结构,您可以使用AssumeTargetDefs事实上,你可以在rsalesab ,以及用AssumeTragetDefs 。

创建建议您使用进程。

-Linux Host01
GGSCI (host01) > Add Replicat rsalesba, ExtTrail ./dirdat/ba 
REPLICAT added.

GGSCI (host01) >                                                                

修复到 acocmodate 双向复制的现有提取过程。防止与ExcludeUser功能环回。

取消注释的行,将启用该功能。这与同一件事 host02 相匹配。

-Linux Host01
GGSCI (host01) > Stop esalesaa 

Sending STOP request to EXTRACT ESALESAA ...
Request processed.

GGSCI (host01) > edit param esalesaa 
-- Primary Extract from host01 to host02
-- Created by Joe Admin on 10/11/2012
-- SETENV(ORACLE_SID = "orcl01")
Extract esalesaa
ExtTrail ./dirdat/aa
UserID oggadm1@orcl01, Password pswd1a
TranLogOptions ExcludeUser oggadm1 
Table ogguser1.tcust*; 

GGSCI (host01) >                                                                

请确保建议您使用进程被创建并已正确注册。

-Linux Host01
GGSCI (host01) > Info All

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING                                           
EXTRACT     STOPPED     ESALESAA    00:00:00      00:04:22    
EXTRACT     RUNNING     PSALESAB    00:00:00      00:00:02    
REPLICAT    STOPPED     RSALESBA    00:00:00      00:06:57    

GGSCI (host01) >                                                                

它是好的时间因为相比,超过 10 秒,如果状态已停止,但如果状态运行然后时间应少于 10 秒。

在目标 host01 上启动的所有进程。

-Linux Host01
GGSCI (host01) > Start * 

Sending START request to MANAGER ...
EXTRACT ESALESAA starting
EXTRACT PSALESAB is already running.

Sending START request to MANAGER ...
REPLICAT RSALESBA starting

GGSCI (host01) > Info All 

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING                                           
EXTRACT     RUNNING     ESALESAA    00:00:00      00:00:00    
EXTRACT     RUNNING     PSALESAB    00:00:00      00:00:02    
REPLICAT    RUNNING     RSALESBA    00:00:00      00:00:01    

GGSCI (host01) > Exit 
[oggadm1@host01 ogg01]                                                          

上源 host02 启动的所有进程。

-Linux Host02
GGSCI (host02) > Start * 

Sending START request to MANAGER ...
EXTRACT ESALESBB starting

Sending START request to MANAGER ...
EXTRACT PSALESBA starting
REPLICAT RSALESAB is already running.

GGSCI (host02) > Info All 

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING
EXTRACT     RUNNING     ESALESBB    00:00:00      00:00:01    
EXTRACT     RUNNING     PSALESBA    00:00:00      00:00:02    
REPLICAT    RUNNING     RSALESAB    00:00:00      00:00:04    

GGSCI (host02) >                                                                

所有的提取物和建议您使用进程配置的开始了从 host02 到 host01。早些时候提取物和建议您使用从 host01 到 host02 仍在运行。

 

7.3 生成交通

插入新行,在 host01 上。

-Linux Host01
[oggadm1@host01 ogg01] sqlplus ogguser1@orcl01/pswd1u 
SQL> INSERT INTO tcustmer VALUES ('WHIZ','WHIZBANG CORP','HOSTA','AA'); 
1 row created. 

SQL> SELECT * FROM tcustmer; 

CUST NAME                           CITY                 ST
---- ------------------------------ -------------------- --
DAVE DAVE'S PLANES INC.             TALLAHASSEE          FL
BILL BILL'S USED CARS               DENVER               CO
ANN  ANN'S BOATS                    NEW YORK             NY
WHIZ WHIZBANG CORP                  HOSTA                AA
WILL BG SOFTWARE CO.                SEATTLE              WA
JANE ROCKY FLYER INC.               DENVER               CO

6 rows selected.

SQL> commit; 
Commit complete.

SQL> exit 
[oggadm1@host01 ogg01]                                                          

请确保在 host02 上的 GGSCI 进程仍在运行。

-Linux Host02
GGSCI (host02) > Info All 

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING                                           
EXTRACT     RUNNING     ESALESBB    00:00:00      00:00:05    
EXTRACT     RUNNING     PSALESBA    00:00:00      00:00:05    
REPLICAT    RUNNING     RSALESAB    00:00:00      00:00:06    

GGSCI (host02) >                                                                

验证 Whizbang 行被复制到 host02。

-Linux Host02
GGSCI (host02) > Exit 
[oggadm2@host02 ogg02] sqlplus ogguser2@orcl02/pswd2u 
SQL> SELECT * FROM tcustmer; 

CUST NAME                           CITY                 ST
---- ------------------------------ -------------------- --
WILL BG SOFTWARE CO.                SEATTLE              WA
JANE ROCKY FLYER INC.               DENVER               CO
DAVE DAVE'S PLANES INC.             TALLAHASSEE          FL
BILL BILL'S USED CARS               DENVER               CO
ANN  ANN'S BOATS                    NEW YORK             NY
WHIZ WHIZBANG CORP                  HOSTA                AA

6 rows selected.

SQL>                                                                            

不要担心如果行顺序不同。离开 SQL * 再加上为下一步运行。

插入一个新行上 host02。

-Linux Host02
SQL> INSERT INTO tcustmer VALUES ('FOO','FOOBAR INC','HOSTB','CC'); 
1 row created. 

SQL> SELECT * FROM tcustmer; 

CUST NAME                           CITY                 ST
---- ------------------------------ -------------------- --
WILL BG SOFTWARE CO.                SEATTLE              WA
JANE ROCKY FLYER INC.               DENVER               CO
DAVE DAVE'S PLANES INC.             TALLAHASSEE          FL
BILL BILL'S USED CARS               DENVER               CO
ANN  ANN'S BOATS                    NEW YORK             NY
WHIZ WHIZBANG CORP                  HOSTA                AA
FOO  FOOBAR INC                     HOSTB                CC

7 rows selected.

SQL> commit; 
Commit complete.

SQL> exit 
[oggadm2@host02 ogg02]                                                    

请确保在 host02 上的 GGSCI 进程仍在运行。

-Linux Host02
[oggadm2@host02 ogg02] ./ggsci 
GGSCI (host02) > Info All 

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING                                           
EXTRACT     RUNNING     ESALESBB    00:00:00      00:00:06    
EXTRACT     RUNNING     PSALESBA    00:00:00      00:00:03    
REPLICAT    RUNNING     RSALESAB    00:00:00      00:00:04    

GGSCI (host02) >                                                                

验证 Foobar 行被复制到 host01。

-Linux Host01
[oggadm1@host01 ogg01] sqlplus ogguser1@orcl01/pswd1u 
SQL> SELECT * FROM tcustmer; 

CUST NAME                           CITY                 ST
---- ------------------------------ -------------------- --
DAVE DAVE'S PLANES INC.             TALLAHASSEE          FL
BILL BILL'S USED CARS               DENVER               CO
ANN  ANN'S BOATS                    NEW YORK             NY
WHIZ WHIZBANG CORP                  HOSTA                AA
FOO  FOOBAR INC                     HOSTB                CC
WILL BG SOFTWARE CO.                SEATTLE              WA
JANE ROCKY FLYER INC.               DENVER               CO

7 rows selected.

SQL> exit 
[oggadm1@host01 ogg01]                                                          

Host01 和 host02 应该有相同的行。(如果你是好奇,行顺序是不同的原因是因为你插入两行入"孔"左去了早些时候删除和从未有复制的回滚。

这不会考虑到碰撞检测和分辨率 (CDR),这是超出了这个 OBE 的范围的可能性。

 

总结:

Oracle GoldenGate 可以做远比在这个简单的练习中得到体现。

在本教程中,您学习了如何:

  • 安装和配置 Oracle GoldenGate 软件
  • 配置和启动提取、 数据抽取和建议您使用进程
  • 生成示例数据和测试有效性的复制
  • 管理进程所产生的报告



相关实践学习
数据库实验室挑战任务-初级任务
本场景介绍如何开通属于你的免费云数据库,在RDS-MySQL中完成对学生成绩的详情查询,执行指定类型SQL。
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
目录
相关文章
|
4月前
|
分布式计算 Oracle 关系型数据库
oracle自动同步maxcomputejava.lang.NullPointerException
oracle自动同步maxcomputejava.lang.NullPointerException
37 1
|
7月前
|
Oracle 关系型数据库 流计算
flink cdc 同步oracle idea启动可以全量同步,服务器环境不同步。standalone模式
flink cdc 同步oracle idea启动可以全量同步,服务器环境不同步。standalone模式
|
1月前
|
存储 运维 Oracle
Oracle系列十八:Oracle RAC
Oracle系列十八:Oracle RAC
|
2月前
|
Oracle 关系型数据库
oracle Hanganalyze no RAC
oracle Hanganalyze no RAC
15 0
|
2月前
|
Oracle 关系型数据库 Apache
Flink cdc报错问题之同步oracle报错如何解决
Flink CDC报错指的是使用Apache Flink的Change Data Capture(CDC)组件时遇到的错误和异常;本合集将汇总Flink CDC常见的报错情况,并提供相应的诊断和解决方法,帮助用户快速恢复数据处理任务的正常运行。
|
2月前
|
Oracle 关系型数据库
oracle rac 手工安装补丁,不适用auto
oracle rac 手工安装补丁,不适用auto
25 3
|
3月前
|
Oracle 关系型数据库 Linux
RHEL7.9系统下一键脚本安装Oracle 11gR2单机版本
RHEL7.9系统下一键脚本安装Oracle 11gR2单机版本
63 1
|
4月前
|
SQL Oracle 关系型数据库
用flink sql同步数据到oracle吗?
用flink sql同步数据到oracle吗?
70 0
|
4月前
|
Oracle 关系型数据库 Java
oracle自动同步maxcomputejava.lang.NullPointerException
oracle自动同步maxcomputejava.lang.NullPointerException
22 0
|
4月前
|
SQL Oracle 关系型数据库
flinkcdc的oracle同步到oracle
flinkcdc支持oracle同步到oracle吗?
200 3

推荐镜像

更多