好久没写日志了,这个月也快结束了,趁这最后一天补一篇日志;这段时间在学习goldengate这个软件,下面把本机的环境演示过程简单记录如下:
环境:windows xp下安装了orcl与mengdb两个oracle 10g的数据库
目标:实现orcl实时同步数据到mengdb数据库中
过程:
1、打开两个dos窗口,分别设置ORACLE_HOME与ORACLE_SID
2、创建子目录,在goldengate目录下,运行ggsci程序,执行create subdirs
3、创建MGR服务 --此处为了简便,可以在该参数文件中仅指定一个端口就好了
4、在orcl上建立extract进程:
1)SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;Database altered.SQL> alter system switch logfile;System altered
现在可以添加 Extract 组了。
GGSCI (HaviPori) 1> ADD EXTRACT emp_ext, TRANLOG, BEGIN NOWEXTRACT added.
现在,我们来为 Extract 组 emp_ext 创建参数文件,如下所示:
GGSCI (HaviPori) 1> EDIT PARAM emp_ext
在此文件中,键入以下代码行:
EXTRACT emp_ext USERID system@localhost:1521/orcl, PASSWORD hrpassword1 EXTTRAIL C:/OGG10G/dirdat/et TABLE HR.EMPLOYEES;GGSCI (HaviPori) 1> START EXTRACT EMP_EXT 5、在mengdb上建立replicat进程 1)GGSCI (HaviPori) 1> DBLOGIN USERID system@localhost:1521/HRPRD3 PASSWORD hrpassword1 Successfully logged into database. 2)GGSCI (HaviPori) 2> ADD CHECKPOINTTABLE HR.EMPLOYEES_CHKPT Successfully created checkpoint table HR.EMPLOYEES_CHKPT.此表中保存的检查点指示 Replicat 进程的当前读写位置。这用于在进程需要重启时或者在服务器出现任何故障或网络停顿时防止数据丢失。如果没有这一机制,将导致数据丢失。另一个好处是,通过使用检查点,多个 Extract 或 Replicat 进程可通过相同的一组线索进行读取。
现在可以添加 Replicat 组了,具体如下所示,其中指定的 EXTTRAIL 正是在第一个数据库中建立 Extract 组时所使用的 EXTTRAIL。这样,该 Replicat 组将以 Extract 组创建的线索为数据源,即使用相同的线索:
GGSCI (HaviPori) 4> ADD REPLICAT emp_rep, EXTTRAIL C:/OGG10G/dirdat/et, CHECKPOINTTABLE hr.employees_chkpt, REPLICAT added. 编辑此 Replicat 组的参数文件,具体如下:GGSCI (HaviPori) 5> EDIT PARAM emp_rep在新文件中输入以下内容:REPLICAT emp_rep USERID system@localhost:1521/mengdb, PASSWORD hrpassword1 ASSUMETARGETDEFS MAP hr.employees, TARGET hr.employees; 由于各表具有完全相同的 DDL 结构,您使用 ASSUMETARGETDEFS 参数。现在可以启动 Replicat 组:GGSCI (HaviPori) 6> start REPLICAT emp_rep Sending START request to MANAGER ('GGSMGR') ... REPLICAT EMP_REP starting 6、此时可以通过info all来查看进程的状态