GoldenGate初体验(单向同步)

GoldenGate下载地址

http://www.oracle.com/technetwork/middleware/goldengate/downloads/index.html

有oracle账号可以直接选择版本平台下载

 

安装

[root@dd]su - oracle

[oracle@dd ~]$ mkdir goldengate

[oracle@dd ~]$rz 上传到此目录

[oracle@dd ~] tar xvf fbo_ggs_Linux_x86_ora10g_32bit.tar

[oracle@dd goldengate]$ ldd ggsci
        linux-gate.so.1 =>  (0x00b3a000)
        libdl.so.2 => /lib/libdl.so.2 (0x00a22000)
        libgglog.so => /home/oracle/goldengate/libgglog.so (0x00110000)
        libggrepo.so => /home/oracle/goldengate/libggrepo.so (0x003a0000)
        libdb-5.2.so => /home/oracle/goldengate/libdb-5.2.so (0x003ec000)
        libicui18n.so.38 => /home/oracle/goldengate/libicui18n.so.38 (0x00238000)
        libicuuc.so.38 => /home/oracle/goldengate/libicuuc.so.38 (0x00579000)
        libicudata.so.38 => /home/oracle/goldengate/libicudata.so.38 (0x00b3b000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x00a28000)
        libxerces-c.so.28 => /home/oracle/goldengate/libxerces-c.so.28 (0x01a18000)
        libantlr3c.so => /home/oracle/goldengate/libantlr3c.so (0x00812000)
        libnnz10.so => /opt/oracle/product/10g/lib/libnnz10.so (0x035aa000)
        libclntsh.so.10.1 => /opt/oracle/product/10g/lib/libclntsh.so.10.1 (0x05371000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x0069a000)
        libm.so.6 => /lib/libm.so.6 (0x00a42000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00785000)
        libc.so.6 => /lib/libc.so.6 (0x008da000)
        /lib/ld-linux.so.2 (0x008b7000)
        libnsl.so.1 => /lib/libnsl.so.1 (0x00791000)

---------------观察有没有not  founed的 so文件

[oracle@dd goldengate]$ ./ggsci

Oracle GoldenGate Command Interpreter for Oracle
Version 11.2.1.0.1 OGGCORE_11.2.1.0.1_PLATFORMS_120423.0230_FBO
Linux, x86, 32bit (optimized), Oracle 10g on Apr 23 2012 07:06:02

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

 

GGSCI (dd) 1> create subdirs

Creating subdirectories under current directory /home/oracle/goldengate

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

GGSCI (dd) 3> edit param mgr               


PORT 7801
DYNAMICPORTLIST 7802-7820

GGSCI (dd) 4> start mgr

Manager started.


 

GGSCI (dd) 4> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING

GGSCI (hadoop-m1) 139> info mgr

Manager is running (IP port hadoop-m1.7801).

------------------------------------------------------------------------

oracle创建用户授权dba

SQL> create user goldengate identified by goldengate;                                                                                                 

User created.

SQL> grant dba to goldengate;                                                                                                                         

Grant succeeded.

GGSCI (dd) 5> dblogin userid goldengate,password goldengate
Successfully logged into database.

GGSCI (dd) 6> add extract extl,tranlog,begin now
EXTRACT added.


GGSCI (dd) 8> edit param extl                                   


extract extl
userid goldengate@duxiu,password goldengate
rmthost 192.168.80.200, mgrport 7801
rmttrail /home/oracle/golddir/rl
dynamicresolution
gettruncates
table scott.emp;

"dirprm/extl.prm" 7L, 175C written


GGSCI (dd) 9> add rmttrail /home/oracle/golddir/rl extract extl
RMTTRAIL added.


GGSCI (dd) 10> start extl

Sending START request to MANAGER ...
EXTRACT EXTL starting


GGSCI (dd) 11> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING                                          
EXTRACT     STOPPED     EXTL        00:00:00      00:09:19   


GGSCI (dd) 12> view report extl


***********************************************************************
                 Oracle GoldenGate Capture for Oracle
    Version 11.2.1.0.1 OGGCORE_11.2.1.0.1_PLATFORMS_120423.0230_FBO
   Linux, x86, 32bit (optimized), Oracle 10g on Apr 23 2012 07:15:14
 
Copyright (C) 1995, 2012, Oracle and/or its affiliates. All rights reserved.


                    Starting at 2013-03-22 11:12:32
***********************************************************************

Operating System Version:
Linux
Version #1 SMP Fri Apr 2 14:58:35 EDT 2010, Release 2.6.18-194.el5
Node: dd
Machine: i686
                         soft limit   hard limit
Address Space Size   :    unlimited    unlimited
Heap Size            :    unlimited    unlimited
File Size            :    unlimited    unlimited
CPU Time             :    unlimited    unlimited

Process id: 12450

Description:

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

2013-03-22 11:12:33  INFO    OGG-03035  Operating system character set identified as UTF-8. Locale: zh_CN, LC_ALL:.
extract extl
userid goldengate@duxiu,password **********

Source Context :
  SourceModule            : [ggdb.ora.sess]
  SourceID                : [/net/ap1109nap-vlan900/vol/ifarm_ports/ifarm_views/aime_oggcore_210874/oggcore/OpenSys/src/gglib/ggdbora/ocisess.c]
  SourceFunction          : [oci_try]
  SourceLine              : [643]
  ThreadBacktrace         : [14] elements
                          : [/home/oracle/goldengate/libgglog.so(CMessageContext::AddThreadContext()+0x26) [0x98ca56]]
                          : [/home/oracle/goldengate/libgglog.so(CMessageFactory::CreateMessage(CSourceContext*, unsigned int, ...)+0x2c5) [0x988b15]]
                          : [/home/oracle/goldengate/libgglog.so(_MSG_ERR_ORACLE_OCI_ERROR_WITH_DESC_SQL(CSourceContext*, int, char const*, char const*
, char const*, CMessageFactory::MessageDisposition)+0x43) [0x972da1]]
                          : [/home/oracle/goldengate/extract(OCISESS_context_def::oci_try(int, char const*, ...)+0x391) [0x827faf1]]
                          : [/home/oracle/goldengate/extract(DBOCI_getLobChunkSize()+0x70) [0x82508a0]]
                          : [/home/oracle/goldengate/extract(OCISESS_context_def::init_context(int, int)+0x165) [0x827d6c5]]
                          : [/home/oracle/goldengate/extract(DBOCI_init_connection_logon(ggs::gglib::ggapp::CLoginName const&, ggs::gglib::ggapp::CDBOb
jName<(DBObjType)12> const&, char const*, int, int, int, char*)+0x93) [0x8251443]]
                          : [/home/oracle/goldengate/extract [0x8272b62]]
                          : [/home/oracle/goldengate/extract [0x8272c86]]
                          : [/home/oracle/goldengate/extract(gl_odbc_param(char const*, char const*, char*)+0x4c) [0x8272ebc]]
                          : [/home/oracle/goldengate/extract(get_infile_params(time_elt_def*, time_elt_def*, char**)+0x16a8) [0x8173128]]
                          : [/home/oracle/goldengate/extract(main+0x104) [0x8197af4]]
                          : [/lib/libc.so.6(__libc_start_main+0xdc) [0x59b1e9c]]
                          : [/home/oracle/goldengate/extract(__gxx_personality_v0+0x39d) [0x8114471]]

2013-03-22 11:12:33  ERROR   OGG-00665  OCI Error creating temporary LOB to retrieve default LOB chunk size (status = 25153-ORA-25153: Temporary Tables
pace is Empty), SQL<Not available>.

2013-03-22 11:12:33  ERROR   OGG-01668  PROCESS ABENDING.

以前恢复过数据库,临时文件丢失

SQL> create temporary tablespace temp2 tempfile '/opt/oracle/oradata/duxiu/test03.dbf' size 100m;                                                     

Tablespace created.

SQL> alter database default temporary tablespace  temp2;                                                                                              

Database altered.


