GG搭建 源单实例---到目标RAC环境 11.2.3版本 单向同步(XX公司项目)

GG搭建 源单实例---到目标RAC环境 11.2.3版本 单向同步

    目的

    完成后本 Oracle 按示例 (OBE) 教程中,您将能够保持两个异构数据库同步使用 Oracle GoldenGate (OGG) ;在这种情况下 Linux Oracle 11gR2 数据库到 11gR2 Exadata 数据库。

    在本课中,您将学会如何:

    • 准备您的环境配置 Oracle GoldenGate 进程。
    • 配置并启动更改捕获的数据库操作。
    • 配置并启动更改交货的数据库操作。

    完成时间

    大约 2 个小时

    简介

    Oracle GoldenGate Exadata 上的: 从 Oracle 11gR2 向 Oracle 11gR2 复制

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

    经理:
    有一位经理在源主机上和一个单独的经理,在目标主机上。管理器启动和停止源和目标实例上的其他进程。不需要为传递通信一旦运行的提取物或建议您使用管理器。
    初始加载:
    是可选的。用于填充在目标表一次。它可以读取或者从源表中直接或从 ASCII 文件。这个 OBE 忽略初始加载。请参阅其他都会发帝国勋章为如何去做。
    提取:
    在要交易数据捕获到轨迹文件的源上运行。有两个版本的提取物: 经典 (此 OBE) 和集成。
    数据泵:
    可选,但强烈建议。数据抽取轨迹文件从源代码实例在将发送到的目标实例的 IP 网络。从技术上讲数据抽取是次要的提取物。
    建议您使用:
    将数据传递到目标数据库。通常建议您使用运行在目标系统上。是的拼写正确,没有最后"e"(长故事)。

    Linux Oracle Exadata 配置 (单向)

    图所示的配置 (使用在目标系统上创建远程跟踪一个主要提取过程。建议您使用进程从远程跟踪的更改将应用为目标 RAC 数据库。它是不必要的源 host01 Linux 也不是 64 位。

    总之,环境是:

    主机名 屏幕颜色 OS 硬件 数据库 SID OGG 源/目标 主控制台
    host01 红色 Linux 64 位 单个 CPU 的 PC Oracle 11gR2 orcl 两个
    qr01db02 (Node02) 黄色 Linux 64 位 Exadata 数据库节点 Oracle 11gR2 RAC dbm2 目标 GGSCI
    qr01db01 (Node01) 绿色 Linux 64 位 Exadata 数据库节点 Oracle 11gR2 RAC dbm1 目标 SQL * 加上

    系统必备组件

    这个实验室的先决条件包括以下内容:

    • 查看基本的 GoldenGate Oracle
      到 Oracle
       OBE 为"正常"的任务,如初始加载,查看统计信息,等等。这个 OBE 只集中的独特 Exadata 方面。底部的更多的链接,请参阅资源。
    • 查看白皮书
      ,特别是关于我的 Oracle 支持的一节 (MOS,需要查看的帐户) 注意到1054431.1.
    • 源主机与示例架构已安装并运行了 Oracle 11gR2 数据库。
    • Oracle GoldenGate 的 64 位 Linux zip 分布被上演对源和/home/user/目标/首页/用户/目录。这是可从Oracle
      软件交付云
      .
    • Exadata 群集服务已安装并且正在运行。

    记住有两个主机: host01 和 host02 ;和每个主机有三种环境提示: OS、 GGSCI 和 SQL。这让六个不同的地方,在其中您可以键入 !请尝试一定要额外小心你在哪个位置中输入的命令。错误的上下文中的错误的命令是最常见的错误。

    任务概述

    准备环境

    要执行这一课,GoldenGate 应用程序必须安装在源和目标系统上。安装包括一个示例数据库和脚本来生成初始数据,以及随后的更新操作。源表和目标表创建和加载与初始数据。GoldenGate 管理器进程也会启动以便其他进程可能会配置和启动。源的定义是最后,生成和转移到目标系统。

    配置更改捕获 (摘录)

    对于经审核表,提取过程配置捕获变更数据直接从财资市场发展委员会审核跟踪,并将所做的更改存储在称为 GoldenGate 本地径数据队列。

    配置更改传递 (建议您使用)

    一旦表已最初加载数据,提取过程捕获的所有操作,建议您使用进程配置为捕获的操作传递到目标数据库。

    印刷约定

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

    Some_Command
    键入作为一个命令或一个值。示例:

    请输入./ ggsci启动的命令行解释器。

    Some_Prompt
    系统响应与此作为提示符或答复。示例:

    在初始欢迎横幅之后, 你可以在输入命令GGSCI (host01) 1 >提示符。

    Some_Button
    屏幕上单击此按钮。示例:

    选择你想要的版本之后, 单击继续以开始下载。

    Some_Variable
    您用来代替实际值的变量。示例:

    请输入您的用户 id/密码的提示符。

    Some_Filename
    文件名、 路径或文件夹/目录。示例:

    编辑/etc目录中的hosts文件。

    Some_Code
    一个关键字或代码的元素。示例:

    在初始加载后将HandleCollisions参数更改为NoHandleCollisions 。

    文件和过程的命名约定

    文件和过程的命名约定可以不管为你或你的公司工作。这里是这个 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. Preparing the Environment

    目标

    本练习的目标是:

    • 所界定的.profile.bash_profile或相当于准备操作系统 (OS) 的环境变量。
    • 配置应用程序的 VIP 地址。
    • tnsping为未来 sqlplus 连接进行测试。
    • 通过创建 OGG admin 用户和修改数据库参数准备 Oracle 数据库 11gR2。

    您键入的命令将在蓝色的等宽字体。系统的反应将会在black monospaced font.

    1.1 编写操作系统的环境变量

      您将配置.profile为环境变量和主机别名的/etc/hosts文件。你会做这三个的所有主机上: 源和两个目标节点。您现有的配置文件可能会对他们有行,这一步更侧重于要向其中添加的行。

      使用您选择的编辑器,并且检查目标主机节点 1 上的配置文件的初始状态。ORACLE_BASE, ORACLE_HOME, OGG_HOME,和LD_LIBRARY_PATH添加变量。正如他们离开其他线条。

      Exadata-节点 1 (目标)
      [[email protected] ~]$ vi .bash_profile 
      
      1   # .bash_profile
      2
      3   # Get the aliases and functions
      4   if [ -f ~/.bashrc ]; then
      5           . ~/.bashrc
      6   fi
      7
      8   # User specific environment and startup programs
      9
      10  PATH=$PATH:$HOME/bin
      11
      12  export PATH
      13  export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
      14  export ORACLE_SID=dbm1
      15  ORAENV_ASK=NO;. /usr/local/bin/oraenv > /dev/null 2<&1
      16  alias gogrid=‘export ORACLE_HOME=/u01/app/11.2.0/grid;export
          ORACLE_SID=+ASM1;. /usr/local/bin/oraenv > /dev/null 2<&1;env
          |grep ORA|grep -v BASE‘
      17  alias godb=‘export ORACLE_HOME=/u01/app/oracle/product/11.2.0
          /dbhome_1;export ORACLE_SID=dbm1;. /usr/local/bin/oraenv > /d
          ev/null 2<&1;env|grep ORA|grep -v BASE‘                      
      
      [[email protected] ~]$ vi .bash_profile  
      
      1   # .bash_profile
      2
      3   # Get the aliases and functions
      4   if [ -f ~/.bashrc ]; then
      5           . ~/.bashrc
      6   fi
      7
      8   # User specific environment and startup programs
      9
      10  PATH=$PATH:$HOME/bin
      11
      12  export PATH
      13  export ORACLE_BASE=/u01/app/oracle
      14  export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
      15  export OGG_HOME=$ORACLE_BASE/ogg
      16  export LD_LIBRARY_PATH=$ORACLE_HOME/lib
      17  export ORACLE_SID=dbm1
      18  ORAENV_ASK=NO;. /usr/local/bin/oraenv > /dev/null 2<&1
      19  alias gogrid=‘export ORACLE_HOME=/u01/app/11.2.0/grid;export
          ORACLE_SID=+ASM1;. /usr/local/bin/oraenv > /dev/null 2<&1;env
          |grep ORA|grep -v BASE‘
      20  alias godb=‘export ORACLE_HOME=/u01/app/oracle/product/11.2.0
          /dbhome_1;export ORACLE_SID=dbm1;. /usr/local/bin/oraenv > /d
          ev/null 2<&1;env|grep ORA|grep -v BASE‘                      
      
      [[email protected] ~]$
                                                                                      
      

      The alias gogrid and alias godb have been added for another demo, they are not part of the default profile. They make it easier to switch between the Grid Infrastructure and DB environments. Note that the aliases each span several
      lines. Be mindful to not introduce extra returns on those lines.

      Switch user to root and edit the /etc/hosts file to append an alias for host01. Use the proper IP address for your environment.

      Exadata - Node 1 (target)
      [[email protected] ~]$ su - root
      Password:
      [[email protected] ~]# vi /etc/hosts 
      
         127.0.0.1       localhost.localdomain    localhost          
      
           (...rest of file not shown, too many possibilities...)    
      
      [[email protected] ~]# tail -1 /etc/hosts
      192.0.2.16      host01.example.com              host01
      [[email protected] ~]# exit
      [[email protected] ~]$
                                                                                      
      

      The tail command assumes you appended the host01 address to the end of the file. Exit out of root when you are done editing.

      Do the exact same thing for the other target node 2. The lines are not shown, they are the same for qr01db01 and qr01db02.

      Exadata - Node 2 (target)
      [[email protected] ~]$ vi .bash_profile
        (REPEAT ON OTHER QR01db02)
      [[email protected] ~]$ su - root
      [[email protected] ~]# vi /etc/hosts
        (REPEAT ON OTHER QR01db02)
      [[email protected] ~]# exit
      [[email protected] ~]$
                                                                                      
      

      The two nodes should have identical profiles and very similar /etc/hosts.

      Do the same thing for the source host. There may be slight difference in where things are installed, but you are defining the same four environment variables: ORACLE_BASE, ORACLE_HOME, OGG_HOME, and LD_LIBRARY_PATH. The /etc/hosts points
      to the Exadata address.

      Host01 - Linux (source)
      [[email protected] ~]$ vi .bash_profile 
      
         # .bash_profile                                             
      
         # Get the aliases and functions
         if [ -f ~/.bashrc ]; then
                 . ~/.bashrc
         fi                                                          
      
         # User specific environment and startup programs
         ORACLE_BASE=/u01/app/oracle
         ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_home1
         OGG_HOME=$ORACLE_BASE/ogg
         ORACLE_SID=orcl
         PATH=$PATH:$HOME/bin:$ORACLE_HOME:$ORACLE_HOME/bin
         LD_LIBRARY_PATH=$ORACLE_HOME/lib                            
      
         export PATH LD_LIBRARY_PATH
         export ORACLE_HOME ORACLE_BASE ORACLE_SID OGG_HOME          
      
      [[email protected] ~]$ su - root
      Password:
      [[email protected] ~]# vi /etc/hosts 
      
         127.0.0.1       localhost.localdomain    localhost          
      
           (...rest of file not shown, too many possibilities...)    
      
      [[email protected] ~]# tail -1 /etc/hosts
      192.0.2.99      qr01-vip.example.com            qr01-vip
      [[email protected] ~]# exit
      [[email protected] ~]$
                                                                                      
      

      This time the /etc/hosts addition is for an application "vip" address on Exadata that gets defined in the next step. For now, just enter that line on faith.

      This completes preparing the OS environment variables.

    1.2 Configure the Application Virtual IP (VIP) Address

      The application Virtual IP (VIP) is part of Cluster Ready Services (CRS). It is used to define a single new address shared by multiple nodes. The purpose is for the source to point to a single target address regardless of which target node is handling it.
      This is similar to the Single Client Access Name (SCAN) address feature
      of Real Application Clusters (RAC), except that SCAN is only for use by the database, whereas VIP can be used by any application (in this example, GoldenGate).

      On target node 2, perform the following tasks as root or oracle as indicated. You create the VIP as root, but you run it as oracle. The VIP address must be any unused address in the subnet
      configured as the public network for the cluster. The example uses 192.0.2.99 because the grep returns the 192.0.2.0 subnet, so .99 is unused in that subnet. It needs to match the /etc/hosts file
      on the source in the previous step.

      Exadata - Node 2 (target)
      [[email protected] ogg]$ su - root
      Password:
      [[email protected] ~]# cd /u01/app/11.2.0/grid/bin
      [[email protected] bin]# ./crsctl stat res -p | grep -ie .network -ie subnet | grep
                           -ie name -ie subnet
      NAME=ora.net1.network
      USR_ORA_SUBNET=192.0.2.0
      [[email protected] bin]# ./appvipcfg create -network=1 -ip=192.0.2.99
                           -vipname=gg_vip_trg -user=root
      Production Copyright 2007, 2008, Oracle.All rights reserved
      2013-02-27 14:06:52: Creating Resource Type
      2013-02-27 14:06:52: Executing /u01/app/11.2.0/grid/bin/crsctl add type
        app.appvip_net1.type -basetype ora.cluster_vip_net1.type -file
        /u01/app/11.2.0/grid/crs/template/appvip.type
      2013-02-27 14:06:52: Executing cmd: /u01/app/11.2.0/grid/bin/crsctl add type
        app.appvip_net1.type -basetype ora.cluster_vip_net1.type -file
        /u01/app/11.2.0/grid/crs/template/appvip.type
      2013-02-27 14:06:55: Create the Resource
      2013-02-27 14:06:55: Executing /u01/app/11.2.0/grid/bin/crsctl add resource gg_v
        ip_trg -type app.appvip_net1.type -attr "USR_ORA_VIP=192.0.2.99,START_DEPENDEN
        CIES=hard(ora.net1.network) pullup(ora.net1.network),STOP_DEPENDENCIES=hard(or
        a.net1.network),ACL=‘owner:root:rwx,pgrp:root:r-x,other::r--,user:root:r-x‘,HO
        STING_MEMBERS=qr01db02.example.com,APPSVIP_FAILBACK="
      2013-02-27 14:06:55: Executing cmd: /u01/app/11.2.0/grid/bin/crsctl add resource
        gg_vip_trg -type app.appvip_net1.type -attr "USR_ORA_VIP=192.0.2.99,START_DEPE
        NDENCIES=hard(ora.net1.network) pullup(ora.net1.network),STOP_DEPENDENCIES=har
        d(ora.net1.network),ACL=‘owner:root:rwx,pgrp:root:r-x,other::r--,user:root:r-x
        ‘,HOSTING_MEMBERS=qr01db02.example.com,APPSVIP_FAILBACK="
      [[email protected] bin]# ./crsctl setperm resource gg_vip_trg -u user:oracle:r-x
      [[email protected] bin]# exit
      [[email protected] ogg]$ cd /u01/app/11.2.0/grid/bin
      [[email protected] bin]$ ./crsctl start resource gg_vip_trg
      CRS-2672: Attempting to start ‘gg_vip_trg‘ on ‘qr01db01‘
      CRS-2676: Start of ‘gg_vip_trg‘ on ‘qr01db01‘ succeeded
      [[email protected] bin]$ ./crsctl status resource gg_vip_trg
      NAME=gg_vip_trg
      TYPE=app.appvip_net1.type
      TARGET=ONLINE
      STATE=ONLINE on qr01db01
      
      [[email protected] bin]$
                                                                                      
      

      You are looking for a STATE=ONLINE to indicate success. A VIP is tied to one (and only one) IP address. In the case of an application VIP, you define it once (on any cluster node) and by default it can run on any cluster node.

      This completes configuring the application VIP address.

    1.3 测试连接性

      使用pingtnsping ,以确保这两个主机可以到达对方。

      请确保源可以达到的目标通过应用程序的 VIP 地址。

      Host01-Linux (源)
      [[email protected] ogg]$ ping qr01-vip
      PING qr01-vip.example.com (192.0.2.99) 56(84) bytes of data.
      64 bytes from qr01-vip.example.com (192.0.2.99): icmp_seq=1 ttl=64 time=0.145 ms
      64 bytes from qr01-vip.example.com (192.0.2.99): icmp_seq=2 ttl=64 time=0.143 ms
      64 bytes from qr01-vip.example.com (192.0.2.99): icmp_seq=3 ttl=64 time=0.107 ms
      64 bytes from qr01-vip.example.com (192.0.2.99): icmp_seq=4 ttl=64 time=0.109 ms
      ^C
      --- qr01-vip.example.com ping statistics ---
      4 packets transmitted, 4 received, 0% packet loss, time 2999ms
      rtt min/avg/max/mdev = 0.107/0.126/0.145/0.018 ms
      [[email protected] ogg]$
                                                                                      
      

      后几个成功 ping,取消使用 Ctrl + c。

      请确保目标节点 2 可以访问使用tnsping的数据库。这些别名从tnsnames.ora将稍后使用的sqlplus.

      Exadata-节点 2 (目标)
      [[email protected] ~]$ 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.
      
      DBM =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = qr01-scan)(PORT = 1521))
          (CONNECT_DATA =
            (SERVER = DEDICATED)
            (SERVICE_NAME = dbm.example.com)
          )
        )
      
      [[email protected] ~]$ tnsping dbm 
      
      TNS Ping Utility for Linux: Version 11.2.0.2.0 - Production on 06-MAR-2013 13:45
      Copyright (c) 1997, 2010, Oracle.  All rights reserved.
      Used parameter files:
      Used TNSNAMES adapter to resolve the alias
      Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST =
      qr01-scan)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME =
      dbm.example.com)))
      OK (0 msec)
      [[email protected] ~]$ tnsping dbm1 
      
      TNS Ping Utility for Linux: Version 11.2.0.2.0 - Production on 06-MAR-2013 13:45
      Copyright (c) 1997, 2010, Oracle.  All rights reserved.
      Used parameter files:
      TNS-03505: Failed to resolve name
      [[email protected] ~]$
                                                                                      
      

      "不合格"的tnsping显示你不能到dbm1,如单个实例的tnsping ,但你可以到群集数据库sqlplus user/[email protected] 。你能弄明白你在说到通过使用哪个实例sqlplus> 显示参数
      instance_name。您可以通过设置和导出访问特定实例ORACLE_SID=dbm1或其他一些特定的实例名称。

      请确保目标节点 1 可以访问同一数据库使用相同的tnsname.

      Exadata-节点 1 (目标)
      [[email protected] ~]$ tnsping dbm 
      
      TNS Ping Utility for Linux: Version 11.2.0.2.0 - Production on 06-MAR-2013 13:45
      Copyright (c) 1997, 2010, Oracle.  All rights reserved.
      Used parameter files:
      Used TNSNAMES adapter to resolve the alias
      Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST =
      qr01-scan)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME =
      dbm.example.com)))
      OK (0 msec)
      [[email protected] ~]$
                                                                                      
      

      请注意这两个 RAC qr01-scan指向实例 (这两个节点)。

      这将完成测试数据库和 IP 连通性。

    1.4 为 Goldengate 准备数据库

      下面一节是差不多无论你使用的 Exadata 或 RAC 或只是一个单一的节点。

      在源 host01 上创建 OGG 管理员oggadm1 。

      Host01-Linux (源)
      [[email protected] ~]$ sqlplus / as sysdba 
      
      SQL*Plus: Release 11.2.0.3.0 Production on Wed Feb 27 10:08:24 2013
      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> set sqlprompt ‘host01_SQL> ‘
      host01_SQL> SELECT log_mode, force_logging, supplemental_log_data_min
                  FROM v$database; 
      
      LOG_MODE     FOR SUPPLEME
      ------------ --- --------
      ARCHIVELOG   YES YES
      
      host01_SQL> CREATE USER oggadm1 IDENTIFIED BY pswd1a;
      User created.
      
      host01_SQL> GRANT dba TO oggadm1;
      Grant succeeded.
      
      host01_SQL> EXEC
            DBMS_GOLDENGATE_AUTH.GRANT_ADMIN_PRIVILEGE (‘OGGADM1‘,‘capture‘,TRUE);
      PL/SQL procedure successfully completed.
      
      host01_SQL>
                                                                                      
      

      如果SELECT返回ARCHIVELOG YES YES然后没有进一步修改数据库需要。如果SELECT返回NOARCHIVELOG NO NO,然后请参阅如何更改,并在源数据库上执行的下一步骤。

      默认情况下数据库处于NOARCHIVELOGforce_logging=NO。Goldengate 需要ARCHIVELOGforce_logging=YES。要改变这种下来需要要被关闭的数据库 (这两个节点)
      !。第一次关闭目标节点 2。

      Exadata-节点 2 (目标)
      [[email protected] ~]$ sqlplus / as sysdba 
      
      SQL*Plus: Release 11.2.0.2.0 Production on Wed Feb 27 09:59:04 2013
      Copyright (c) 1982, 2010, Oracle.  All rights reserved.
      Connected to:
      Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
      With the Partitioning, Real Application Clusters, Automatic Storage Management,
      OLAP, Data Mining and Real Application Testing options
      
      SQL> set sqlprompt ‘qr01db_SQL> ‘
      qr01db_SQL> SELECT log_mode, force_logging, supplemental_log_data_min
                  FROM v$database; 
      
      LOG_MODE     FOR SUPPLEME
      ------------ --- --------
      NOARCHIVELOG NO  NO
      
      qr01db_SQL> shutdown immediate
      Database closed.
      Database dismounted.
      ORACLE instance shut down.
      qr01db_SQL>
                                                                                      
      

      set sqlprompt的使用是可选的但它可以帮助您保持笔直的屏幕连接到哪个函数。

      关闭目标节点 1。改变数据库和系统所需。

      Exadata-节点 1 (目标)
      [[email protected] ~]$ sqlplus / as sysdba 
      
      SQL*Plus: Release 11.2.0.2.0 Production on Wed Feb 27 09:56:12 2013
      Copyright (c) 1982, 2010, Oracle.  All rights reserved.
      Connected to:
      Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
      With the Partitioning, Real Application Clusters, Automatic Storage Management,
      OLAP, Data Mining and Real Application Testing options
      
      SQL> set sqlprompt ‘qr01db_SQL> ‘
      qr01db_SQL> SELECT log_mode, force_logging, supplemental_log_data_min
                  FROM v$database; 
      
      LOG_MODE     FOR SUPPLEME
      ------------ --- --------
      NOARCHIVELOG NO  NO
      
      qr01db_SQL> shutdown immediate
      Database closed.
      Database dismounted.
      ORACLE instance shut down.
      qr01db_SQL> startup mount
      ORACLE instance started.
      
      Total System Global Area  939495424 bytes
      Fixed Size                  2232088 bytes
      Variable Size             637534440 bytes
      Database Buffers          293601280 bytes
      Redo Buffers                6127616 bytes
      Database mounted.
      qr01db_SQL> ALTER DATABASE ARCHIVELOG;
      ALTER DATABASE ARCHIVELOG
      *
      ERROR at line 1:
      ORA-01126: database must be mounted in this instance and not open in any instance
      
      qr01db_SQL> ALTER DATABASE ARCHIVELOG;
      Database altered.
      
      qr01db_SQL> ALTER DATABASE OPEN;
      Database altered.
      
      qr01db_SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
      Database altered.
      
      qr01db_SQL> ALTER DATABASE FORCE LOGGING;
      Database altered.
      
      qr01db_SQL> ALTER SYSTEM SWITCH LOGFILE;
      System altered.
      
      qr01db_SQL> SELECT log_mode, force_logging, supplemental_log_data_min
                  FROM v$database; 
      
      LOG_MODE     FOR SUPPLEME
      ------------ --- --------
      ARCHIVELOG   YES YES
      
      qr01db_SQL> COMMIT;
      Commit complete.
      
      qr01db_SQL> shutdown immediate
      Database closed.
      Database dismounted.
      ORACLE instance shut down.
      qr01db_SQL>
                                                                                      
      

      请注意ERROR ORA-01126屏幕中间的。这是你看到的如果你忘了第一次关闭其他节点。离开目标节点 1 暂时关闭。

      目标节点 2 上执行类似的步骤。

      Exadata-节点 2 (目标)
      ORACLE instance shut down.
      SQL> set sqlprompt ‘qr01db_SQL> ‘
      qr01db_SQL> startup mount
      ORACLE instance started.
      
      Total System Global Area  939495424 bytes
      Fixed Size                  2232088 bytes
      Variable Size             641728744 bytes
      Database Buffers          289406976 bytes
      Redo Buffers                6127616 bytes
      Database mounted.
      qr01db_SQL> ALTER DATABASE ARCHIVELOG;
      Database altered.
      
      qr01db_SQL> ALTER DATABASE OPEN;
      Database altered.
      
      qr01db_SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
      Database altered.
      
      qr01db_SQL> ALTER DATABASE FORCE LOGGING;
      ALTER DATABASE FORCE LOGGING
      *
      ERROR at line 1:
      ORA-12920: database is already in force logging mode
      
      qr01db_SQL> ALTER SYSTEM SWITCH LOGFILE;
      System altered.
      
      qr01db_SQL> SELECT log_mode, force_logging, supplemental_log_data_min
                  FROM v$database; 
      
      LOG_MODE     FOR SUPPLEME
      ------------ --- --------
      ARCHIVELOG   YES YES
      
      qr01db_SQL>
                                                                                      
      

      有意思的是,要注意哪些东西适用于 (有两个实例) 的实例,以及哪些东西应用到数据库 (那里是只有一个数据库)。例如,每个实例必须设置为ALTER DATABASE ADD SUPPLEMENTAL LOG DATA,但单个数据库已经在FORCE LOGGING从先前的实例。

      当你成功时,SELECT将返回ARCHIVELOG YES YES.

      现在,数据库发生更改,请将它启动。节点 2 已在运行,现在在节点 1 上启动的数据库。为 Exadata (此用户是可访问的节点 dbm1 或 dbm2) 创建 OGG 架构管理员用户。

      Exadata-节点 1 (目标)
      ORACLE instance shut down.
      qr01db_SQL> startup
      ORACLE instance started.
      
      Total System Global Area  939495424 bytes
      Fixed Size                  2232088 bytes
      Variable Size             637534440 bytes
      Database Buffers          293601280 bytes
      Redo Buffers                6127616 bytes
      Database mounted.
      Database opened.
      qr01db_SQL> sho parameter name 
      
      NAME                                 TYPE        VALUE
      ------------------------------------ ----------- ------------------------------
      db_file_name_convert                 string
      db_name                              string      dbm
      db_unique_name                       string      dbm
      global_names                         boolean     FALSE
      instance_name                        string      dbm1
      lock_name_space                      string
      log_file_name_convert                string
      processor_group_name                 string
      service_names                        string      dbm.example.com
      
      qr01db_SQL> CREATE USER oggadm2 IDENTIFIED BY pswd2a;
      User created.
      
      qr01db_SQL> GRANT dba TO oggadm2;
      Grant succeeded.
      
      qr01db_SQL> EXEC
            DBMS_GOLDENGATE_AUTH.GRANT_ADMIN_PRIVILEGE (‘OGGADM2‘,‘capture‘,TRUE);
      PL/SQL procedure successfully completed.
      
      qr01db_SQL> exit
      Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 -
      64bit Production With the Partitioning, Real Application Clusters, Automatic
      Storage Management, OLAP, Data Mining and Real Application Testing options
      [[email protected] ~]$
                                                                                      
      

      OGG 的管理员授予 DBA 可能是大材小用,但很方便此示例。您可能会授予权限少在生产环境中。

      此时,处理完事情,需要单独配置的两个节点。从现在开始,您可以选择对所有sqlplus操作使用只是节点 1。

      这样就完成了准备 Oracle GoldenGate 的数据库。

    1.5 为 DBFS 准备数据库

      创建两个表空间 (一个大和一个小),持有两个DBFS。两个表空间将稍后有缓存的不同特性。

      不论在目标节点 1 或 2 的目标节点上执行此步骤,它所有去到相同的共享的存储空间。dbfs_ogg_big为选取的大小可能会在生产环境中的大得多。他们需要大得足以容纳所有跟踪文件。dbfs_ogg_small为选取的大小可能会有关的权利。所有在小
      DBFS 正在将是非常微小的检查点文件。

      Exadata-节点 2 (目标)
      qr01db_SQL> CREATE bigfile TABLESPACE dbfs_ogg_big datafile ‘+DBFS_DG‘ SIZE
        100M autoextend ON NEXT 10M MAXSIZE 200M LOGGING EXTENT MANAGEMENT LOCAL
        AUTOALLOCATE SEGMENT SPACE MANAGEMENT AUTO; 
      
      Tablespace created.
      
      qr01db_SQL> CREATE bigfile TABLESPACE dbfs_ogg_small datafile ‘+DBFS_DG‘ SIZE
        10M autoextend ON NEXT 1M MAXSIZE 20M LOGGING EXTENT MANAGEMENT LOCAL
        AUTOALLOCATE SEGMENT SPACE MANAGEMENT AUTO;  
      
      Tablespace created.
      
      qr01db_SQL> SELECT tablespace_name, logging, bigfile
                  FROM dba_tablespaces WHERE tablespace_name like ‘DBFS%‘; 
      
      TABLESPACE_NAME             LOGGING   BIG
      --------------------------- --------- ---
      DBFS_OGG_BIG                LOGGING   YES
      DBFS_OGG_SMALL              LOGGING   YES
      
      qr01db_SQL> SELECT table_name, segment_name, cache, logging
                  FROM dba_lobs WHERE tablespace_name like ‘DBFS%‘;
      no rows selected
      
      qr01db_SQL> CREATE USER dbfs_user IDENTIFIED BY dbfs_pswd
                DEFAULT TABLESPACE dbfs_ogg_big
                QUOTA UNLIMITED ON dbfs_ogg_big QUOTA UNLIMITED ON dbfs_ogg_small;
      User created.
      
      qr01db_SQL> GRANT create session, create table, create view,
                create procedure, dbfs_role TO dbfs_user;
      Grant succeeded.
      
      qr01db_SQL> exit
      Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 -
      64bit Production With the Partitioning, Real Application Clusters, Automatic
      Storage Management, OLAP, Data Mining and Real Application Testing options
      [[email protected] ~]$
                                                                                      
      

      请注意第二个SELECT显示没有 Lob 尚存在。这将会改变下, 一步。

      这样就完成了准备 DBFS 的数据库。关于 DBFS 的详细信息,请参阅大型对象 (Lob)文档.

    这样就完成了准备环境。

2. Preparing Database File System (DBFS)

    目标

    本练习的目标是:

    • 创建到房子 DBFS 的 LOB 表。
    • 创建操作系统装入点和目录结构。
    • 启动 OS 客户端使用 DBFS。

    2.1 创建到房子 DBFS LOB 表

      它是重要的是要运行的脚本将在客户端启动时 (步骤 2.3.1 和 2.3.2 步) 中指定的同一用户身份在此案例dbfs_user。当运行 SQL @dbfs脚本,确保他们有没有额外的换行符在参数中 (即使它们显示在示例中的换行符)。

      Exadata-节点 2 (目标)
      [[email protected] ~]$ cd $ORACLE_HOME/rdbms/admin
      [[email protected] admin]$ sqlplus dbfs_user/dbfs_pswd 
      
      SQL*Plus: Release 11.2.0.2.0 Production on Wed Feb 27 10:37:45 2013
      Copyright (c) 1982, 2010, Oracle.  All rights reserved.
      Connected to:
      Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
      With the Partitioning, Real Application Clusters, Automatic Storage Management,
      OLAP, Data Mining and Real Application Testing options
      
      qr01db_SQL> @dbfs_create_filesystem_advanced.sql dbfs_ogg_big dbfs_big
                  nocompress nodeduplicate noencrypt non-partition
      qr01db_SQL> Rem
      qr01db_SQL> Rem $Header: rdbms/admin/dbfs_create_filesystem_advanced.sql /main/4
                  2010/04/14 13:21:30 weizhang Exp $
      qr01db_SQL> Rem
      qr01db_SQL> Rem dbfs_create_filesystem.sql
      qr01db_SQL> Rem
      qr01db_SQL> Rem Copyright (c) 2009, 2010, Oracle and/or its affiliates.
      qr01db_SQL> Rem All rights reserved.
      qr01db_SQL> Rem
      qr01db_SQL> Rem NAME
      qr01db_SQL> Rem  dbfs_create_filesystem_advanced.sql - DBFS create filesystem
      qr01db_SQL> Rem
      qr01db_SQL> Rem DESCRIPTION
      qr01db_SQL> Rem  DBFS create filesystem script
      qr01db_SQL> Rem  Usage: sqlplus @dbfs_create_filesystem_advanced.sql
      qr01db_SQL> Rem           <tablespace_name> <filesystem_name>
      qr01db_SQL> Rem           <compress-high | compress-medium  | nocompress>
      qr01db_SQL> Rem           <deduplicate | nodeduplicate> <encrypt | noencrypt>
      qr01db_SQL> Rem           <non-partition | partition | partition-by-itemname |
      qr01db_SQL> Rem            partition-by-guid, partition-by-path>
      qr01db_SQL> Rem
      qr01db_SQL> Rem NOTES
      qr01db_SQL> Rem
      qr01db_SQL> Rem    MODIFIED   (MM/DD/YY)
      qr01db_SQL> Rem    weizhang    03/11/10 - bug 9220947: tidy up
      qr01db_SQL> Rem    weizhang    06/12/09 - Package name change
      qr01db_SQL> Rem    weizhang    04/06/09 - Created
      qr01db_SQL> Rem
      qr01db_SQL>
      qr01db_SQL> SET ECHO OFF
      No errors.
      --------
      CREATE STORE:
      begin dbms_dbfs_sfs.createFilesystem(store_name => ‘FS_DBFS_BIG‘, tbl_name =>
      ‘T_DBFS_BIG‘, tbl_tbs => ‘dbfs_ogg_big‘, lob_tbs => ‘dbfs_ogg_big‘, do_partition
      => false, partition_key => 1, do_compress => false, compression => ‘‘, do_dedup
      => false, do_encrypt => false); end;
      --------
      REGISTER STORE:
      begin dbms_dbfs_content.registerStore(store_name=> ‘FS_DBFS_BIG‘, provider_name
      => ‘sample1‘, provider_package => ‘dbms_dbfs_sfs‘); end;
      --------
      MOUNT STORE:
      begin dbms_dbfs_content.mountStore(store_name=>‘FS_DBFS_BIG‘,
      store_mount=>‘dbfs_big‘); end;
      --------
      CHMOD STORE:
      declare m integer; begin m := dbms_fuse.fs_chmod(‘/dbfs_big‘, 16895); end;
      No errors.
      
      qr01db_SQL> @dbfs_create_filesystem_advanced.sql dbfs_ogg_small dbfs_sm
                  nocompress nodeduplicate noencrypt non-partition
      No errors.
      --------
      CREATE STORE:
      begin dbms_dbfs_sfs.createFilesystem(store_name => ‘FS_DBFS_SM‘, tbl_name =>
      ‘T_DBFS_SM‘, tbl_tbs => ‘dbfs_ogg_small‘, lob_tbs => ‘dbfs_ogg_small‘,
      do_partition => false, partition_key => 1, do_compress => false, compression =>
      ‘‘, do_dedup => false, do_encrypt => false); end;
      --------
      REGISTER STORE:
      begin dbms_dbfs_content.registerStore(store_name=> ‘FS_DBFS_SM‘, provider_name
      => ‘sample1‘, provider_package => ‘dbms_dbfs_sfs‘); end;
      --------
      MOUNT STORE:
      begin dbms_dbfs_content.mountStore(store_name=>‘FS_DBFS_SM‘,
      store_mount=>‘dbfs_sm‘); end;
      --------
      CHMOD STORE:
      declare m integer; begin m := dbms_fuse.fs_chmod(‘/dbfs_sm‘, 16895); end;
      No errors.
      
      qr01db_SQL> conn / as sysdba
      Connected.
      qr01db_SQL> SELECT tablespace_name, file_name FROM dba_data_files
                  WHERE tablespace_name LIKE ‘DBFS%‘; 
      
      TABLESPACE_NAME  FILE_NAME
      ---------------  --------------------------------------------------
      DBFS_OGG_BIG     +DBFS_DG/dbm/datafile/dbfs_ogg_big.256.808464609
      DBFS_OGG_SMALL   +DBFS_DG/dbm/datafile/dbfs_ogg_small.257.808464635
      
      qr01db_SQL> SELECT table_name, segment_name, cache, logging FROM dba_lobs
                  WHERE tablespace_name like ‘DBFS%‘; 
      
      TABLE_NAME              SEGMENT_NAME                CACHE     LOGGING
      ----------------------- --------------------------- --------- -------
      T_DBFS_BIG              LOB_SFS$_FST_1              NO        YES
      T_DBFS_SM               LOB_SFS$_FST_11             NO        YES
      qr01db_SQL> ALTER TABLE dbfs_user.T_DBFS_SM
                  MODIFY LOB (FILEDATA) (CACHE LOGGING);
      qr01db_SQL> SELECT table_name, segment_name, cache, logging FROM dba_lobs
                  WHERE tablespace_name like ‘DBFS%‘;  
      
      TABLE_NAME              SEGMENT_NAME                CACHE     LOGGING
      ----------------------- --------------------------- --------- -------
      T_DBFS_BIG              LOB_SFS$_FST_1              NO        YES
      T_DBFS_SM               LOB_SFS$_FST_11             YES       YES
      qr01db_SQL> exit
      Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 -
      64bit Production With the Partitioning, Real Application Clusters, Automatic
      Storage Management, OLAP, Data Mining and Real Application Testing options
      [[email protected] admin]$
                                                                                      
      

      ALTER TABLE变化较小的 DBFS 使用缓存。这是为小小的检查点的表很有用。没有缓存的更大的 DBFS 默认,更好地适合顺序阅读和写作,所使用的轨迹文件。

      这样就完成了创建 DBFS LOB 的表。

    2.2 创建装入点和目录结构

      DBFS 住在共享存储单元格上。

      你可以找到任何地方的 DBFS,公约 》 下/mnt.

      Exadata-节点 2 (目标)
      [[email protected] ~]$ su - root
      Password:
      [[email protected] ~]# cd /mnt
      [[email protected] mnt]# mkdir DBFS
      [[email protected] mnt]# ll
      total 4
      drwxr-xr-x 2 root root 4096 Feb 27 10:34 DBFS
      [[email protected] mnt]# chown oracle:oinstall DBFS/
      [[email protected] mnt]# ll
      total 4
      drwxr-xr-x 2 oracle oinstall 4096 Feb 27 10:34 DBFS
      [[email protected] mnt]# exit
      [[email protected] ~]$
                                                                                      
      

      您需要将root来创建它,但然后更改回oracle的所有权.

      即使 DBFS 本身是在共享存储上,装入点需要在两个节点上定义。

      Exadata-节点 1 (目标)
      [[email protected] ~]$ su - root
      Password:
      [[email protected] ~]# cd /mnt
      [[email protected] mnt]# mkdir DBFS
      [[email protected] mnt]# ll
      total 4
      drwxr-xr-x 2 root root 4096 Feb 27 10:34 DBFS
      [[email protected] mnt]# chown oracle:oinstall DBFS/
      [[email protected] mnt]# ll
      total 4
      drwxr-xr-x 2 oracle oinstall 4096 Feb 27 10:34 DBFS
      [[email protected] mnt]# exit
      [[email protected] ~]$
                                                                                      
      

      这应该是所有 Exadata 节点上完全相同。

      这样就完成了创建挂载点和目录结构。

    2.3 启动 OS 客户端使用 DBFS

      虽然这些 DBFS 客户端启动手动作为概念证明的一部分,在生产中将定义这作为一种自动重新启动资源。

      dbfs_user匹配步 2.1.1 中定义脚本的用户。Exadata 目标节点 2 上启动 DBFS 客户端。不要按输入在键入的nohup命令,都应该在一个逻辑行。然而,它的答复后,"appending
      output to nohup.out
      ",您不必按 Enter,再把控制返回给操作系统提示符。

      Exadata-节点 2 (目标)
      [[email protected] ~]$ cd ~
      [[email protected] ~]$ echo dbfs_pswd > passwd.txt
      [[email protected] ~]$ nohup $ORACLE_HOME/bin/dbfs_client [email protected]
                           -o allow_other,direct_io /mnt/DBFS < ~/passwd.txt &
      [1] 5670
      [[email protected] ~]$ nohup: appending output to `nohup.out‘
      
      [[email protected] ~]$ ll /mnt/DBFS/
      total 0
      drwxrwxrwx 3 root root 0 Feb 27 10:39 dbfs_big
      drwxrwxrwx 3 root root 0 Feb 27 10:40 dbfs_sm
      [[email protected] ~]$ df -k
      Filesystem           1K-blocks      Used Available Use% Mounted on
      /dev/xvda2             8022104   2639960   4968072  35% /
      /dev/xvda1              101086     13048     82819  14% /boot
      tmpfs                  1146880    748004    398876  66% /dev/shm
      /dev/xvdb1            20635700  12517612   7069852  64% /u01
      [email protected]:/    222640       304    222336   1% /mnt/DBFS
      [[email protected] ~]$
                                                                                      
      

      & 符"&"在命令行的末尾将发送dbfs_client ,在后台运行。您可以操作后台作业与jobs(列出作业)、 fg (前景) 和bg (背景)。

      您需要在两个节点上启动客户端。(节点 1 和节点 2) 的顺序并不重要。Exadata 目标节点 1 上启动 DBFS 客户端。再次,要注意不让任何杂散线饲料中输入nohup命令时。

      Exadata-节点 1 (目标)
      [[email protected] ~]$ cd ~
      [[email protected] ~]$ echo dbfs_pswd > passwd.txt
      [[email protected] ~]$ nohup $ORACLE_HOME/bin/dbfs_client [email protected]
                           -o allow_other,direct_io /mnt/DBFS < ~/passwd.txt &
      [1] 6358
      [[email protected] ~]$ nohup: appending output to `nohup.out‘
      
      [[email protected] ~]$ ll /mnt/DBFS/
      total 0
      drwxrwxrwx 3 root root 0 Feb 27 10:39 dbfs_big
      drwxrwxrwx 4 root root 0 Feb 27 11:19 dbfs_sm
      [[email protected] ~]$ df -k
      Filesystem           1K-blocks      Used Available Use% Mounted on
      /dev/xvda2             8022104   2660752   4947280  35% /
      /dev/xvda1              101086     13048     82819  14% /boot
      tmpfs                  1146880    797380    349500  70% /dev/shm
      /dev/xvdb1            20635700  12054256   7533208  62% /u01
      [email protected]:/    222640       304    222336   1% /mnt/DBFS
      [[email protected] ~]$
                                                                                      
      

      df -k是可选的只是为了检查 DBFS 目录的大小是您所期望的。

      这将完成启动客户端使用 DBFS。

    这样就完成了准备 DBFS。

