Oracle GoldenGate数据库复制实施案例

2014-11-24 18:42:41 · 作者: · 浏览: 0

一、安装redhat4,安装步骤略


二、安装oracle10g安装步骤略


三、安装goldengate,注意要选对版本


1、源端安装配置


1.1安装goldengate


linux: mkdir /u01/oracle/ggate
cd /u01/oracle/ggate


通过ftp,将goldengate的zip软件上传到/u01/oracle/ggate


unzip解压,将生成一个tar文件


tar -xvf *.tar


1.2配置.bash_profile



vi .bash_profile
添加:
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/u01/oracle/ggate
export GGATE_HOME=/u01/oracle/ggate


注意LD_LIBRARY_PATH,那一行,可以在原来安装oracle的基础上添加在后面便可


配置完,运行source ~./bash_profile


1.3创建goldengate目录


cd /u01/oracle/ggate


./ggsci(进入goldengate命令行界面)
Oracle GoldenGate Command Interpreter for Oracle
Version 11.1.1.0.0 Build 078
Linux, x86, 32bit (optimized), Oracle 10 on Jul 28 2010 13:24:18
Copyright (C) 1995, 2010, Oracle and/or its affiliates. All rights reserved



现在在goldengate命令行工作


create subdirs


1.4配置数据库归档模式,进入sql命令行(如果关闭,建议开启)


sqlplus "/as sysdba"


alter system set log_archive_format='%s_%t_%r.log' scope=spfile;


alter system set log_archive_dest_1='location=/u02/oracle/arc';


shutdown immediate;


startup mount;


alter database archivelog;


开启强制日志模式:alter database force logging;


alter database open;


这下可以看一下归档是否已经起来,archive log list


1.5开启minimal supplemental logging


--alter database add supplemental log data;这种设置是许多文档介绍的,但是对于非主键或唯一索引表的会有问题,在测试过程中,发觉update会报错,可能其它地方没搞好!


alter database add supplemental log data(primary key,unique) columns;这是我的配置!


1.6关闭回收站


alter system set recyclebin=off scope=spfile;


1.7配置复制的DDL支持


创建用户授权:


create user ggate identified by ggate default tablespace users temporary tablespace temp quota unlimited on users;


grant connect,resource,dba to ggate;


grant execute on utl_file to ggate;


grant restricted session to ggate;


@$GGATE_HOME/marker_setup.sql;


SCHEMA:GGATE


@$GGATE_HOME/ddl_setup.sql;


这里要看清楚,选择输入,否则会有问题!


@$GGATE_HOME/role_setup.sql;


1.8创建源端用户(用于同步的用户)
create user sender identified by ggate default tablespace users temporary tablespace temp quota unlimited on users;
grant dba,connect,resource to ggate;
grant select on v_$session to ggate;