centos6.0-oracle11g-goldengate单向复制(非ASM)

软件环境:
centos6.0 oracle11g单节点 磁盘存储 goldengate
一:环境介绍
 虚拟机:VMware® Workstation 7.1.3 build-324285
 gg1:source端
 ip地址:192.168.80.131

 数据库版本:
SQL> select * from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
PL/SQL Release 11.2.0.1.0 - Production
CORE    11.2.0.1.0      Production
TNS for Linux: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production
 

操作系统版本:
[root@gg1 oraInventory]#  cat /etc/redhat-release
CentOS Linux release 6.0 (Final)
ogg版本:ogg112101_fbo_ggs_Linux_x86_ora11g_32bit.zip

 
gg2: target端
 虚拟机:VMware® Workstation 7.1.3 build-324285
 ip地址:192.168.80.131
 数据库版本:

  操作系统版本:
[root@gg1 oraInventory]#  cat /etc/redhat-release
CentOS Linux release 6.0 (Final)
ogg版本:ogg112101_fbo_ggs_Linux_x86_ora11g_32bit.zip

二:准备工作
gg1:
安装数据库软件,
netca添加监听
dbca建库
Database Configuration Summary Global Database Name: dg1
Database Configuration Type: Single
Instance SID: dg1
Management Option Type: Database Control
Storage Type: File System
Memory Configuration Type: Automatic Memory Management

The Database Control URL is https://gg1:1158/em

netmgr添加tnsname
使本地能连数据库

数据库已经建立完毕,拷贝一份出来到gg2
[oracle@gg1 admin]$ lsnrctl stop
[oracle@gg1 admin]$ sqlplus / as sysdba
SQL> shutdown immediate
关闭虚拟机,拷贝。注意修改ip地址、主机名配置文件(/etc/hosts)、监听地址、tnsnames
三、配置GG环境:

开启强制记录日志,建议数据库运行在归档模式(不是必须,但还是建议开启),本次实验未开启归档,
不包括ddl复制。
1、强制记录logging
SQL> alter database force logging;
Database altered
2、开启附加日志
开启附加日志,因为不同数据库之间rowid不能作为唯一标志,
附加日志可以记录数据的变化
查看:
SQL> select supplemental_log_data_min from v$database;
SUPPLEME
--------
NO
开启:
SQL> alter database add supplemental log data;
Database altered.
3、交换日志
SQL> alter system switch logfile;
System altered.

4、建立业务用户:us01
SQL> create user us01 identified by us01 default tablespace users;
User created.
授权:
SQL> grant connect,resource to us01;
Grant succeeded.
连接:
SQL> conn us01/us01
Connected.
SQL> show user
USER is "US01"
建立测试表:t1
SQL> create table t1(id int primary key,name char(100))
  2  ;
Table created.

5、在远端节点重复上面操作
开启附加日志--》日志交换--》建立业务用户、表、授权

 

6、安装gg程序:(root解压)
7、建立安装目录:ogg
[root@gg2 opt]# mkdir ogg
[root@gg2 ogg]# mv /home/golden/ogg112101_fbo_ggs_Linux_x86_ora11g_32bit.zip .
解压程序:
[root@gg1 ogg]# unzip ogg112101_fbo_ggs_Linux_x86_ora11g_32bit.zip
oracle@gg1 ogg]$ tar -xvf fbo_ggs_Linux_x86_ora11g_32bit.tar
改变目录权限:
chown -R oracle:oinstall ogg

8、安装软件。
进入到ogg目录
[oracle@gg2 ogg]$ ./ggsci
GGSCI (gg1) 1> create subdirs
Creating subdirectories under current directory /opt/ogg
Parameter files                /opt/ogg/dirprm: already exists
Report files                   /opt/ogg/dirrpt: created
Checkpoint files               /opt/ogg/dirchk: created
Process status files           /opt/ogg/dirpcs: created
SQL script files               /opt/ogg/dirsql: created
Database definitions files     /opt/ogg/dirdef: created
Extract data files             /opt/ogg/dirdat: created
Temporary files                /opt/ogg/dirtmp: created
Stdout files                   /opt/ogg/dirout: created
以上目录用户gg自身维护目录。

9、在远端节点上安装goldengate软件。重复上面步骤6---8。
10、修改环境变量。2个节点都要做。
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/rdbms/lib:/lib:/usr/lib:$OGG_HOME
以上安装golden安装完毕。


11、建立GG管理用户(上面建立的是业务用户)。管理用户单独使用表空间(2个节点都要建立)
首先在源端建立
建立表空间:
SQL> create tablespace gg datafile '/opt/app/oracle/oradata/dg1/dg1.dbf' size 100M autoextend on;
Tablespace created.
建立用户:ggadmin
SQL> create user ggadmin identified by ggadmin default tablespace gg;
User created.
授权:
SQL> grant connect,resource,dba to ggadmin;
Grant succeeded.

12、创建ggadmin管理角色
只需源端创建
[oracle@gg1 ogg]$ sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 Production on Fri Dec 6 17:20:37 2013

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

SQL> conn / as sysdba
Connected.

创建角色--源端
SQL> @role_setup
GGS Role setup script
This script will drop and recreate the role GGS_GGSUSER_ROLE
To use a different role name, quit this script and then edit the params.sql script to change the gg_role parameter to the preferred name. (Do not run the script.)
You will be prompted for the name of a schema for the GoldenGate database objects.
NOTE: The schema must be created prior to running this script.
NOTE: Stop all DDL replication before starting this installation.
Enter GoldenGate schema name:ggadmin
Wrote file role_setup_set.txt
PL/SQL procedure successfully completed.
Role setup script complete
Grant this role to each user assigned to the Extract, GGSCI, and Manager processes, by using the following SQL command:
GRANT GGS_GGSUSER_ROLE TO <loggedUser>
where <loggedUser> is the user assigned to the GoldenGate processes.

授予ggadmin该角色
SQL> grant GGS_GGSUSER_ROLE to ggadmin;
Grant succeeded.

注:
首先在源端配置数据捕获进程和数据传输进程,数据捕获进程负责将数据从数据库日志抓取出来,存放到一个队列文件中,数据传输进程负责将队列文件按照指定的业务逻辑传输到目标数据库。

13、添加mgr主管理进程:
[oracle@gg1 ogg]$ ./ggsci
GGSCI (gg1) 1> edit params mgr
PORT 7809
GGSCI (gg1) 3> view params mgr 
PORT 7809

启动mgr进程
GGSCI (gg1) 5> start mgr
Manager started.
查看状态
GGSCI (gg1) 6> info all
Program     Status      Group       Lag at Chkpt  Time Since Chkpt
MANAGER     RUNNING  

 

14、远端添加mgr进程
[oracle@gg2 dbs]$ cd /opt/ogg
[oracle@gg2 ogg]$ ./ggsci
先查看下mgr还是stop状态
GGSCI (gg2) 1> info all
Program     Status      Group       Lag at Chkpt  Time Since Chkpt
MANAGER     STOPPED

添加mgr主管理进程
GGSCI (gg2) 2> edit params mgr
RORT 7809

15、添加extract抽取进程--源端
GGSCI (gg1) 7> edit params ex1
EXTRACT ex1
USERID ggadmin,PASSWORD ggadmin
EXTTRAIL /opt/ogg/dirdat/ex
TABLE us01.*;

trail存放文件单独磁盘,旧的可以删除,ex表示长度是2.

 

16、源端创建pump进程,往远端写。
创建pump进程(往远端写数据)
GGSCI (gg1) 9> edit params dp1
EXTRACT dp1
USERID ggadmin,PASSWORD ggadmin
RMTHOST 192.168.80.132,MGRPORT 7809
RMTTRAIL /opt/ogg/dirdat/rt
TABLE us01.*;
rt是远端机器路径;端口别写错


17、远端配置:
target远端机器配:
假如更新数据远端失败了,需要记录到文件,要么同时更新要么同时失败,利用事务完整性机制保证完整性,这个是可选的在目标机器上。
点代表根目录,globals一定大写代表全局参数配置文件

配置全局参数文件GLOBALS,保证事务完整性,假如更新远端失败,需要记录文件,要么同时更新要么同时失败。
GGSCI (gg2) 9> edit params ./GLOBALS
GGSCHEMA ggadmin
CHECKPOINTTABLE ggadmin.chktbl

注:ggadmin用户登陆,chktbl是表复制

 

18、远端创建gg管理表空间
SQL> create tablespace gg datafile '/opt/app/oracle/oradata/dg1/dg2.dbf' size 100M autoextend on;
Tablespace created.
 创建gg管理用户:
SQL> create user ggadmin identified by ggadmin default tablespace gg;
User created.
授权:
SQL> grant connect,resource,dba to ggadmin;
Grant succeeded.
登陆:
GGSCI (gg2) 1> dblogin userid ggadmin,password ggadmin
Successfully logged into database.
通过这个登陆数据库,和sqlplus一样。

19、远端:创建检查表:
GGSCI (gg2) 2> add checkpointtable ggadmin.chktbl
Successfully created checkpoint table ggadmin.chktbl.

GGSCI (gg2) 3> view params ./GLOBALS
GGSCHEMA ggadmin
CHECKPOINTTABLE ggadmin.chktbl

查看登陆用户:
SQL> select username from v$session where username is not null order by 1;
USERNAME
------------------------------
GGADMIN
SYS

20、登陆远端数据库,验证检查表是否建立
SQL> conn ggadmin/ggadmin
Connected.
SQL> desc user_objects
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 OBJECT_NAME                                        VARCHAR2(128)
 SUBOBJECT_NAME                                     VARCHAR2(30)
 OBJECT_ID                                          NUMBER
 DATA_OBJECT_ID                                     NUMBER
 OBJECT_TYPE                                        VARCHAR2(19)
 CREATED                                            DATE
 LAST_DDL_TIME                                      DATE
 TIMESTAMP                                          VARCHAR2(19)
 STATUS                                             VARCHAR2(7)
 TEMPORARY                                          VARCHAR2(1)
 GENERATED                                          VARCHAR2(1)
 SECONDARY                                          VARCHAR2(1)
 NAMESPACE                                          NUMBER
 EDITION_NAME                                       VARCHAR2(30)

查看检查表是否创建---chktbl
SQL> select object_name from user_objects;

OBJECT_NAME
--------------------------------------------------------------------------------
CHKTBL
SYS_C0010810
CHKTBL_LOX
SYS_C0010816
以上check表创建完毕。


21、节点2:
远端添加replicat(复制)进程
GGSCI (gg2) 4> edit params rep1
REPLICAT rep1
USERID ggadmin,PASSWORD ggadmin
ASSUMETARGETDEFS
DISCARDFILE /opt/ogg/discards,PURGE
MAP us01.*,TARGET us01.*;
~
注:
设置两边表结构1致的,出错的花丢到purge,

22、配置完毕:配置启动参数
source机器:
登陆:
GGSCI (gg1) 10> dblogin userid ggadmin,password ggadmin
Successfully logged into database.

开启hr用户下所有表的附加日志,不这样t1表传输不过去。
GGSCI (gg1) 11> add trandata us01.t1
Logging of supplemental redo data enabled for table US01.T1.

添加extract
GGSCI (gg1) 12> add extract ex1,tranlog,begin now
EXTRACT added.
注:ex1代表组,now代表开始穿传输。

添加trail
GGSCI (gg1) 13>add exttrail  /opt/ogg/dirdat/ex,extract ex1
注:
 ex配置文件,ex1,代表组。

GGSCI (gg1) 14> view params ex1
EXTRACT ex1
USERID ggadmin,PASSWORD ggadmin
EXTTRAIL /opt/ogg/dirdat/ex
TABLE us01.*;

23、源端指定pump进程的路径
添加pump进程:
GGSCI (gg1) 15> add extract dp1 exttrailsource /opt/ogg/dirdat/ex
EXTRACT added.
ex文件同前面extract进程参数文件中定义的trail文件名一致。

GGSCI (gg1) 16> view params dp1
EXTRACT dp1
USERID ggadmin,PASSWORD ggadmin
RMTHOST 192.168.80.132,MGRPORT 7809
RMTTRAIL /opt/ogg/dirdat/rt
TABLE us01.*;

添加rmttrail:
GGSCI (gg1) 17> add rmttrail /opt/ogg/dirdat/rt,extract dp1
RMTTRAIL added.

24、远端机器:节点2
GGSCI (gg2) 6> add replicat rep1,exttrail /opt/ogg/dirdat/rt checkpointtable ggadmin.chktbl
REPLICAT added.

25、启动gg
源端启动:
先查看进程状态
GGSCI (gg1) 18> info all
Program     Status      Group       Lag at Chkpt  Time Since Chkpt
MANAGER     RUNNING                                          
EXTRACT     STOPPED     DP1         00:00:00      00:03:06  
EXTRACT     STOPPED     EX1         00:00:00      00:04:44
启动ex1:
GGSCI (gg1) 19> start extract ex1
Sending START request to MANAGER ...
EXTRACT EX1 starting
查看:
GGSCI (gg1) 13> info all
Program     Status      Group       Lag at Chkpt  Time Since Chkpt
MANAGER     RUNNING                                          
EXTRACT     ABENDED     DP1         00:00:00      00:41:15   
EXTRACT     RUNNING     EX1         00:42:54      00:00:00
启动dp1:
GGSCI (gg1) 14> start extract dp1
Sending START request to MANAGER ...
EXTRACT DP1 starting
查看:
GGSCI (gg1) 15> info all
Program     Status      Group       Lag at Chkpt  Time Since Chkpt
MANAGER     RUNNING
EXTRACT     RUNNING     DP1         00:00:00      00:41:29   
EXTRACT     RUNNING     EX1         00:00:00      00:00:04   

远端启动:
GGSCI (gg2) 36> start mgr
Manager started.
注:如果启动就了就不执行了,先查看下日志用view
查看:
GGSCI (gg2) 37> info all
Program     Status      Group       Lag at Chkpt  Time Since Chkpt
MANAGER     RUNNING                                          
REPLICAT    STOPPED     REP1        00:00:00      00:53:26   

启动rep1:
GGSCI (gg2) 10> start replicat rep1
Sending START request to MANAGER ...
REPLICAT REP1 starting

26、验证:
在源端插入1条记录,看目标机器
SQL> select * from us01.t1;

no rows selected
insert into us01.t1 values(1,'d');
SQL> insert into us01.t1 values(1,'d');

1 row created.

SQL> commit;

Commit complete.

以上是单向复制配置过程,但是对于ddl语句不支持

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值