说明: 源端:
操作系统:oracle_linux_5.6_32 数据库:oracle_10.2.0.1_32 goldengate:for_10g_x86 目标端:
操作系统:oracle_linux_5.6_32 数据库:oracle_10.2.0.1_32 goldengate:for_10g_x86
注意:
本实验是模拟在同平台同版本上面安装和配置OGG,并实现简单的DML复制,至于复杂的其他方面
希望大家能自己多多实验。
作者:
姓名:oracle_zsx。 QQ:1468815296。
配置步骤: 1、
检查源端和目标端正确的IP解析: 源端:
[root@gg1 ~]# cat /etc/hosts
# Do not remove the following line, or various programs # that require network functionality will fail. 127.0.0.1 localhost.localdomain localhost ::1 localhost6.localdomain6 localhost6 192.168.1.71 gg1
目标端:
[root@gg2 ~]# cat /etc/hosts
# Do not remove the following line, or various programs # that require network functionality will fail. 127.0.0.1 localhost.localdomain localhost ::1 localhost6.localdomain6 localhost6 192.168.1.72 gg2 2、
设置LD_LIBRARY_PATH,为了安装OGG所用的动态链接库。如果没有配置这个路径的话,在安装OGG的过程
中会报找不到动态链接库的错误,用户可以自己尝试一下。 源端:
[root@gg1 ~]# su - oracle
[oracle@gg1 ~]$ vi .bash_profile
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1 export SQLPATH=/home/oracle/labs
export PATH=$ORACLE_HOME/bin:$PATH export nls_lang=american_america.zhs16gbk export ORACLE_SID=ogg
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib [oracle@gg1 ~]$ source .bash_profile
目标端:
[root@gg2 ~]# su - oracle
[oracle@gg2 ~]$ vi .bash_profile
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1 export SQLPATH=/home/oracle/labs
export PATH=$ORACLE_HOME/bin:$PATH export nls_lang=american_america.zhs16gbk export ORACLE_SID=ogg
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib [oracle@gg2 ~]$ source .bash_profile 3、
在源端创建专用的表空间、schema、并授权。
create tablespace goldengate datafile '/data/oracle/oradata/orcl/goldengate01.dbf' size 100m autoextend on;
create user goldengate identified by goldengate default tablespace goldengate temporary tablespace temp;
grant connect to goldengate;
grant alter any table to goldengate; grant alter session to goldengate; grant create session to goldengate;
grant flashback any table to goldengate; grant select any dictionary to goldengate; grant select any table to goldengate; grant resource to goldengate;
grant select any transaction to goldengate;
4、
检查源端数据库是否在归档模式,强烈建议在归档模式。 SQL> archive log list
Database log mode Archive Mode Automatic archival Enabled Archive destination /arch Oldest online log sequence 1 Next log sequence to archive 3 Current log sequence 3 5、 源端:
添加附加日志来唯一标识一行记录,要在数据库级别打开最小开关。为了减少整个数据库添加附加日志,以及减少归档量,
goldengate建议复制哪些对象,就添加哪些表的附加日志(我们到时候是拿hr用户下的表来实验)。 检查:
SQL> select supplemental_log_data_min from v$database; SUPPLEME -------- NO 打开:
SQL> alter database add supplemental log data; Database altered. 再次查看:
SQL> select supplemental_log_data_min from v$database; SUPPLEME -------- YES
切换日志组,使附加日志开关生效。 SQL> alter system switch logfile; System altered. 解释:
在正常情况下,oracle是用rowid来唯一标示一行记录的,但goldengate这里不够,需要打开附加日志。 6、
我们先安装和配置goldengate,安装比较简单,解压之后下一步测试。 [root@gg1 ogg]# unzip ogg112101_fbo_ggs_Linux_x86_ora10g_32bit.zip [root@gg1 ogg]# tar -xvf fbo_ggs_Linux_x86_ora10g_32bit.tar [root@gg1 ogg]# chown -R oracle:oinstall /ogg/ 注意: