1. 以administrator身份登录系统进行安装,只要安装者属于系统的administrator组就行。
2. 安装Microsoft Visual C ++ 2005 SP1 Redistributable Package,这个是必须的。我第一次在虚拟机上安装golden gate时,就碰到了这个问题,当时使用administrator用户来执行ggsci.exe,结果在命令行上提示“系统无法执行此程序”。
1. 设置相关环境变量
在系统属性-高级-环境变量里面设置如下两个环境变量的值(我先前未设置时也能正常运行,但是看到官方文档中提示一定要设置这两个环境变量)。
ORACLE_HOME
ORACLE_SID
2. 运行主程序,并生成相关文件目录
|
生成的目录说明:
· dirchk:存放检查点(Checkpoint)文件
3. 配置manager
manager是一个后台管理进程,golden gate的数据同步就是通过发送端和接收端的两个manager之间的进程通信来实现的。
在进入ggsci之后,运行edit params mgr 然后在打开的记事本中添加port 7002指定manager进程占用的端口即可。
4. 检测manager是否可以正常起停
在ggsci中,使用start mgr 与stop mgr来启动和停止mgr,用info mgr来查看manager的运行状态。
5. 创建golden gate数据抽取数据库用户
创建一个oracle数据库用户ggs,授予connect,resource权限。
6. ddl高级特性安装准备
没有安装ddl高级特性时,golden gate只能做dml对应的操作,即数据上的操作,不能对库表做改动。安装上ddl高级特性后,就可以。
给golden gate数据库用户授予能执行ddl安装脚本的权限。
grant execute on utl_file to ggs;
7. 在全局配置文件中定义golden gate使用的schema(即用户)
edit params globals
然后在弹出的记事本中写入:
GGSCHEMA ggs
保存后使用view params globals查看结果。
8. 禁用数据库的recyclebin,根据golden gate安装手册,这个是必须的
在oracle 10g release 1中使用:ALTER SYSTEM SET “_recyclebin”= FALSE SCOPE=BOTH;
在oracle 10g release 2中使用:ALTER SESSION SET recyclebin = OFF;
9. ddl高级特性安装
在命令行中进入golden gate安装目录,使用sqlplus,以sysdba身份登录。
执行以下几个sql脚本:
ddl_setup(执行过程中需要填写golden gate schema名称,填ggs,ddl安装模式INITIALSETUP,它会假定golden gate ddl对象不存在来一个全新安装)
role_setup(执行过程中会要求给数据抽取用户授予新建的角色)
ddl_enable.sql
ddl_pin(ddl_pin执行时填一个用户参数,参赛为使用golden gate ddl特性的用户,此处填ggs即可)
10. 数据源数据库环境准备
1. 给先前的ggs数据库用户授权dba(这样可以保证ggs用户可以读取数据源schema下的表)
grant dba to ggs;
2. 检查数据源数据库是否开启归档模式
SQL> archive log list
Database log mode No Archive Mode
Automatic archival Disabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 341
Current log sequence 343
从结果中看到没有开启,关闭数据库,将数据库mount而不open,执行:
alter database archivelog
3. 检查源端数据库附加日志是否打开
SQL>select supplemental_log_data_min from v$database;
将数据库附加日志打开
SQL>alter database add supplemental log data;
切换日志以使附加日志生效:
SQL〉ALTER SYSTEM ARCHIVE LOG CURRENT;
11. 在数据接收方进行golden gate配置
创建一个ggs用户,授予dba权限。同样安装ddl高级特性。
Golden gate 安装好之后通过golden gate director client端进行配置,可以建立起数据抽取的一个完整的链路。