您的位置:首页 > 其它

16_第十六章_开发有响应的函数式程序

2011-12-31 10:11 239 查看
GoldenGate的安装很简单,下面一起来学习下GG的一些简单配置。

GG软件主要是通过抓取redo log 和 archive log 日志的信息,然后传输到目标库重做来实现数据的同步。
1.前提条件: 开启归档日志、force logging和supplemental 日志

### 用以下命令查看归档日志是否开启
SQL> archive log list          ##如果不是enable可以使用如下命令开启归档日志功能;
SQL>shutdown immediate;
SQL>startup mount;
SQL>alter database archivelog;   ##归档日志需要在mount模式下开启
## 查看force logging 和 supplemental 日志是否开启
SQL> select name,open_mode,force_logging,supplemental_log_data_min from v$database;
NAME      OPEN_MODE            FOR SUPPLEME
--------- -------------------- --- --------
NODE1     READ WRITE           NO  NO
SQL> alter database force logging;
Database altered.
SQL> select name,open_mode,force_logging,supplemental_log_data_min from v$database;
NAME      OPEN_MODE            FOR SUPPLEME
--------- -------------------- --- --------
NODE1     READ WRITE           NO  NO
SQL> alter database force logging;
Database altered.
SQL> select name,open_mode,force_logging,supplemental_log_data_min from v$database;
NAME      OPEN_MODE            FOR SUPPLEME
--------- -------------------- --- --------
NODE1     READ WRITE           YES YES


2.创建GG与Oracle交互的用户ggadmin
SQL> create tablespace ggtb datafile '/paic/app/oracle/oradata/ggtb.dbf' size 100M autoextend off;
Tablespace created.
SQL> create user ggadmin identified by ggadmin default tablespace ggtb;
User created.
SQL> grant connect,resource,dba to ggadmin;
Grant succeeded.


3.创建GG角色并授予给GG用户。(注直接这个脚本必须到GG目录下,不然可能不成功)
SQL> !pwd
/paic/app/gg
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.
SQL> grant GGS_GGSUSER_ROLE to ggadmin;
Grant succeeded.
在目标端和源端最好都配置。

4.在源端和目标端创建EXTRACT、DATAPUMP、REPLICAt对象并配置相关参数文件

#####################源端配置如下信息#########################
1)创建MGR参数文件
[oracle@node1 gg]$ ggsci
GGSCI (node1) 1> edit params mgr
###配置如下信息:
port 7809
2)配置全局参数文件
GGSCI (node1) 2> edit params ./GLOBALS
###配置如下信息:
GGSCHEMA ggadmin
3)配置EXTRACT文件
GGSCI (node1) 3> edit params ext1
###配置如下信息:
extract ext1
userid ggadmin,password ggadmin
exttrail /paic/app/gg/dirdat/ex
table keeny.*;
4)配置DataPump参数文件
GGSCI (node1) 5> edit params dp1
###配置如下信息:
extract dp1
userid ggadmin,password ggadmin
rmthost 192.168.1.152,mgrport 7809
rmttrail /paic/app/gg/dirdat/rt
table keeny.*;
#####################目标端配置如下信息#########################
1)创建MGR参数文件
[oracle@node1 gg]$ ggsci
GGSCI (node1) 1> edit params mgr
###配置如下信息:
port 7809
2)配置全局参数文件
GGSCI (node1) 2> edit params ./GLOBALS
###配置如下信息:
GGSCHEMA ggadmin
3)配置EXTRACT文件
GGSCI (node2) 1> edit params rep1
###配置如下信息:
replicat rep1
userid ggadmin,password ggadmin
assumetargetdefs
discardfile /paic/app/gg/dirdat/discard.dsc,purge
map keeny.*,target keeny.*;


5.整合上面所创建的对象

##1)在源端配置
GGSCI (node1) 1> info all
Program     Status      Group       Lag at Chkpt  Time Since Chkpt
MANAGER     STOPPED                  ###只有一个MGR
##2)将表开启附加日志和强制日志
GGSCI (node1) 13> dblogin userid ggadmin,password ggadmin
Successfully logged into database.
GGSCI (node1) 14> add trandata keeny.test;
##3)向MGR里面添加EXTRACT
GGSCI (node1) 2> view params ext1
extract ext1
userid ggadmin,password ggadmin
exttrail /paic/app/gg/dirdat/ex
table keeny.*;
GGSCI (node1) 3> add extract ext1,tranlog,begin now
EXTRACT added.
##4)添加TRAIL文件
GGSCI (node1) 4> add exttrail /paic/app/gg/dirdat/ex,extract ext1  ### 这里还不太明白为什么ext1参数文件里面指定了,这里还要添加
##5)添加DATAPUMP文件
GGSCI (node1) 8> add extract dp1,exttrailsource /paic/app/gg/dirdat/ex
EXTRACT added.
##6)指定远程TRAIL文件的目录
GGSCI (node1) 9> add rmttrail /paic/app/gg/dirdat/rt,extract dp1
RMTTRAIL added.
##7)添加REPLICAT
GGSCI (node2) 1> dblogin userid ggadmin,password ggadmin
Successfully logged into database.
GGSCI (node2) 4> add replicat rep1,exttrail /paic/app/gg/dirdat/rt,checkpointtable ggadmin.checkptable
REPLICAT added.
##8)开启源端进程
GGSCI (node1) 15> info all
Program     Status      Group       Lag at Chkpt  Time Since Chkpt
MANAGER     STOPPED
EXTRACT     STOPPED     DP1         00:00:00      00:16:04
EXTRACT     STOPPED     EXT1        00:00:00      00:21:27
GGSCI (node1) 17> info all
Program     Status      Group       Lag at Chkpt  Time Since Chkpt
MANAGER     RUNNING
EXTRACT     STOPPED     DP1         00:00:00      00:16:31
EXTRACT     STOPPED     EXT1        00:00:00      00:21:54
GGSCI (node1) 18> start ext1
Sending START request to MANAGER ...
EXTRACT EXT1 starting
GGSCI (node1) 19> start dp1
Sending START request to MANAGER ...
EXTRACT DP1 starting
GGSCI (node1) 21> info all
Program     Status      Group       Lag at Chkpt  Time Since Chkpt
MANAGER     RUNNING
EXTRACT     RUNNING     DP1         00:00:00      00:17:01
EXTRACT     RUNNING     EXT1        00:00:00      00:00:00
##9)开启目标端进程
GGSCI (node2) 7> start mgr
Manager started.
GGSCI (node2) 8> start rep1
Sending START request to MANAGER ...
REPLICAT REP1 starting
GGSCI (node2) 9> info
ERROR: Invalid command.
GGSCI (node2) 10> info all
Program     Status      Group       Lag at Chkpt  Time Since Chkpt
MANAGER     RUNNING
REPLICAT    RUNNING     REP1        01:31:51      00:00:04


以上步骤完成之后,就可以验证一 下了。

######################
alter extract ext1,extseqno 0,extrba 0
alter replicat rep1,extseqno 0,extrba 0
本文出自 “天雪泪” 博客,请务必保留此出处http://hongjun.blog.51cto.com/445761/1391210
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: