Oracle GoldenGate
是一种基于日志的结构化数据复制备份软件,它通过解析源数据库联机日志或归档日志以获取数据的增量变化,然后再将这些变化应用到目标数据库,从而实现源数据库与目标数据库的同步。Oracle GoldenGate
可以在异构的
IT
基础结构(包括几乎所有常用操作系统平台和数据库平台)之间实现大量数据亚秒一级的实时复制,从而广泛应用在应急系统、 联机报表、实时数据仓库供应、交易跟踪、数据同步、集中/分发、容灾、数据库升级及移植以 及双业务中心等多个关键应用场合。
实验环境准备
GoldenGate 环境变量设置
[oracle@udbs01 ~]$ more .bash_profile
export PATH
export ORACLE_SID=orcla
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export TERM=xterm
export ORA_NLS33=/Oracle/db/product/11.2.0/db_1/data
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/rdbms/lib:/lib:/usr/lib
export PATH=$ORACLE_HOME/bin:/usr/bin:/etc:/usr/sbin:/usr/ucb:/sbin:$ORACLE_HOME/OPatch:/bin:/usr/ccs/bin:$PATH
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/u01/gg/11.2:$LD_LIBRARY_PATH
export GG_HOME=/u01/gg/11.2
export PATH=/u01/gg/11.2:$PATH
umask 022
create subdirs
GoldenGate
的安装
$ ./ggsci
create sudbirs
源端数据库的配置
创建
GoldenGate
复制用户
使
用
sql*plus
以
sysdba
连接到
orcla
实例,依次执行以下命令
:
SQL> create user gg_user identified by gg_user default tablespace users temporary tablespace temp;
SQL> grant connect, resource, dba, unlimited tablespace to gg_user;
SQL> grant execute on utl_file to gg_user;
SQL> exec dbms_GoldenGate_auth.grant_admin_privilege('gg_user');
SQL> commit;
打开数据库归档、辅助日志功能
SQL> shutdown immediate
SQL> startup mount
SQL> alter database archivelog;
SQL> alter database add supplemental log data;
SQL> alter system set recyclebin=off scope=spfile;
SQL> alter database force logging;
SQL> shutdown immediate;
SQL> startup;
查
看并确认设置结果:
SQL> show parameter recyclebin;
SQL> select log_mode, supplemental_log_data_min, force_logg
配置对复制的
DDL
支持
进
入
$GG_HOME
目录,以
sysdba
身份连接
oracle
实例
,
依次执行以下各脚本。在各脚本执
行过程提示需要输入用户名时,请全部输入
gg_user.
SQL> @marker_setup.sql
SQL> @ddl_setup.sql
SQL> @role_setup.sql
SQL> grant GGS_GGSUSER_ROLE TO gg_user;
SQL> @ddl_enable.sql
数据库服务
TNS
的配置
环
境变量切换到
orcla,
在
tnsnames.ora
文件中增加
+ASM
和
orclb
服务名称,过程如下图
所示:
注意:tns 配置完成后,应确保对新增加的服务名 tnsping 成功: