1、源端(source)
rac1:192.168.1.96(ogg安装端)
rac2:192.168.1.97
实例名orcl 用户名 famdb 密码 FAMDB_2014
字符集:ZHS16GBK
2、目标端(target)
ip:192.168.1.244
实例名orcl 用户名 famdb 密码 FAMDB_2014
字符集:ZHS16GBK
一、配置环境变量
源端/目标端.bash_profile
export
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/u01/app/oracle/ogg
export
PATH=$PATH:$ORACLE_HOME/bin:$GGATE_HOME
export GGATE_HOME=/u01/app/oracle/ogg
二、创建安装目录
源端/目标端安装
mkdir -p /u01/app/oracle/ogg
chown -R oracle:oinstall /u01/app/oracle/ogg
chmod 777 /u01/app/oracle/ogg
解压安装包在/home/oracle
安装ogg




三、源端/目标端创建表空间,用户、赋予权限。
源端:
-- 建立表空间
CREATE TABLESPACE tbs_gguser DATAFILE
'+DATA/orcl/datafile/gguser.dbf' SIZE 1G AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED;
-- 建立用户
create user OGG identified by OGG default tablespace tbs_gguser temporary tablespace TEMP quota unlimited on tbs_gguser;
-- Grant/Revoke role privileges
grant connect to OGG;
grant dba to OGG;
grant resource to OGG;
-- Grant/Revoke system privileges
grant alter any table to OGG;
grant alter session to OGG;
grant create any directory to OGG;
grant create session to OGG;
grant drop any directory to OGG;
grant select any table,select any dictionary,alter any table to ogg;
grant flashback any table to OGG;
grant execute on dbms_flashback to ogg;
目标端:
-- 建立表空间
CREATE TABLESPACE TBS_DSG DATAFILE
' /u01/app/oracle/oradata/orcl/tbs_dsg.ora
' SIZE 1G AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED;
CREATE TEMPORARY TABLESPACE TMP_DSG TEMPFILE
' /u01/app/oracle/oradata/orcl/tmp_dsg.ora
' SIZE 1G AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED;
-- 建立用户
create user OGG identified by OGG default tablespace TBS_DSG temporary
tablespace TMP_DSG
quota unlimited on TBS_DSG;
-- Grant/Revoke role privileges
grant connect to OGG;
grant dba to OGG;
grant
ggs_ggsuser_role to OGG;
grant resource to OGG;
-- Grant/Revoke system privileges
grant alter any table to OGG;
grant alter session to OGG;
grant create any directory to OGG;
grant create session to OGG;
grant drop any directory to OGG;
grant flashback any table to OGG;
grant select any dictionary to OGG;
grant select any table to OGG;
grant unlimited tablespace to OGG;
grant select any table,select any dictionary,alter any table to ogg;
grant update any table,delete any table,insert any table to ogg;
四、源端source开启3日志
1、select supplemental_log_data_min from v$database;
alter database add supplemental log data;
alter system switch logfile;
select supplemental_log_data_min from v$database;
2、rac开启归档日志
alter system set log_archive_dest_1='LOCATION=+FRA' scope=spfile sid='orcl1';
alter system set log_archive_dest_1='LOCATION=+FRA' scope=spfile sid='orcl2';
参考oracle rac归档开启
3、select force_logging from v$database;
alter database force logging;
select force_logging from v$database;
五、开启配置参数
add trandata famdb.sys_log
info trandata famdb.sys_log
源端和目标端配置mgr
GGSCI (rac1 as ogg@orcl1) 12> edit params mgr
PORT 7809
ACCESSRULE,PROG *,IPADDR 192.168.*.*, ALLOW
PURGEOLDEXTRACTS /u01/app/oracle/ogg/dirdat,USECHECKPOINTS
GGSCI (rac1 as ogg@orcl1) 13> start mgr
Manager started.
GGSCI (rac1 as ogg@orcl1) 14> info mgr
Manager is DOWN!
六、初始化源端传输和目标端接受数据配置
1、源端配置
add extract eini_1,sourceistable
info extract *,tasks
edit params eini_1
内容:
EXTRACT EINI_1
SETENV(NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)
USERID ogg,PASSWORD ogg
RMTHOST 192.168.1.244 ,MGRPORT 7809
RMTTASK REPLICAT,GROUP RINI_1
TABLE famdb.*;
2、目标端配置
add replicat rini_1,specialrun
info replicat *,tasks
edit params rini_1
内容:
REPLICAT RINI_1
SETENV(NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)
ASSUMETARGETDEFS
USERID ogg,PASSWORD ogg
DISCARDFILE /u01/app/oracle/ogg/dirrpt/RINIaa.dsc,PURGE
MAP famdb.*,TARGET famdb.*;
报错:表级别附加日志和开启参数、导表结构
dblogin userid ogg,password ogg
add trandata famdb.*
info trandata famdb.*
show parameter enable_goldengate_replication;
alter system set enable_goldengate_replication=true
scope=both;
open_curs 游标默认300
tail -f ggserr.log
查看ogg日志
七、源端extract(eora_1)进程配置
[oracle@rac01 admin]$ cat tnsnames.ora
# tnsnames.ora Network Configuration File:
/u01/app/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
rac =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST =
rac-scan)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
ASM =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST =
20.20.61.201)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = +ASM)
(SID_NAME = +ASM1)
)
)
oracle 用户可以登录 sqlplus sys/oracle@ASM as sysasm
可以登录
edit params eora_1
GGSCI (rac1) 2> view params
eora_1
EXTRACT EORA_1
SETENV(NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)
USERID ogg,PASSWORD ogg
TRANLOGOPTIONS ASMUSER SYS@ASM,
ASMPASSWORD oracle
TRANLOGOPTIONS ALTARCHIVELOGDEST
primary instance orcl2
+FRA/orcl/ARCHIVELOG, ALTARCHIVELOGDEST primary instance orcl
1 +FRA/orcl/ARCHIVELOG
EXTTRAIL
/u01/app/oracle/ogg/dirdat/la
TABLE famdb.*;
GGSCI (rac1) 3> add extract
eora_1,tranlog,begin now ,threads 2
EXTRACT added.
add exttrail
/u01/app/oracle/ogg/dirdat/la, EXTRACT EORA_1,MEGABYTES 100
EXTTRAIL added.
八、源端extract(pora_1)进程配置
GGSCI (rac1) 9> edit params
pora_1
EXTRACT PORA_1
SETENV(NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)
PASSTHRU
RMTHOST 192.168.1.244,MGRPORT
7809
RMTTRAIL
/u01/app/oracle/ogg/dirdat/ra
TABLE famdb.*;
add extract
pora_1,exttrailsource /u01/app/oracle/ogg/dirdat/la
EXTRACT added.
add rmttrail
/u01/app/oracle/ogg/dirdat/ra,extract pora_1,megabytes 100
RMTTRAIL added.
九、目标段replicat(rora_1)进程配置
GGSCI (beifen as ogg@orcl) 9>
edit params /u01/app/oracle/ogg/GLOBALS
CHECKPOINTTABLE ogg.ggschkpt
exit
GGSCI (beifen) 5> dblogin
userid ogg,password ogg
Successfully logged into
database.
GGSCI (beifen as ogg@orcl) 6>
add checkpointtable
GGSCI (beifen as ogg@orcl) 5>
add replicat rora_1,exttrail /u01/app/oracle/ogg/dirdat/ra
REPLICAT added.
GGSCI (beifen as ogg@orcl) 6>
edit params rora_1
REPLICAT RORA_1
SETENV(NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)
USERID ogg,PASSWORD ogg
HANDLECOLLISIONS
ASSUMETARGETDEFS
DISCARDFILE
/u01/app/oracle/ogg/dirrpt/RORAaa.DSC,PURGE
MAP famdb.*,TARGET famdb.*;
info extract eora_1,showch
info extract pora_1,showch
info replicat rora_1,showch
十、oracle GoldenGate DDL同步配置
源端source:
SQL> @marker_setup
ogg
SQL> @ddl_setup
ogg
SQL> @role_setup
ogg
grant GGS_GGSUSER_ROLE to ogg;
SQL> @ddl_enable
客户端target:
SQL> @marker_setup
ogg
SQL> @ddl_setup
ogg
SQL> @role_setup
ogg
grant GGS_GGSUSER_ROLE to ogg;
SQL> @ddl_enable
源端/目标端追加一条语句
GGSCI (beifen) 8> edit params
/u01/app/oracle/ogg/GLOBALS
GGSCHEMA ogg
CHECKPOINTTABLE ogg.ggschkpt
在extract
eora_1 pora_1配置文件添加语句
DDL INCLUDE ALL
在replicat
pora_1 配置文件添加语句
DDL INCLUDE ALL
DDLERROR DEFAULT DISCARD
Enable transaction data change
capture for new table
GGSCI (rhel102.oracle.com)
28> DBLOGIN USERID ogg, PASSWORD ogg
GGSCI (rhel102.oracle.com)
29> add trandata famdb.*
GGSCI (rhel101.oracle.com)
28> DBLOGIN USERID ogg, PASSWORD ogg
GGSCI (rhel101.oracle.com)
29> add trandata famdb.*




