Goldengate 部署oracle10g在 rac asm环境,完整教程

Posted 放在垃圾桶里

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Goldengate 部署oracle10g在 rac asm环境,完整教程相关的知识,希望对你有一定的参考价值。

前言

 Goldengate再rac 环境部署,和单机部署区别还是有点大,主要存在环境上.

环境

oracle10g ,sid=rac

准备工作

1.在rac节点,配置监听动态注册,确保goldengate用户能够连接实例。安装部分分为源端和目标端

节点一配置:

[[email protected] admin]$ cat listener.ora 
# listener.ora.rac1 Network Configuration File: /opt/oracle/102/db_1/network/admin/listener.ora.rac1
# Generated by Oracle configuration tools.

LISTENER_RAC1 =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = rac1-vip)(PORT = 1521)(IP = FIRST))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.141)(PORT = 1521)(IP = FIRST))
    )
  )

SID_LIST_LISTENER_RAC1 =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = /opt/oracle/102/db_1)
      (PROGRAM = extproc)
    )
      (SID_DESC =
      (GLOBAL_DBNAME = +ASM)
      (ORACLE_HOME = /opt/oracle/102/db_1)
      (SID_NAME = +ASM1)
    ) 
 )
[[email protected] admin]$ cat tnsnames.ora
# tnsnames.ora Network Configuration File: /opt/oracle/102/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.

RAC =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = rac1-vip)(PORT = 1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = rac2-vip)(PORT = 1521))
    (LOAD_BALANCE = yes)
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = rac)
    )
  )

LISTENERS_RAC =
  (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = rac1-vip)(PORT = 1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = rac2-vip)(PORT = 1521))
  )

RAC2 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = rac2-vip)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = rac)
      (INSTANCE_NAME = rac2)
    )
  )

RAC1 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = rac1-vip)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = rac)
      (INSTANCE_NAME = rac1)
    )
  )


EXTPROC_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
    )
    (CONNECT_DATA =
      (SID = PLSExtProc)
      (PRESENTATION = RO)
    )
  )

ASM =  
 (DESCRIPTION =  
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.141)(PORT = 1521))  
    (CONNECT_DATA =  
      (SERVER = DEDICATED)  
      (SERVICE_NAME = +ASM)  
      (SID_NAME = +ASM1)  
    )  
  )

 节点二相同配置,记得修改对应参数

重启监听

[[email protected] admin]$ srvctl stop listener -n rac1
[[email protected] admin]$ srvctl stop listener -n rac2
[[email protected] admin]$ srvctl start listener -n rac1
[[email protected] admin]$ srvctl start listener -n rac2

 检查asm实例

[[email protected] admin]$ export ORACLE_SID=+ASM1
[[email protected] admin]$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on Thu Jun 2 16:01:51 2016

Copyright (c) 1982, 2005, Oracle.  All rights reserved.


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

SQL> conn sys/111111@192.168.1.142:1521/+ASM  as sysdba
Connected.

源端:

2.安装 Goldengate

tar xvf xxxxxx.tar.gz

cd xxxx

[[email protected] oracle]$ ./ggsci
GGSCI (rac1) 2> create subdirs

 

[[email protected] gg]$ ./ggsci

 配置gg的mgr端口,目标端也需要做同样的配置

GGSCI (gg) 5> edit param mgr
GGSCI (gg) 5> view param mgr
port 7809
GGSCI (gg) 5> start mgr
GGSCI (gg) 5> info mgr

--安装完毕

3.数据库的环境准备,需添加附加日志

原数据库Oracle
----》alter database add supplemental log data;  //添加附加信息
Alter system switch logfile;
查看 select supplemental_log_data_min from v$database; 必须是yes

 4.Goldengate同步用户,我默认用system,避免权限纠结..

5.进入./ggsci 打开要同步的表的附件日志信息

GGSCI (rac1) 3> dblogin userid [email protected],password 111111
或者
GGSCI (rac1) 3> dblogin userid [email protected]192.168.1.141:1521/rac,password 111111
--添加附加日志的表
Add trandata gg.t1 或 gg.*

6.此步骤添加抓取进程,和传输进程,wan代表抓取进程,pwan代表传输进程

