设为首页 收藏本站
查看: 409|回复: 0

[经验分享] oracle 11g goldengate与oracle 11g数据同步

[复制链接]

尚未签到

发表于 2018-9-7 10:28:56 | 显示全部楼层 |阅读模式
  1.下载,安装goldengate软件(两个节都需要安装)
  glodengate下载地址:http://pan.baidu.com/s/1pLtVTJt 密码:exob
  [oracle@oracleogg ~]$ unzip ogg112101_fbo_ggs_Linux_x64_ora11g_64bit.zip
  [oracle@oracleogg ~]$ tar xvf fbo_ggs_Linux_x64_ora11g_64bit.tar -C /u01/glodengate/
  [oracle@oracleogg ~]$ cd /u01/glodengate/
  [oracle@oracleogg glodengate]$ vim ~/.bash_profile
  export ORACLE_BASE=/u01/app/oracle
  export ORACLE_HOME=$ORACLE_BASE/product/11.2.0.1/db_1
  export ORACLE_SID=oracle11g
  export PATH=$ORACLE_HOME/bin:$PATH
  export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/u01/glodengate/lib    --必须要设置,否则出错
  [oracle@oracleogg glodengate]$ ./ggsci
  Oracle GoldenGate Command Interpreter for Oracle
  Version 11.2.1.0.1 OGGCORE_11.2.1.0.1_PLATFORMS_120423.0230_FBO
  Linux, x64, 64bit (optimized), Oracle 11g on Apr 23 2012 08:32:14
  Copyright (C) 1995, 2012, Oracle and/or its affiliates. All rights reserved.
  GGSCI (oracleogg) 1> create subdirs    --安装glodengate
  Creating subdirectories under current directory /u01/glodengate
  Parameter files                /u01/glodengate/dirprm: already exists
  Report files                   /u01/glodengate/dirrpt: created
  Checkpoint files               /u01/glodengate/dirchk: created
  Process status files           /u01/glodengate/dirpcs: created
  SQL script files               /u01/glodengate/dirsql: created
  Database definitions files     /u01/glodengate/dirdef: created
  Extract data files             /u01/glodengate/dirdat: created
  Temporary files                /u01/glodengate/dirtmp: created
  Stdout files                   /u01/glodengate/dirout: created
  GGSCI (oracleogg) 2>
  [oracle@oracleogg glodengate]$ ls -lF | grep '/$'    --查看glodengate创建的目录
  drwxr-x--- 2 oracle oinstall     4096 Apr 23  2012 cfg/
  drwxrwxr-x 2 oracle oinstall     4096 Nov 19 19:36 dirchk/     --检查点文件
  drwxrwxr-x 2 oracle oinstall     4096 Nov 19 19:36 dirdat/     --extract文件
  drwxrwxr-x 2 oracle oinstall     4096 Nov 19 19:36 dirdef/
  drwxr-x--- 2 oracle oinstall     4096 Apr 23  2012 dirjar/
  drwxrwxr-x 2 oracle oinstall     4096 Nov 19 19:36 dirout/
  drwxrwxr-x 2 oracle oinstall     4096 Nov 19 19:36 dirpcs/
  drwxr-x--- 2 oracle oinstall     4096 Apr 23  2012 dirprm/    --参数文件目录
  drwxrwxr-x 2 oracle oinstall     4096 Nov 19 19:36 dirrpt/     --日志文件
  drwxrwxr-x 2 oracle oinstall     4096 Nov 19 19:36 dirsql/     --sql脚本文件
  drwxrwxr-x 2 oracle oinstall     4096 Nov 19 19:36 dirtmp/     --临时文件
  drwxr-x--- 7 oracle oinstall     4096 Apr 23  2012 UserExitExamples/
  [oracle@oracleogg glodengate]$
  2.获取语法帮助信息
  (1).必须要ggsci根目录进入ggsci终端,否则获取不到帮助信息
  (2).帮助语法: help     比如:help add rmttrail
  GGSCI (oracleogg) 3> help add rmttrail
  ADD RMTTRAIL
  Use ADD RMTTRAIL to create a trail for online processing on a remote
  system and:

  * assign a maximum file>  * associate the trail with an Extract group.
  In the parameter file, specify a RMTHOST entry before any RMTTRAIL

  entries to>  process.
  Syntax:
  ADD RMTTRAIL , EXTRACT
  [, MEGABYTES ]
  [SEQNO ]
  
  The fully qualified path name of the trail. The actual trail name can
  contain only two characters. Oracle GoldenGate appends this name with a
  six-digit sequence number whenever a new file is created. For example,
  a trail named ./dirdat/tr would have files named
  ./dirdat/tr000001, ./dirdat/tr000002, and so forth.
  
  The name of the Extract group to which the trail is bound. Only one
  Extract process can write data to a trail.
  MEGABYTES

  The maximum>  100.
  SEQNO
  Specifies that the first file in the trail will start with the
  specified trail sequence number. Do not include any zero padding. For
  example, to start at sequence 3 of a trail named "tr," specify SEQNO 3.
  The actual file would be named /ggs/dirdat/tr000003. This option can be
  used during troubleshooting when Replicat needs to be repositioned to a

  certain trail sequence number. It eliminates the need to>  to read the required sequence number.
  Example:
  ADD RMTTRAIL c:\ggs\dirdat\aa, EXTRACT finance, MEGABYTES 200
  GGSCI (oracleogg) 4>
  3.在source端修改支持supplemental log日志
  [oracle@oracle11g ~]$ sqlplus / as sysdba

  SQL*Plus:>  Copyright (c) 1982, 2009, Oracle.  All rights reserved.
  Connected to:

  Oracle Database 11g Enterprise Edition>  With the Partitioning, OLAP, Data Mining and Real Application Testing options

  SQL>>
  Database>
  SQL>>
  System>  SQL> select supplemental_log_data_min from v$database;
  SUPPLEME
  --------
  YES
  SQL>
  4.在source端和target端创建表空间,用户和测试表(只有source端有测试数据)
  source节点:

  SQL> create tablespace wuhan datafile '/u01/oracle/oradata/orac11g/wuhan.dbf'>  Tablespace created.

  SQL> create user gguser>  User created.
  SQL> grant dba,resource,connect to gguser;
  Grant succeeded.
  SQL> conn gguser/system
  Connected.
  SQL> create table t (a number,b char(10));
  Table created.
  SQL> insert into t values(1,'a');
  1 row created.
  SQL> insert into t values(2,'b');
  1 row created.
  SQL> insert into t values(3,'c');
  1 row created.
  SQL> commit;
  Commit complete.
  SQL> select * from t;
  A    B
  ---------- ----------
  1    a
  2    b
  3    c
  SQL>
  target节点:

  SQL> create tablespace wuhan datafile '/u01/app/oracle/oradata/oracleogg/wuhan.dbf'>  Tablespace created.

  SQL> create user gguser>  User created.
  SQL> grant dba,resource,connect to gguser;
  Grant succeeded.
  SQL> conn gguser/system
  Connected.
  SQL> create table t (a number,b char(10));
  Table created.
  SQL>
  5.source端和target端启动mgr进程(两个节点都需要做)
  aource节点:
  GGSCI (oracle11g) 3> edit params mgr        --设置mgr的端口
  -- port                  --这个是注释
  PORT 7809        --指定的端口
  GGSCI (oracle11g) 4> start mgr      --启动mgr
  Manager started.
  GGSCI (oracle11g) 6> info mgr      --查看mgr的状态
  Manager is running (IP port oracle11g.7809).
  GGSCI (oracle11g) 7>
  6.配置glodengate需要同步的表(source节点)
  GGSCI (oracle11g) 7> dblogin userid gguser, password system
  Successfully logged into database.
  GGSCI (oracle11g) 8> add trandata gguser.t            --也可以使用通配符(add trandata gguser.*)
  2016-11-20 05:32:50  WARNING OGG-00869  No unique key is defined for table 'T'. All viable columns will be used to represent the key, but may not guarantee uniqueness.  KEYCOLS may be used to define the key.
  Logging of supplemental redo data enabled for table GGUSER.T.
  GGSCI (oracle11g) 9> info trandata gguser.*
  Logging of supplemental redo log data is enabled for table GGUSER.T.
  Columns supplementally logged for table GGUSER.T: A, B.
  GGSCI (oracle11g) 10>
  7.初使化数据(将source的数据导入到target节点中)
  source节点:
  GGSCI (oracle11g) 10> add extract einiaa, sourceistable
  EXTRACT added.
  GGSCI (oracle11g) 11> edit params einiaa
  EXTRACT EINIAA
  USERID GGUSER, PASSWORD "system"
  RMTHOST 192.168.3.90, MGRPORT 7809
  RMTTASK REPLICAT, GROUP RINIAA
  TABLE gguser.t;
  GGSCI (oracle11g) 12>
  target节点:
  GGSCI (oracleogg) 10> add replicat riniaa, specialrun
  REPLICAT added.
  GGSCI (oracleogg) 11> edit params riniaa
  REPLICAT RINIAA
  ASSUMETARGETDEFS
  USERID gguser, PASSWORD "system"
  DISCARDFILE ./dirrpt/RINIAA.dsc, PURGE
  MAP gguser.*, TARGET gguser.*;
  GGSCI (oracleogg) 12>
  8.启动
  source节点:
  GGSCI (oracle11g) 12> start extract einiaa
  Sending START request to MANAGER ...
  EXTRACT EINIAA starting
  GGSCI (oracle11g) 13> view report einiaa
  2016-11-20 05:56:55  INFO    OGG-01017  Wildcard resolution set to IMMEDIATE because SOURCEISTABLE is used.
  ***********************************************************************
  Oracle GoldenGate Capture for Oracle
  Version 11.2.1.0.1 OGGCORE_11.2.1.0.1_PLATFORMS_120423.0230_FBO
  Linux, x64, 64bit (optimized), Oracle 11g on Apr 23 2012 08:42:16
  Copyright (C) 1995, 2012, Oracle and/or its affiliates. All rights reserved.
  Starting at 2016-11-20 05:56:55
  ***********************************************************************
  Operating System Version:
  Linux

  Version #1 SMP Fri Nov 22 03:15:09 UTC 2013,>  Node: oracle11g
  Machine: x86_64
  soft limit   hard limit

  Address Space>
  Heap>
  File>  CPU Time             :    unlimited    unlimited

  Process>  Description:
  ***********************************************************************
  **            Running with the following parameters                  **
  ***********************************************************************

  2016-11-20 05:56:55  INFO    OGG-03035  Operating system character set>  EXTRACT EINIAA
  USERID GGUSER, PASSWORD ********
  2016-11-20 05:56:55  INFO    OGG-03500  WARNING: NLS_LANG environment variable does not match database character set, or not set. Using database character se
  t value of AL32UTF8.
  RMTHOST 192.168.3.90, MGRPORT 7809
  RMTTASK REPLICAT, GROUP RINIAA
  TABLE gguser.t;
  2016-11-20 05:56:56  WARNING OGG-00869  No unique key is defined for table 'T'. All viable columns will be used to represent the key, but may not guarantee u
  niqueness.  KEYCOLS may be used to define the key.
  Using the following key columns for source table GGUSER.T: A, B.
  2016-11-20 05:56:56  INFO    OGG-01815  Virtual Memory Facilities for: COM
  anon alloc: mmap(MAP_ANON)  anon free: munmap
  file alloc: mmap(MAP_SHARED)  file free: munmap
  target directories:
  /u01/glodengate/dirtmp.
  CACHEMGR virtual memory values (may have been adjusted)
  CACHESIZE:                               64G
  CACHEPAGEOUTSIZE (normal):                8M
  PROCESS VM AVAIL FROM OS (min):         128G
  CACHESIZEMAX (strict force to disk):     96G
  Database Version:

  Oracle Database 11g Enterprise Edition>
  PL/SQL>  CORE11.2.0.1.0Production
  TNS for Linux: Version 11.2.0.1.0 - Production
  NLSRTL Version 11.2.0.1.0 - Production
  Database Language and Character Set:
  NLS_LANG         = ".AL32UTF8"
  NLS_LANGUAGE     = "AMERICAN"
  NLS_TERRITORY    = "AMERICA"
  NLS_CHARACTERSET = "AL32UTF8"
  Processing table GGUSER.T
  ***********************************************************************
  *                   ** Run Time Statistics **                         *
  ***********************************************************************
  Report at 2016-11-20 05:57:15 (activity since 2016-11-20 05:56:56)
  Output to RINIAA:
  From Table GGUSER.T:
  #                   inserts:         3
  #                   updates:         0
  #                   deletes:         0
  #                  discards:         0
  REDO Log Statistics
  Bytes parsed                    0
  Bytes output                  252
  GGSCI (oracle11g) 14>
  target节点:
  GGSCI (oracleogg) 14> view report riniaa    --查看日志
  [oracle@oracleogg glodengate]$ sqlplus gguser/system

  SQL*Plus:>  Copyright (c) 1982, 2009, Oracle.  All rights reserved.
  Connected to:

  Oracle Database 11g Enterprise Edition>  With the Partitioning, OLAP, Data Mining and Real Application Testing options
  SQL> select * from t;
  A    B
  ---------- ----------
  1    a
  2    b
  3    c
  SQL>
  8.配置用户数据实时更新
  source节点:
  GGSCI (oracle11g) 14> add extract eoraaa, tranlog, begin now, threads 1
  EXTRACT added.
  GGSCI (oracle11g) 15> info extract *
  EXTRACT    EORAAA    Initialized   2016-11-20 06:17   Status STOPPED
  Checkpoint Lag       00:00:00 (updated 00:00:30 ago)
  Log Read Checkpoint  Oracle Redo Logs
  2016-11-20 06:17:37  Thread 1, Seqno 0, RBA 0
  SCN 0.0 (0)
  GGSCI (oracle11g) 16> edit params eoraaa
  EXTRACT EORAAA
  USERID gguser, PASSWORD "system"
  RMTHOST 192.168.3.90, MGRPORT 7809
  RMTTRAIL ./dirdat/aa
  TABLE gguser.t;
  GGSCI (oracle11g) 18> add rmttrail ./dirdat/aa, extract eoraaa, megabytes 10
  RMTTRAIL added.
  GGSCI (oracle11g) 19> info rmttrail *
  Extract Trail: ./dirdat/aa
  Extract: EORAAA
  Seqno: 0
  RBA: 0

  File>  GGSCI (oracle11g) 20> start extract eoraaa
  Sending START request to MANAGER ...
  EXTRACT EORAAA starting
  GGSCI (oracle11g) 21> info all
  Program     Status      Group       Lag at Chkpt  Time Since Chkpt
  MANAGER     RUNNING
  EXTRACT     RUNNING     EORAAA      00:00:00      00:00:09
  GGSCI (oracle11g) 22> info extract eoraaa, detail
  EXTRACT    EORAAA    Initialized   2016-11-20 06:17   Status STOPPED
  Checkpoint Lag       00:00:00 (updated 00:10:50 ago)
  Log Read Checkpoint  Oracle Redo Logs
  2016-11-20 06:17:37  Thread 1, Seqno 0, RBA 0
  SCN 0.0 (0)
  Target Extract Trails:
  Remote Trail Name              Seqno        RBA     Max MB
  ./dirdat/aa                   0          0        10
  Extract Source                Begin             End
  Not Available                 * Initialized *   2016-11-20 06:17
  Current directory       /u01/glodengate
  Report file           /u01/glodengate/dirrpt/EORAAA.rpt
  Parameter file         /u01/glodengate/dirprm/eoraaa.prm
  Checkpoint file        /u01/glodengate/dirchk/EORAAA.cpe
  Process file          /u01/glodengate/dirpcs/EORAAA.pce
  Stdout file           /u01/glodengate/dirout/EORAAA.out
  Error log            /u01/glodengate/ggserr.log
  GGSCI (oracle11g) 23>
  target节点:
  GGSCI (oracleogg) 14> edit params ./GLOBALS   --创建GLOBALS参数后必须退出
  CHECKPOINTTABLE system.ggchecktable
  GGSCI (oracleogg) 2> dblogin userid system, password system
  Successfully logged into database.
  GGSCI (oracleogg) 3> add checkpointtable
  No checkpoint table specified, using GLOBALS specification (system.ggchecktable)...
  Successfully created checkpoint table system.ggchecktable.
  GGSCI (oracleogg) 4> add replicat roraaa, exttrail ./dirdat/aa
  REPLICAT added.
  GGSCI (oracleogg) 5> edit params roraaa
  REPLICAT RORAAA
  USERID gguser, PASSWORD "system"
  HANDLECOLLISIONS
  ASSUMETARGETDEFS
  DISCARDFILE ./dirrpt/RORAAA.DSE, PURGE
  MAP gguser.t, TARGET gguser.t;
  GGSCI (oracleogg) 8> info all
  Program     Status      Group       Lag at Chkpt  Time Since Chkpt
  MANAGER     RUNNING
  REPLICAT    RUNNING     RORAAA      00:00:00      00:00:05
  GGSCI (oracleogg) 9>
  9.验证数据实时更新
  source节点:
  SQL> select * from t;
  A    B
  ---------- ----------
  1    a
  2    b
  3    c
  4    d
  SQL> insert into t values(5,'e');
  1 row created.
  SQL> commit;
  Commit complete.
  SQL> select * from t;
  A    B
  ---------- ----------
  1    a
  2    b
  3    c
  4    d
  5    e
  SQL>
  target节点:
  SQL> select * from t;
  A    B
  ---------- ----------
  4    d
  5    e
  1    a
  2    b
  3    c
  SQL>


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-565756-1-1.html 上篇帖子: Oracle常用的查询语句 下篇帖子: 在Oracle VirtualBox运行Citrix NetScaler VPX
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表