GGSCI (dd) 13> start extl 

Sending START request to MANAGER ...
EXTRACT EXTL starting


GGSCI (dd) 14> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING                                          
EXTRACT     RUNNING     EXTL        00:00:00      00:23:11   


GGSCI (dd) 15> add replicat repl /home/oracle/golddirbk/rl,begin now,nodbcheckpoint
ERROR: Invalid parameter specified for ADD REPLICAT.


GGSCI (dd) 16> add replicat repl exttrail /home/oracle/golddir/rl,begin now,nodbcheckpoint          
REPLICAT added.


GGSCI (dd) 17> edit param repl


replicat repl
userid goldengate@jour,password goldengate
assumetargetdefs
reperror default,discard
discardfile /home/oracle/golddir/repsz.dsc,append,megabytes 100
gettruncates
map scott.emp, target scott.emp;
~

GGSCI (hadoop-m1) 152> start repl

Sending START request to MANAGER ...
REPLICAT REPL starting


GGSCI (hadoop-m1) 153> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING                                          
EXTRACT     RUNNING     EXTL        00:00:00      00:00:09   
REPLICAT    RUNNING     REPL        00:00:00      00:00:03   

---------------------------------------------------------------------------------------------------

主库状态

SQL> show parameter instance_name;                                                                                                                                    

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
instance_name                        string      duxiu
SQL> select * from scott.emp where ENAME='ALLEN';                                                                                                                     

     EMPNO ENAME      JOB              MGR HIREDATE          SAL       COMM     DEPTNO
---------- ---------- --------- ---------- ---------- ---------- ---------- ----------
      7499 ALLEN      SALESMAN        7698 1981/02/20       1600        300         30

SQL>

从库状态

SQL> show parameter instance_name;                                                                                                                                    

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
instance_name                        string      jour
SQL> select * from scott.emp where ENAME='ALLEN';                                                                                                                     

     EMPNO ENAME      JOB              MGR HIREDATE          SAL       COMM     DEPTNO
---------- ---------- --------- ---------- ---------- ---------- ---------- ----------
      7499 ALLEN      SALESMAN        7698 1981/02/20       1600        300         30

SQL>

-------------------------------------------

SQL> update scott.emp set SAL=100 where ENAME='ALLEN';                                                                                                                

1 row updated.

SQL> commit;                                                                                                                                                          

Commit complete.

SQL> select * from scott.emp where ENAME='ALLEN';                                                                                                                     

     EMPNO ENAME      JOB              MGR HIREDATE          SAL       COMM     DEPTNO
---------- ---------- --------- ---------- ---------- ---------- ---------- ----------
      7499 ALLEN      SALESMAN        7698 1981/02/20        100       300         30

~
~从库也查看数据

SQL> select * from scott.emp where ENAME='ALLEN';                                                                                                                     

     EMPNO ENAME      JOB              MGR HIREDATE          SAL       COMM     DEPTNO
---------- ---------- --------- ---------- ---------- ---------- ---------- ----------
      7499 ALLEN      SALESMAN        7698 1981/02/20        100       300         30

数据发生了同步更新

---------------------------------------------------------------------------------------------------------------
~同步整个scott用户下的表

停止进程

GGSCI (hadoop-m1) 154> stop mgr
Manager process is required by other GGS processes.
Are you sure you want to stop it (y/n)? y

Sending STOP request to MANAGER ...
Request processed.
Manager stopped.

GGSCI (hadoop-m1) 157> stop REPL

Sending STOP request to REPLICAT REPL ...
Request processed.

GGSCI (hadoop-m1) 160> stop extl

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

GGSCI (hadoop-m1) 162> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     STOPPED                                          
EXTRACT     STOPPED     EXTL        00:00:00      00:00:17   
REPLICAT    STOPPED     REPL        00:00:00      00:00:40   

 

修改参数

GGSCI (hadoop-m1) 164> edit param extl


extract extl
userid goldengate@duxiu,password goldengate
rmthost 192.168.80.200, mgrport 7801
rmttrail /home/oracle/golddir/rl
dynamicresolution
gettruncates
table scott.*;

 

GGSCI (hadoop-m1) 165> edit param repl


replicat repl
userid goldengate@jour,password goldengate
assumetargetdefs
reperror default,discard
discardfile /home/oracle/golddir/repsz.dsc,append,megabytes 100
gettruncates
map scott.*, target scott.*;

GGSCI (hadoop-m1) 167> start mgr

Manager started.


GGSCI (hadoop-m1) 168> start extl

Sending START request to MANAGER ...
EXTRACT EXTL starting


GGSCI (hadoop-m1) 169> start repl

Sending START request to MANAGER ...
REPLICAT REPL starting


GGSCI (hadoop-m1) 170> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING                                          
EXTRACT     ABENDED     EXTL        00:00:00      00:01:58   
REPLICAT    RUNNING     REPL        00:00:00      00:00:02   


GGSCI (hadoop-m1) 171> info extl

EXTRACT    EXTL      Last Started 2013-03-25 14:40   Status ABENDED
Checkpoint Lag       00:00:00 (updated 00:02:08 ago)
Log Read Checkpoint  Oracle Redo Logs
                     2013-03-25 14:38:59  Seqno 22, RBA 38719488
                     SCN 0.12331021 (12331021)


GGSCI (hadoop-m1) 172> stop extl
EXTRACT EXTL is already stopped.

GGSCI (hadoop-m1) 174> delete extl  -------删掉重建了
Deleted EXTRACT EXTL.


GGSCI (hadoop-m1) 175> dblogin userid goldengate,password goldengate
Successfully logged into database.

GGSCI (hadoop-m1) 176> add extract extl,tranlog,begin now
EXTRACT added.


GGSCI (hadoop-m1) 177> edit param extl 


extract extl
userid goldengate@duxiu,password goldengate
rmthost 192.168.80.200, mgrport 7801
rmttrail /home/oracle/golddir/rl
dynamicresolution
gettruncates
table scott.*;

GGSCI (hadoop-m1) 178> add rmttrail /home/oracle/golddir/rl extract extl
RMTTRAIL added.


GGSCI (hadoop-m1) 179> start extl

Sending START request to MANAGER ...
EXTRACT EXTL starting


GGSCI (hadoop-m1) 180> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING                                          
EXTRACT     RUNNING     EXTL        00:00:00      00:00:34   
REPLICAT    RUNNING     REPL  

三个进程都处于RUNNING状态

主库运行

SQL> conn scott/tiger                                                                                                                                                 
Connected.
SQL> select * from tab;                                                                                                                                               

TNAME                          TABTYPE  CLUSTERID
------------------------------ ------- ----------
DEPT                           TABLE
EMP                            TABLE
BONUS                          TABLE
SALGRADE                       TABLE

SQL> select * from dept;                                                                                                                                              

    DEPTNO DNAME          LOC
---------- -------------- -------------
        10 ACCOUNTING     NEW YORK
        20 RESEARCH       DALLAS
        30 SALES          CHICAGO
        40 OPERATIONS     BOSTON

SQL> insert into dept values(50,'DBA','peijing');                                                                                                                     

1 row created.

SQL> commit;                                                                                                                                                          

Commit complete.

SQL> select * from dept;                                                                                                                                              

    DEPTNO DNAME          LOC
---------- -------------- -------------
        10 ACCOUNTING     NEW YORK
        20 RESEARCH       DALLAS
        30 SALES          CHICAGO
        40 OPERATIONS     BOSTON
        50 DBA            peijing

~

备库运行

SQL> conn scott/tiger                                                                                                                                                 
Connected.
SQL> select * from dept;                                                                                                                                              

    DEPTNO DNAME          LOC
---------- -------------- -------------
        10 ACCOUNTING     NEW YORK
        20 RESEARCH       DALLAS
        30 SALES          CHICAGO
        40 OPERATIONS     BOSTON
        50 DBA            peijing

SQL>

数据同步了。。。
~
----------------------------------------------------------------------------------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值