GGSCI (rac1) 8> edit param wan
GGSCI (rac1) 8> view param wan            
EXTRACT WAN
USERID [email protected]:1521/rac,PASSWORD wan --登录的用户
TRANLOGOPTIONS ASMUSER [email protected],ASMPASSWORD 111111  --登录asm的
EXTTRAIL ./dirdat/et      --抓取的数据放这里
TABLE wan.t1;   --抓取的表


GGSCI (rac1) 8> Add Extract wan, TranLog, Begin Now  threads 2  --rac有几个threads 2 就写几个
GGSCI (rac1) 8> Add ExtTrail ./dirdat/et, Extract wan, Megabytes 5  --建立./dirdat/et文件为5m

GGSCI (rac1) 10> edit param pwan
GGSCI (rac1) 11> view param pwan
EXTRACT pwan
RMTHOST 192.168.1.105,MGRPORT 7809,COMPRESS  --传输给目标数据库服务器
RMTTRAIL ./dirdat/ww  --远程目标存放的数据文件
passthru
TABLE wan.t1; 

GGSCI (rac1) 11> Add Extract pwan, ExtTrailSource ./dirdat/et   --传输进程pwan,提取的数据文件路径 
GGSCI (rac1) 11> Add RmtTrail ./dirdat/ab, Extract psalesab, Megabytes 5 --建立目标数据库的数据文件./dirdat/ab为5m

 

GGSCI (rac1) 12> start extract *  --启动建立好的进程
GGSCI (rac1) 12> info all

Program     Status      Group       Lag           Time Since Chkpt

MANAGER     RUNNING                                           
EXTRACT     RUNNING     PWAN        00:00:00      00:00:06    
EXTRACT     RUNNING     WAN         00:00:00      00:00:08    
view report wan log  --如果不能启动,用此命令查看日志

 

目标端

说明:目标端创建个写入进程,我命名为rwan

1.安装 Goldengate

tar xvf xxxxxx.tar.gz

cd xxxx

[[email protected] oracle]$ ./ggsci
GGSCI (rac1) 2> create subdirs

[[email protected] gg]$ ./ggsci

 配置gg的mgr端口,源端也需要做同样的配置

GGSCI (gg) 5> edit param mgr
GGSCI (gg) 5> view param mgr
port 7809
GGSCI (gg) 5> start mgr
GGSCI (gg) 5> info mgr

配置检查数据一致性的表

编辑全局数据文件   //添加检查数据一致性的表
Edit params ./GLOBALS
CHECKPOINTTABLE system.checkpointtable
保存
创建表
Dblogin userid system, password oracle
Add checkpointtable

 添加rwan配置文件

GGSCI (gg) 8> view param rwan

replicat rwan
userid system,password 111111
HANDLECOLLISIONS
ASSUMETARGETDEFS
--ddl include all
--ddlerror default ignore retryop
discardfile ./dirrpt/rwan.dsc,append
map wan.t1, target chis.t1;

添加rwan进程

GGSCI (gg) 8> Add Replicat rwan, ExtTrail ./dirdat/ww 

 启动 start replicat rwan

GGSCI (gg) 9> info all

Program     Status      Group       Lag           Time Since Chkpt

MANAGER     RUNNING                                           
  
REPLICAT    RUNNING     RWAN        00:00:00      00:00:07  

 到此就配置成功了。

 

总结

源端数据库对某表,做了dll操作,目标端已打补丁的方式添加,添加后,需对rwan进程重启一次。

再配置过程中参考了如下文章:

https://blogs.oracle.com/imc/entry/oracle_goldengate_configuring_ddl_replication

http://www.ibmdba.com/?p=129

http://www.oracle.com/webfolder/technetwork/tutorials/obe/fmw/goldengate/11g/orcl_orcl/index.html

以上是关于Goldengate 部署oracle10g在 rac asm环境,完整教程的主要内容,如果未能解决你的问题,请参考以下文章

大数据实时数据同步超级详细的生产环境OGG(GoldenGate)12.2实时异构同步Oracle数据部署方案(下)

大数据实时数据同步超级详细的生产环境OGG(GoldenGate)12.2实时异构同步Oracle数据部署方案(上)

大数据实时数据同步超级详细的生产环境OGG(GoldenGate)12.2实时异构同步Oracle数据部署方案(下)

oracle goldengate 远程捕获和投递

大数据实时数据同步超级详细的生产环境OGG(GoldenGate)12.2实时异构同步Oracle数据部署方案(中)

科讯高级服务之六 -- Oracle Goldengate数据中间件