3. Installing Oracle GoldenGate (OGG) Software

    目标

    本练习的目标是:

    • 解压缩软件。
    • 修复符号链接。
    • 创建的基准参数文件。

    这个 OBE 假定源是一个 Linux 64 位英特尔体系结构框,但如果是别的步骤仍然是相当相似。

    3.1 解压缩 Oracle GoldenGate 软件

      在所有三个主机上安装的软件。这假定你已经从Oracle 软件交付云,下载V34339-01.zip (或更高版本)
      和它在您的主目录 (~) 每个主机上上演。

      Exadata 目标节点 2 上安装 OGG 软件。请注意在第一个命令的前导点。使用"源" .bash_profile那个点去接$OGG_HOME和其他环境变量。

      Exadata-节点 2 (目标)
      [[email protected] admin]$ . ~/.bash_profile
      [[email protected] admin]$ echo $OGG_HOME
      /u01/app/oracle/ogg
      [[email protected] ~]$ cd $ORACLE_BASE
      [[email protected] oracle]$ mkdir ogg
      [[email protected] oracle]$ cd $OGG_HOME
      [[email protected] ogg]$ pwd
      /u01/app/oracle/ogg
      [[email protected] ogg]$ unzip ~/V34339-01.zip
      Archive:  /home/oracle/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
      [[email protected] ogg]$ tar -xvpf fbo_ggs_Linux_x64_ora11g_64bit.tar
      UserExitExamples/
      UserExitExamples/ExitDemo_more_recs/
      UserExitExamples/ExitDemo_more_recs/Makefile_more_recs.HPUX
      UserExitExamples/ExitDemo_more_recs/Makefile_more_recs.SOLARIS
      UserExitExamples/ExitDemo_more_recs/Makefile_more_recs.LINUX
      UserExitExamples/ExitDemo_more_recs/Makefile_more_recs.AIX
      UserExitExamples/ExitDemo_more_recs/exitdemo_more_recs.vcproj
      UserExitExamples/ExitDemo_more_recs/exitdemo_more_recs.c
      UserExitExamples/ExitDemo_more_recs/readme.txt
      UserExitExamples/ExitDemo_passthru/
      
        (...many lines omitted for clarity...)
      
      reverse
      role_setup.sql
      sequence.sql
      server
      sqlldr.tpl
      tcperrs
      ucharset.h
      ulg.sql
      usrdecs.h
      zlib.txt
      [[email protected] ogg]$
                                                                                      
      

      你可能会想要看README.txt为晚突发新闻。

      做同样的事情在其他 Exadata 目标节点上 1。

      Exadata-节点 1 (目标)
      [[email protected] ~]$ . ~/.bash_profile
      [[email protected] ~]$ echo $OGG_HOME
      /u01/app/oracle/ogg
      [[email protected] ~]$ cd $ORACLE_BASE
      [[email protected] oracle]$ mkdir ogg
      [[email protected] oracle]$ cd $OGG_HOME
      [[email protected] ogg]$ pwd
      /u01/app/oracle/ogg
      [[email protected] ogg]$ unzip ~/V34339-01.zip
      Archive:  /home/oracle/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
      [[email protected] ogg]$ tar -xvpf fbo_ggs_Linux_x64_ora11g_64bit.tar
      UserExitExamples/
      UserExitExamples/ExitDemo_more_recs/
      
        (...many lines omitted for clarity...)
      
      ulg.sql
      usrdecs.h
      zlib.txt
      [[email protected] ogg]$
                                                                                      
      

      它应该相同。

      做同样的事情在源 host01 上。

      Host01-Linux (源)
        (screens not shown, they are the same as above)
                                                                                      
      

      这样就完成了解压缩的 Oracle GoldenGate 软件。

    3.2 创建指向 DBFS 的符号链接

      符号链接告诉 OGG 使用 DBFS 的共同文件和跟踪文件。您需要使 DBFS 子目录只有一次,但需要两个 Exadata 节点上进行链接。他们将作为中$OGG_HOME子目录有相同的名称和结构.

      Exadata 目标节点 2 上创建的 DBFS 子目录和符号链接。

      Exadata-节点 2 (目标)
      [[email protected] ogg]$ cp ./dirprm/jagent.prm jagent.backup
      [[email protected] ogg]$ rm -rf dirprm
      [[email protected] ogg]$ mkdir /mnt/DBFS/dbfs_sm/ogg
      [[email protected] ogg]$ mkdir /mnt/DBFS/dbfs_sm/ogg/dirprm
      [[email protected] ogg]$ mkdir /mnt/DBFS/dbfs_sm/ogg/dirpcs
      [[email protected] ogg]$ mkdir /mnt/DBFS/dbfs_sm/ogg/dirchk
      [[email protected] ogg]$ mkdir /mnt/DBFS/dbfs_big/ogg
      [[email protected] ogg]$ mkdir /mnt/DBFS/dbfs_big/ogg/dirdat
      [[email protected] ogg]$ ln -s /mnt/DBFS/dbfs_sm/ogg/dirprm/  $OGG_HOME/dirprm
      [[email protected] ogg]$ ln -s /mnt/DBFS/dbfs_sm/ogg/dirpcs/  $OGG_HOME/dirpcs
      [[email protected] ogg]$ ln -s /mnt/DBFS/dbfs_sm/ogg/dirchk/  $OGG_HOME/dirchk
      [[email protected] ogg]$
                                                                                      
      

      dirprm/jagent.prm作为解压缩的一部分创建的您需要将它移动到 DBFS 后创建的其他目录。

      $OGG_HOME使用 GGSCI 中的 Exadata 目标节点 2 上创建子目录。

      Exadata-节点 2 (目标)
      [[email protected] ogg]$ ./ggsci 
      
      Oracle GoldenGate Command Interpreter for Oracle
      Version 11.2.1.0.3 14400833 OGGCORE_11.2.1.0.3_PLATFORMS_120823.1258_FBO
      Linux, x64, 64bit (optimized), Oracle 11g on Aug 23 2012 20:20:21
      Copyright (C) 1995, 2012, Oracle and/or its affiliates. All rights reserved.
      
      GGSCI (qr01db02.example.com) 1> Create SubDirs 
      
      Creating subdirectories under current directory /u01/app/oracle/ogg
      
      Parameter files                /u01/app/oracle/ogg/dirprm: already exists
      Report files                   /u01/app/oracle/ogg/dirrpt: created
      Checkpoint files               /u01/app/oracle/ogg/dirchk: already exists
      Process status files           /u01/app/oracle/ogg/dirpcs: already exists
      SQL script files               /u01/app/oracle/ogg/dirsql: created
      Database definitions files     /u01/app/oracle/ogg/dirdef: created
      Extract data files             /u01/app/oracle/ogg/dirdat: created
      Temporary files                /u01/app/oracle/ogg/dirtmp: created
      Stdout files                   /u01/app/oracle/ogg/dirout: created
      
      GGSCI (qr01db02.example.com) 2> Exit 
      
      [[email protected] ogg]$ mv jagent.backup /mnt/DBFS/dbfs_sm/ogg/dirprm/jagent.prm
      [[email protected] ogg]$ cd dirprm/
      [[email protected] dirprm]$ ll
      total 1
      -rwxr-x--- 1 oracle oinstall 53 Feb 27 11:11 jagent.prm
      [[email protected] dirprm]$ pwd
      /u01/app/oracle/ogg/dirprm
      [[email protected] dirprm]$ cd $OGG_HOME
                                                                                      
      

      注意到作为符号链接指向 DBFS 存在的三个子目录。现在你已经搬回jagent.prm文件到这些链接之一: ogg/dirprm.

      做同样的事情在目标节点 1 上。这次有略有较少的步骤。

      Exadata-节点 1 (目标)
      [[email protected] ogg]$ cp ./dirprm/jagent.prm jagent.backup
      [[email protected] ogg]$ rm -rf dirprm
      [[email protected] ogg]$ ll /mnt/DBFS/dbfs_sm/ogg/
      total 0
      drwxr-xr-x 2 oracle oinstall 0 Feb 27 11:19 dirchk
      drwxr-xr-x 2 oracle oinstall 0 Feb 27 11:19 dirpcs
      drwxr-xr-x 2 oracle oinstall 0 Feb 27 11:23 dirprm
      [[email protected] ogg]$
      [[email protected] ogg]$ ln -s /mnt/DBFS/dbfs_sm/ogg/dirprm/  $OGG_HOME/dirprm
      [[email protected] ogg]$ ln -s /mnt/DBFS/dbfs_sm/ogg/dirpcs/  $OGG_HOME/dirpcs
      [[email protected] ogg]$ ln -s /mnt/DBFS/dbfs_sm/ogg/dirchk/  $OGG_HOME/dirchk
      [[email protected] ogg]$
                                                                                      
      

      请注意,DBFS ogg/下部结构已存在。

      $OGG_HOME使用 GGSCI 中的 Exadata 目标节点 1 上创建其他子目录。

      Exadata-节点 1 (目标)
      [[email protected] ogg]$ ./ggsci 
      
      Oracle GoldenGate Command Interpreter for Oracle
      Version 11.2.1.0.3 14400833 OGGCORE_11.2.1.0.3_PLATFORMS_120823.1258_FBO
      Linux, x64, 64bit (optimized), Oracle 11g on Aug 23 2012 20:20:21
      Copyright (C) 1995, 2012, Oracle and/or its affiliates. All rights reserved.
      
      GGSCI (qr01db01.example.com) 1> Create SubDirs 
      
      Creating subdirectories under current directory /u01/app/oracle/ogg
      
      Parameter files                /u01/app/oracle/ogg/dirprm: already exists
      Report files                   /u01/app/oracle/ogg/dirrpt: created
      Checkpoint files               /u01/app/oracle/ogg/dirchk: already exists
      Process status files           /u01/app/oracle/ogg/dirpcs: already exists
      SQL script files               /u01/app/oracle/ogg/dirsql: created
      Database definitions files     /u01/app/oracle/ogg/dirdef: created
      Extract data files             /u01/app/oracle/ogg/dirdat: created
      Temporary files                /u01/app/oracle/ogg/dirtmp: created
      Stdout files                   /u01/app/oracle/ogg/dirout: created
      
      GGSCI (qr01db01.example.com) 2> Exit
      [[email protected] ogg]$ mv jagent.backup /mnt/DBFS/dbfs_sm/ogg/dirprm/jagent.prm
      [[email protected] ogg]$ cd dirprm/
      [[email protected] dirprm]$ ll
      total 1
      -rwxr-x--- 1 oracle oinstall 53 Feb 27 11:37 jagent.prm
      [[email protected] dirprm]$ pwd
      /u01/app/oracle/ogg/dirprm
      [[email protected] dirprm]$ cd $OGG_HOME
      [[email protected] ogg]$
                                                                                      
      

      GGSCI 关键字是不区分大小写,但公约 》 所他们将显示在MixedCase中,使它们更具可读性 (和以UPPERCASE的 SQL 关键字和lowercaseLinux 关键字分开)。

      这样就完成了创建指向 DBFS 的符号链接。

    3.3 创建基本参数文件

      参数文件是 ASCII 文件,用您选择的编辑器创建的。默认的编辑器是vi。评论由开始的第一列中的双短划线表示。大部分的参数文件都存储在公用文件夹/dirprm DBFS 上。

      没有正式启动脚本,但您会发现它非常有用,尤其是对DBLogin的命令。配置源 host01,然后运行startup.oby服从的脚本。

      Host01-Linux (源)
      [[email protected] ogg]$ vi startup.oby 
      
         -- Created by Joe Admin 10/11/2012 on host01
         DBLogin UserID [email protected], Password pswd1a
         Start Mgr
         Info Mgr
         Info CheckpointTable
         -- Set Editor gedit                             
      
      [[email protected] ogg]$ vi GLOBALS  
      
         -- Created by Joe Admin 10/11/2012 on host01
         CheckpointTable oggadm1.oggchkpt                
      
      [[email protected] ogg]$ ./ggsci
      GGSCI (host01) 1> Create SubDirs
        (response not shown, no harm in doing it twice...)
      GGSCI (host01) 2> Edit Param mgr 
      
         -- Created by Joe Admin 10/11/2012 on host01
         Port 15001
         PurgeOldExtracts ./dirdat/*, UseCheckpoints     
      
      GGSCI (host01) 3> Obey startup.oby
      GGSCI (host01) 4> -- Created by Joe Admin 10/11/2012 on host01
      GGSCI (host01) 5> DBLogin UserID [email protected], 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>
                                                                                      
      

      为支持 GUI 的 host01,可能要设置为某个更加友好,如gedit的默认编辑器。要做到这一点,再添加一行到startup.oby (只是删除双破折号注释) 的末尾:

      设置编辑器 gedit

      注意这不是不支持一个 GUI Exadata 上的一个选项。

      管理人员、 端口、 清洗和检查站更详细的解释,请参阅基本 OGG Oracle
      到 Oracle
       OBE。不要担心检查点文件尚不存在。请注意GLOBALS是唯一的"参数"文件,也是大写、 没有扩展名.prm,并生活在$OGG_HOME (而不是小写和生活在$OGG_HOME/dirprm).

      使 Exadata 目标节点 1 上相同的基本配置文件。

      Exadata-节点 1 (目标)
      [[email protected] ogg]$ vi startup.oby 
      
         -- Created by Joe Admin 10/11/2012 on Exadata qr01db01
         DBLogin UserID [email protected], Password pswd2a
         Start Mgr
         Info Mgr
         Info CheckpointTable                                    
      
      [[email protected] ogg]$ vi GLOBALS 
      
         -- Created by Joe Admin 10/11/2012 on qr01db01
         CheckpointTable oggadm2.oggchkpt                        
      
      [[email protected] ogg]$ ./ggsci
      GGSCI (qr01db01) 1> Edit param mgr 
      
         -- Created by Joe Admin 10/11/2012 on Exadata qr01db
         Port 15002
         Autostart ER *
         AutoRestart ER *
         PurgeOldExtracts ./dirdat/*, UseCheckpoints             
      
      GGSCI (qr01db01) 3> Obey startup.oby
      GGSCI (qr01db01) 4> -- Created by Joe Admin 10/11/2012 on Exadata qr01db
      GGSCI (qr01db01) 5> DBLogin UserID [email protected], Password pswd2a
      Successfully logged into database.
      
      GGSCI (qr01db01) 6> Start Mgr
      Manager started.
      
      GGSCI (qr01db01) 7> Info Mgr
      Manager is running (IP port qr01db01.example.com.15002).
      
      GGSCI (qr01db01) 8> Info CheckpointTable
      No checkpoint table specified, using GLOBALS specification (oggadm2.oggchkpt)...
      Checkpoint table oggadm2.oggchkpt does not exist.
      
      GGSCI (qr01db01) 9> Exit
      [[email protected] ogg]$
                                                                                      
      

      Autostart/AutoRestart是可选的但是建议对 MAA。

      配置 Exadata 目标节点 2 的基本参数文件。

      Exadata-节点 2 (目标)
      [[email protected] ogg]$ vi startup.oby 
      
         -- Created by Joe Admin 10/11/2012 on Exadata qr01db02
         DBLogin UserID [email protected], Password pswd2a
         Start Mgr
         Info Mgr
         Info CheckpointTable                                    
      
      [[email protected] ogg]$ vi GLOBALS 
      
         -- Created by Joe Admin 10/11/2012 on qr01db02
         CheckpointTable oggadm2.oggchkpt                        
      
      [[email protected] ogg]$
                                                                                      
      

      关于共享 DBFS 已存在mgr.prm参数文件的说明。这意味着该节点 1 和节点 2 共享同一端口 (15002),这意味着只有一个可以运行一次
      !这是与数据库不同,你运行的两个实例。一次可以在目标系统上运行的 OGG 只有一个实例。这是重要,足以重复:的 OGG 只有一个实例可以在目标系统上运行一次。

      这样就完成了创建基本参数文件。

    这样就完成了安装 OGG 软件。

4. Preparing the Schema

    目标

    本练习的目标是:

    • 添加跟踪的交易数据。
    • 确认 TranData 列。

    这假定示例hr (人力资源) 架构安装与在源数据库和目标Oracle 11g 数据库。

    4.1 添加事务数据跟踪

      你要做这个每次添加一个表或更改表的结构。

      您可以添加跟踪单个表、 表、 通配符组或整个架构的交易数据。在此示例中,将添加源 host01 上的单个表的 TranData。

      Host01-Linux (源)
      GGSCI (host01) > Add TranData hr.regions
      Logging of supplemental redo data enabled for table HR.REGIONS.
      
      GGSCI (host01) > Info TranData hr.* 
      
      Logging of supplemental redo log data is disabled for table HR.COUNTRIES.
      Logging of supplemental redo log data is disabled for table HR.DEPARTMENTS.
      Logging of supplemental redo log data is disabled for table HR.EMPLOYEES.
      Logging of supplemental redo log data is disabled for table HR.JOBS.
      Logging of supplemental redo log data is disabled for table HR.JOB_HISTORY.
      Logging of supplemental redo log data is disabled for table HR.LOCATIONS.
      
      Logging of supplemental redo log data is enabled for table HR.REGIONS.
      Columns supplementally logged for table HR.REGIONS: REGION_ID.
      
      GGSCI (host01) >
                                                                                      
      

      请注意,通过默认它只跟踪的主键列,在这种情况下REGION_ID.

      做不做这一步,只是读取它。

      或者,你可以做以下命令具有相同的效果之一:

      添加 TranData hr.reg*

      添加 SchemaTranData hr

      做不做这一步,只是读取它。

      如果源和目标架构不匹配,则您还必须运行defgen (未显示),使一个列的映射定义文件。在defgen上的详细信息,请参阅章 13: 将相关联的复制数据与元数据OGG
      Windows 和 UNIX 管理员指南
      .

      这样就完成了添加 TransData。

    这样就完成了添加交易数据。

5. Configuring Data Extract

    目标

    本练习的目标是:

    • 配置主提取物。
    • 配置辅助提取物 (数据泵)。
    • 与数据库注册流程。

    "数据提取"也被称为"数据捕获"。

    5.1 配置主要提取物

      配置源 host01 提取hr.regions ,并将它发送到本地数据泵。

      Host01-Linux (源)
      GGSCI (host01) > Edit Param eregab 
      
         -- Primary Extract from host01(a) to QR01(b)
         -- Created by Joe Admin on 10/11/2012
         -- SETENV(ORACLE_SID = "orcl")
         Extract eregab
         ExtTrail ./dirdat/aa
         UserID [email protected], Password pswd1a
         -- TranLogOptions ExcludeUser oggadm1
         Table hr.regions;                                       
      
      GGSCI (host01) >
                                                                                      
      

      外部跟踪文件aa是本地的源。可选的TranLogOptions ExcludeUser将用于未来的双向复制。

      这将完成配置主要的提取物。有很多更有可能选择不显示,如筛选和列映射。

    5.2 配置辅助提取 (数据泵)

      数据抽取的目的是提供更高的可用性,在网络中断的情况下。它是可选的但建议为 MAA。在源 host01 上配置数据抽取。

      Host01-Linux (源)
      GGSCI (host01) > Edit Param pregab 
      
         -- Data pump (secondary Extract) from host01(a) to qr01(b)
         -- Created by Joe Admin on 10/11/2012
         Extract pregab
         RmtHost qr01-vip, MgrPort 15002, Compress
         RmtTrail /mnt/DBFS/dbfs_big/ogg/dirdat/ab
         Passthru
         Table hr.regions;                                          
      
      GGSCI (host01) >
                                                                                      
      

      请注意远程跟踪 (RmtTrail) 写入使用/etc/hosts中定义的虚拟 IP 地址的远程目标 DBFS 位置。只有Table语句 (这里上提取物) 和Map声明 (那里上建议您使用) 必须以分号结束,因此可以跨线。其他的语句必须在一行上逻辑
      (好屏幕自动换行,当您键入时,只是不插入输入)。

      这将完成配置,数据抽取。

    5.3 数据库中注册的提取过程

      您必须登录到本地数据库 (DBLogin) 的登记工作。3.3.1 步中使用startup.oby可以的替你照顾。注册主提取源 host01 上。

      Host01-Linux (源)
      GGSCI (host01) > Add Extract eregab, TranLog, Begin Now
      EXTRACT added.
      
      GGSCI (host01) > Add ExtTrail ./dirdat/aa, Extract eregab, Megabytes 2
      EXTTRAIL added.
      
      GGSCI (host01) >
                                                                                      
      

      默认Megabytes的大小为 100 MB。您可能需要根据您的交通和滞后的更多或更少。

      注册源 host01 中学摘录 (数据泵)。

      Host01-Linux (源)
      GGSCI (host01) > Add Extract pregab, ExtTrailSource ./dirdat/aa
      EXTRACT added.
      
      GGSCI (host01) > Add RmtTrail /mnt/DBFS/dbfs_big/ogg/dirdat/ab,
                       Extract pregab, Megabytes 2
      RMTTRAIL added.
      
      GGSCI (host01) >
                                                                                      
      

      所有这些注册值必须匹配的参数文件值。有 GUI 工具,如 Oracle GoldenGate 主任,可以装配的所有匹配部分从一个向导。

      这样就完成了注册的提取过程与数据库。

    这样就完成了配置数据提取。

6. Configuring Data Delivery (Replication)

    目标

    本练习的目标是:

    • 配置建议您使用。
    • 创建检查点表。
    • 建议您使用进程注册与数据库。
    • 开始,建议您使用进程。

    "数据传递"也被称为是"建议您使用"通常首字母大写。请注意有没有最后"e"在"建议您使用"(这是一个漫长的故事的另一天)。

    6.1 配置建议您使用

      在任一目标节点上配置建议您使用。在这种情况下的 GGSCI 命令使用节点 2 (和使用节点 1 的 SQL 命令)。

      Exadata-节点 2 (目标)
      [[email protected] dirdat]$ cd $OGG_HOME
      [[email protected] ogg]$ ./ggsci
      GGSCI (qr01db02) 1> Obey startup.oby
      GGSCI (qr01db02) 2> -- Created by Joe Admin 10/11/2012 on Exadata qr01db
      GGSCI (qr01db02) 3> DBLogin UserID [email protected], Password pswd2a
      Successfully logged into database.
      
      GGSCI (qr01db02) 4> Start Mgr
      Manager started.
      
      GGSCI (qr01db02) 5> Info Mgr
      Manager is DOWN!
      
      GGSCI (qr01db02) 6> Info CheckpointTable
      No checkpoint table specified, using GLOBALS specification (oggadm2.oggchkpt)...
      Checkpoint table oggadm2.oggchkpt does not exist.
      
      GGSCI (qr01db02) 7> Edit Param rregab 
      
         -- Delivery from host01(a) to qr01db(b)
         -- Created by Joe Admin on 10/11/2012
         Replicat rregab
         UserID [email protected], password pswd2a
         AssumeTargetDefs
         -- SourceDefs dirdef/dsalesab.def
         DiscardFile dirrpt/rsalesab.dsc, Append
         -- Map ogguser1.tcustmer, Target ogguser2.tcustmer;
         Map hr.*, Target hr.*;                                  
      
      GGSCI (qr01db02) 8> Add Replicat rregab,
                          ExtTrail /mnt/DBFS/dbfs_big/ogg/dirdat/ab
      REPLICAT added.
      
      GGSCI (qr01db02) >
                                                                                      
      

      请注意startup.oby脚本可能会错误地报告管理器已关闭。嗯,在那毫秒大概是下来,但几秒钟后它在运行。脚本做不暂停运行速度超过它们调用的命令。若要修复这时机异常,可能想要在较慢的命令,如Start
      mgr
      和复杂的DBLogin电话 GGSCI 等待赶上来后洒sh 睡 5语句。见OBE自动化
      GGSCI 为更多的想法,关于如何去做。

      AssumeTargetDefsSourceDefs (挑一个或其他的他们是相互排斥的) 和前面提到的defgen实用程序有什么。有很多更有可能选择不显示,如筛选和列映射。

      这将完成配置建议您使用。

    6.2 创建检查点表

      检查点表是可选的但强烈推荐。检查点表仅供建议您使用 (虽然没有伤害到他们,以及在源系统上)。你可以为一些 Replicats,有个别检查点表或您可以为所有 Replicats 有一个全球的检查点表。

      在目标数据库上创建通用检查表,如GLOBALS参数定义的。

      Exadata-节点 2 (目标)
      GGSCI (qr01db02) > Add CheckpointTable
      No checkpoint table specified, using GLOBALS specification (oggadm2.oggchkpt)...
      Successfully created checkpoint table oggadm2.oggchkpt.
      
      GGSCI (qr01db02) >
                                                                                      
      

      startup.oby脚本报告的检查点文件的状态每次你运行它。

      这样就完成了创建检查点表。

    6.3 开始,建议您使用进程

      这是好开始建议您使用而无需启动提取。它将坐,等待提取要晚些时候启动。

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

      Exadata-节点 2 (目标)
      GGSCI (qr01db02) > Start *
      Sending START request to MANAGER ...
      REPLICAT RREGAB starting
      
      GGSCI (qr01db02) > Info All 
      
      Program     Status      Group       Lag at Chkpt  Time Since Chkpt
      MANAGER     RUNNING
      REPLICAT    RUNNING     RREGAB      00:00:00      00:00:02    
      
      GGSCI (qr01db02) >
                                                                                      
      

      你已经结束了 GGSCI 并重新启动它,那里是Autostart的进程,以及。或者,你可以开始使用命令如进程的子集:

      启动 ER *(开始所有提取物和 Replicats,而不是初始任务)

      启动 RR *(命名的通配符与启动的所有进程)

      启动建议您使用 rregab(显式启动只有一个进程)

      一旦管理器启动或停止进程,管理器不是交通的处理所必需的。这将完成开始建议您使用与数据库。

    这样就完成了配置数据复制。

7. Test All Data Synchronization

    目标

    本练习的目标是:

    • 启动 OGG 的所有进程。
    • 插入数据的行。
    • 选择数据的行。

    你可以开始之前建议您使用提取但然后有是填满的跟踪文件的危险。建议您使用前面步骤 6.3 中开始。

    7.1 开始 OGG 的所有进程

      使用Autostart可简化这一步。

      在源 host01 上启动的所有进程。

      Host01-Linux (源)
      [[email protected] ~]$ cd $OGG_HOME
      [[email protected] ogg]$ pwd
      /u01/app/oracle/ogg
      [[email protected] ogg]$ ./ggsci
      GGSCI (host01) 1> Obey startup.oby
      GGSCI (host01) 2> -- Created by Joe Admin 10/11/2012 on host01
      GGSCI (host01) 3> DBLogin UserID [email protected], Password pswd1a
      Successfully logged into database.
      
      GGSCI (host01) 4> Start Mgr
      MGR is already running.
      
      GGSCI (host01) 5> Info Mgr
      Manager is running (IP port host01.example.com.15001).
      
      GGSCI (host01) 6> Info CheckpointTable
      No checkpoint table specified, using GLOBALS specification (oggadm1.oggchkpt)...
      Checkpoint table oggadm1.oggchkpt does not exist.
      
      GGSCI (host01) 7> Add CheckpointTable
      No checkpoint table specified, using GLOBALS specification (oggadm1.oggchkpt)...
      Successfully created checkpoint table oggadm1.oggchkpt.
      
      GGSCI (host01) 8> Info All 
      
      Program     Status      Group       Lag at Chkpt  Time Since Chkpt
      MANAGER     RUNNING
      EXTRACT     STOPPED     EREGAB      00:00:00      02:06:59
      EXTRACT     STOPPED     PREGAB      00:00:00      02:06:38    
      
      GGSCI (host01) 9> Start * 
      
      Sending START request to MANAGER ...
      EXTRACT EREGAB starting
      
      Sending START request to MANAGER ...
      EXTRACT PREGAB starting
      
      GGSCI (host01) 10> Info All 
      
      Program     Status      Group       Lag at Chkpt  Time Since Chkpt
      MANAGER     RUNNING
      EXTRACT     RUNNING     EREGAB      00:00:00      00:00:04
      EXTRACT     RUNNING     PREGAB      00:00:00      00:00:08    
      
      GGSCI (host01) 11> Exit
                                                                                      
      

      源上的检查点表是可选的未使用,但这并不妨碍和您以后可能需要它,如果你过实现双向复制。

      这将完成启动 OGG 的所有进程。

    7.2 插入行的源上的数据

      显示表的视图。hr.regions host01 上中插入两行数据。提交事务。

      Host01-Linux (源)
      [[email protected] ogg]$ sqlplus hr/[email protected]
      SQL> set sqlprompt ‘host01_SQL> ‘
      host01_SQL> SELECT * from regions; 
      
       REGION_ID REGION_NAME
      ---------- -------------------------
               1 Europe
               2 Americas
               3 Asia
               4 Middle East and Africa
      
      host01_SQL> INSERT INTO regions values (10,‘Polar‘);
      1 row created.
      
      host01_SQL> INSERT INTO regions values (11,‘Oceans‘);
      1 row created.
      
      host01_SQL> COMMIT;
      Commit complete.
      
      host01_SQL> SELECT * FROM regions; 
      
       REGION_ID REGION_NAME
      ---------- -------------------------
              10 Polar
              11 Oceans
               1 Europe
               2 Americas
               3 Asia
               4 Middle East and Africa
      
      6 rows selected.
      
      host01_SQL>
                                                                                      
      

      除非它是致力于什么都不会被复制。

      这样就完成了插入行的源上的数据。

    7.3 选择的目标上的数据的行

      您可以使用任一节点查看目标数据库。显示新的表数据。

      Exadata-节点 1 (目标)
      [[email protected] ~]$ sqlplus hr/hr 
      
      SQL*Plus: Release 11.2.0.2.0 Production on Wed Feb 27 17:48:34 2013
      Copyright (c) 1982, 2010, Oracle.  All rights reserved.
      Connected to:
      Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
      With the Partitioning, Real Application Clusters, Automatic Storage Management,
      OLAP, Data Mining and Real Application Testing options
      
      qr01db_SQL> SELECT * FROM regions; 
      
       REGION_ID REGION_NAME
      ---------- -------------------------
              10 Polar
              11 Oceans
               1 Europe
               2 Americas
               3 Asia
               4 Middle East and Africa
      
      6 rows selected.
      
      qr01db_SQL> exit
      Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 -
      64bit Production With the Partitioning, Real Application Clusters, Automatic
      Storage Management, OLAP, Data Mining and Real Application Testing options
      [[email protected] DBFS]$ ll /mnt/DBFS/dbfs_big/ogg/dirdat/
      total 2
      -rw-rw-rw- 1 oracle oinstall 1374 Feb 27 17:47 ab000000
      [[email protected] DBFS]$ ll /mnt/DBFS/dbfs_sm/ogg/dirchk/
      total 5
      -rw-rw-r-- 1 oracle oinstall 4096 Feb 27 17:50 RREGAB.cpr
      -rw-rw-r-- 1 oracle oinstall   54 Feb 27 17:50 RREGAB.cps
      [[email protected] DBFS]$
                                                                                      
      

      请注意轨迹文件和 DBFS 的检查点文件。可以使用logdump等工具来检查的跟踪文件。

      如果您安装的示例架构,但从未使用过他们,然后他们可能锁定。你可以解锁用sqlplus DBA 命令类似于hr架构:

      改变由 hr 帐户标识用户 hr 解锁 ;

      这样就完成了选择的目标上的数据行。

    这将完成测试所有的数据同步。

      这将完成测试所有的数据同步。

    Summary

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

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

      • 配置 DBFS 支持 Oracle GoldenGate Exadata 上
      • 将服务配置为群集准备好支持在 Exadata 上多节点 IP 访问
      • 配置并启动同步的现有表的提取物和建议您使用进程
      • 生成示例数据和测试有效性的复制

      资源

      本教程的专题相关的帮助主题:

时间: 2024-12-21 17:45:17

GG搭建 源单实例---到目标RAC环境 11.2.3版本 单向同步(XX公司项目)的相关文章

Oracle 单实例 迁移到 RAC 实例 -- 使用RMAN 异机恢复

Oracle 官网有关单实例迁移到RAC的一个步骤说明: How to Convert 10g Single-Instance database to 10g RAC using Manual Conversion procedure [ID 747457.1] http://blog.csdn.net/tianlesoftware/archive/2010/12/09/6065903.aspx   RMAN 备份异机恢复 并创建新DBID http://blog.csdn.net/tianle

使用dataguard将单实例数据库转换为rac数据库

我们经常将oracle rac数据库通过dataguard容灾到一个单实例数据库中,当生产库出现故障后可以将生产库切换到dg服务器上.而当生产库rac修复完成后,我们同样可以通过dg将数据回切到生产库中. 此次测试将单实例数据库通过dg转换为rac数据库,这个单实例是刚创建的,并不是由rac通过dg生成的. 在做dg之前需要安装完成grid,不需要创建数据库实例.在日志应用的时候必须只能是一个实例应用. 具体环境如下: 单实例库: 数据库版本:11.2.0.4.0 sid:suq db_uniq

【转】Linux下RabbitMQ服务器搭建(单实例)

阅读目录 系统环境 安装步骤 注意事项 参考资料 回到顶部 系统环境 操作系统:CentOS6.9 erlang:OTP 19.3 rabbitmq:rabbitmq-server 3.6.12 回到顶部 安装步骤 安装erlang 1,安装预环境 通过yum安装以下组件,运行命令: [[email protected] erlang]# yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel 2,下

mysql单实例的安装和简单配置(5.1.*版本)

1.创建mysql帐号 useradd -M -s /sbin/nologin -u 49 mysql 执行过程: [[email protected] ~]# useradd -M -s /sbin/nologin -u 49mysql [[email protected] ~]# cat /etc/passwd | grep mysql mysql:x:49:500::/home/mysql:/sbin/nologin 参数说明: -M 不创建mysql家目录 -s 指定mysql登录的sh

CENTOS6.6上搭建单实例ORACLE12C

本文来自我的github pages博客http://galengao.github.io/ 即www.gaohuirong.cn 摘要: 自己在centos6.6上搭建的单实例oracle12c 由于搭建过程有些不好写,所以图片偏多 *由于截图不规则导致排版有点乱,已经安装过来了,有些截图不能回头截图了,见谅 oracle软件与linux 认证版本 检查硬件要求(Check Hardware Requirements) Check CPU grep "model name" /pro

Oracle - 给rac创建单实例dg,并做主从切换

一.概述 本文将介绍如何给rac搭建单节点的dg,以及如何对其进行角色转换.预先具备的知识(rac搭建,单实例-单实例dg搭建) 二.实验环境介绍 主库rac(已安装rac,并已有数据库orcl)rac1:192.168.56.11,sid1:orcl1,version:11.2.0.4rac2:192.168.56.12,sid2:orcl2,version:11.2.0.4 从库(已安装单实例数据库软件,无数据库实例)oradg:192.168.56.102,sid:orcldg,versi

搭建Oracle 11G单实例Active DataGuard

Oracle 11G单实例ActiveDataGuard 1.基础环境准备 1.1基础环境说明: 操作系统:RHEL 5.5 64bit 数据库版本:Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit 1.2数据库服务名称及目录说明: 主库 备库 IP地址 192.168.4.157 192.168.4.158 主机名称 primary01 standby01 db_name testdb testdb db_uni

单实例数据库安装脚本

安装脚本 1.1_preusers.sh #!/bin/bash #Purpose:Create 3 groups named 'oinstall','dba','oper', plus 1 users named 'oracle'. #Also setting the Environment #variable for oracle user. #Usage:Log on as the superuser('root'),and then execute the command:#./1pre

Oracle 11g RAC到单实例ASM的物理Standby搭建

一.DG环境配置 此次搭建Standby的主库为:" RedHat 6.5+11G+RAC+ASM安装与配置(三节点)",11g单实例ASM安装使用ASMLib的方式,不在使用UDEV方式,磁盘为本机磁盘,非远程挂载的磁盘.本次搭建包含了11g单实例ASM的详细安装过程. 1. 基本环境 主库: 实例名:racdb1,racdb2,racdb3        DB_NAME:racdb              DB_UNIQUE_NAME:racdb 备库: 实例名:racdg