Oracle GoldenGate在异种OS上同种DB之间的数据同步

Oracle GoldenGate (以下简称OGG)在异种OS上同种DB之间的数据同步。

ogg能实现的功能:
 
可以细化到单表同步,符合特定where条件的rows同步,指定column的同步。
 
ogg 的竞争对手:ibm cdc;dell shareplex;dsg;dds等等
 
环境描述:
 源头:windows 2003x64bit, oracle db 11.2.0.3 x64bit
 目的端:SUSE linux ,oracle db 11.2.0.3
 
预先准备:
 1.Microsoft Visual C ++ 2005 SP1 Redistributable Package
  注意点:第一:该c++的package 区分bit数,并且一定要下载sp1版本的package。
          第二:只要是在windows上使用ogg,这个c++的package就一定得装,
            不管db是不是oracle ,sqlserver,不管ogg用于源头数据库还是用于目的端数据库。
 
2.ogg for windows x64bit 下的 oracle db 11.2.0.3 x64bit介质。--p18794252_1121023_MSWIN-x86-64.zip
 3.ogg for linux  x64bit 下的 oracle db 11.2.0.3 x64bit介质。--p18794252_1121023_Linux-x86-64.zip
 
  注意点:
  第一:ogg介质,除了基础版(比如说11.2.1.0.1,最后的这个.1就是基础版本)可以从下载,
  ogg的后续补丁只能从mos上下载。
  第二:ogg的介质区分os类型,db类型,db 版本,db bit数。
  但是对于如下的情况是同一个ogg介质:oracle db 11.2.0.3 x64bit 安装在suse11下和安装在suse 10下。

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

Linux-6-64下安装Oracle 12C笔记

CentOS 6.4下安装Oracle 11gR2(x64)

Oracle 11gR2 在VMWare虚拟机中安装步骤

Debian 下 安装 Oracle 11g XE R2

--------------------------------------------------------------------------------
 
实施过程
 1.上传介质到源头和目的端。
 2.在源头的实施过程:
 2.1 创建goldengate系统用户并授权
  Sql> create tablespace GGTBS datafile 'd:\相关路径\ggtbs01.dbf'size 1024M auextend on;
  Sql> Create user Goldengate default tablespace ggtbs identified by oracle;(目标数据库也创建这一个goldengate用户)
  Sql> grant dba to goldengate;
 2.2 将数据库设置为归档模式--一般的生产库都处于归档模式。
 2.3 打开源端数据库的附加日志
    Sql>alter databse add supplemental log data;
    切换日志使附加日志生效:
    Sql>alter system archive log current;
 2.4 检查源端数据库的附加日志
    Sql>select supplemental_log_data_min from v$database;
    --返回yes表示附加日志已经打开。
 2.5 打开源头数据库的force logging:
    sql> alter database force logging;
 2.6 对 主库 执行检查脚本,确认如下情况是否存在:找出唯一索引的索引列的列定义允许为null的
 
select dic.table_owner, dic.table_name, dic.index_name, di.uniqueness,dic.column_name
 from dba_ind_columns  dic , dba_indexes di,dba_tab_columns dtc
 where dic.table_owner=’自行添加用户’and dtc.OWNER='自行添加用户’
 AND dic.table_owner=di.table_owner and dic.TABLE_NAME=di.table_name
and dic.index_name=di.index_name
 and di.uniqueness='UNIQUE'    and dtc.owner=di.table_owner 
and dtc.TABLE_NAME=di.table_name and dic.column_name=dtc.COLUMN_NAME  and dtc.nullable='Y'
 and dic.TABLE_NAME=dtc.TABLE_NAME
 
--->自行添加用户请用需要同步的user来代替。
 对于查询出来的表和唯一索引名,请修改:要么变为非唯一索引,要么在保留唯一索引的情况下,将列的定义置为not null。
 
2.7 假设将ogg软件放在d:\ggs目录下,cmd界面下进入d:\ggs
    ggsci>create subdirs  -->该命令的作用是在d:\ggs下建立dirprm、dirdat、dirrpt等下级目录。
 2.8 ggsci>edit params ./GLOBALS
    添加如下的字符,之后保存退出
    MGRSERVNAME GGSSERVICE
 2.9 建立ogg的 windows service
  D:\ggs>install addservice autostart
 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/24e141a1aa8bf7216b36550f3121c16f.html