奕新集团项目--Oracle 源RAC ---目标 RAC GG 搭建 11.2.3 版本 双向同步
- 经理:
- 启动和停止的源和目标主机上的其他进程。 不需要一旦提取物或建议您使用正在运行。
- 初始加载:
- 是可选的。 用于填充在目标表一次。 它可以读取或者从源表中直接或从 ASCII 文件。 这个 OBE 将不使用初始加载。
- 提取:
- 在要交易数据捕获到轨迹文件的源上运行。 有两个版本的提取物: 经典 (此 OBE) 和集成。
- 数据泵:
- 可选,但强烈建议。 发送通过 IP 网络跟踪从源到目标文件。 从技术上讲它是二次提取。
- 建议您使用:
- 将数据传递到目标数据库。 通常建议您使用运行在目标系统上。
目的
此 Oracle 按示例 (OBE) 教程涵盖安装、 配置和管理 Oracle GoldenGate 11.2.1.0.2 一对 Linux Oracle 11gR2 数据库的版本。
完成时间
大约 3 个小时
简介
Oracle GoldenGate 提供异构数据库的非常快速复制,通过读取事务日志并写入一个或多个目标数据库所做的更改。在典型环境中涉及以下五个过程:
方案
有两个 Linux 主机运行 Oracle 11gR2: host01 (红色) 和 host02 (绿色)。Host01 有用户/架构ogguser1的pswd1u,密码和管理员与用户/架构oggadm1与pswd1a的密码.
Host02 有用户/架构ogguser2的pswd2u,密码和管理员与用户/架构oggadm2与pswd2a的密码。Host01 上有表 (TCUSTMER和TCUSTORD),需要复制到 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 /).
软件的安装是简单地从 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 上。
- DBLogin:
- 连接到使用userid@SID/password指定的 DB。 @SID是可选的如果不有任何含糊之处。
- 启动 Mgr:
- 如果已经启动管理器,没有危害,试图再次启动它。 这是持久性会话之间。
- 信息经理:
- 报告如果成功,启动管理器,如果如此,正在使用的端口号。
- 信息 CheckpointTable:
- 如果检查点表 (由建议您使用使用) 被发现的报告。
- 设置编辑器:
- 默认情况下是六。您可以临时更改,到 GUI 编辑器如gedit.
- 没有表显示当您查询信息 TranData ogguser2.*,但事实上启用它们。
- 添加到架构中的任何新表成为自动启用事务数据日志记录 (与平原老TranData你要手动添加新的表每个补充日志记录的时间)。
- 不是所有其他 OEM 数据库支持SchemaTranData.
环境的配置是通过编辑 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 外编辑了。
全局变量文件名称必须是全部大写,和它只包含一行 (加上— — 的评论) 定义的检查点的表架构和名称。您可以使用任何架构和任何名称。您可以使用vi或gedit或任何文本编辑器。
-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]
|
可选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来创建两个小样本表tcustmer和tcustord。您可以使用任何 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时:
涉及与 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]$
|
列定义创建和复制。如果表结构发生变化,您需要再这么做了。
- -- :
- 注释。 对于自记录的文件,以及存储可在以后使用的参数内联非常有用。
- SETENV:
- 您必须在某个地方定义的 SID (数据库系统标识符): 在.profile或中的用户 Id或SETENV在这里。只有一个地方是必要的但如果你在这里定义它它会重写任何先前定义的.profile.
- ExtTrail:
- 不真的"外部"如果你使用的数据泵。
- aa:
- 序列号是 appendeded 到此字母前缀。 例如,跟踪文件的命名aa000000、 aa000001、 aa000002,和等等,翻身的文件超出指定的大小 (默认值 100 MB)。
- TranLogOptions:
- 由双向复制在以后用来防止循环。
- 表:
- 你可以有多个表的语句,每个具有一个表名称 (使用可选的通配符) 解析为零、 一个或更多的表。 您不能在架构名称中使用通配符。
数据捕获,也称为提取物,是源一边完成的。主要的提取物是必需的 ;二次提取物,称为数据抽取,是可选的但强烈建议。若要配置数据捕获,请执行以下步骤:
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) > |
一些参数:
它是可能进行加密的密码在文件中,但这就是超出了这项工作的范围。
您可以通过输入视图 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 的下一步运行。
数据传递,也称为建议您使用 ("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 秒钟。
一切都应显示正在运行的状态。源的表是仍然为空。没有数据有流动了,然而,没有任何已复制尚未。
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.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) >
|
请注意以前的统计数字为主要提取物是从架构OGGUSER1到OGGUSER1 ,因为数据抽取是涉及 (呆在的本地向源主机)。这是建议您使用是更清晰,不是从架构OGGUSER1 OGGUSER2 .
有其他种类的统计数字,也是可用的。
6.3 停止和删除进程
做不还,这样做,但如果您曾经需要停止单个进程,您只需输入停止提取 esalesaa,或停止 *停止所有人都在主机上。很显然你会将esalesaa替换你想要停止的进程名称。
不这样做,但如果您曾经需要删除单个进程,您必须首先确保您连接到的数据库 (DBLogin) 和您输入删除提取 esalesaa,或删除 ER *要删除所有这些主机上。GGSCI 将提示您,"你们确定吗?"和你说, y。您可以通过向命令行的末尾追加一个感叹号消除这个问题。例如,删除 ER *!假定,答案是"是"。
您应该已经工作的单向复制。双向复制的最简单的实现,是只是两个不相干的单向复制。所以,通过从概述、 一个方向命名编号公约将"销售"设置的文件""从"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 软件
- 配置和启动提取、 数据抽取和建议您使用进程
- 生成示例数据和测试有效性的复制
- 管理进程所产生的报告