配置和使用GoldenGate的步骤
1 配置数据库支持GoldenGate
1.1 OGG用户和权限分配
1.2 数据库附加日志
1.2.1 数据库级别的附加日志
1.2.2 用户级别的附加日志
1.2.3 表级别的附加日志
2 配置GoldenGate
2.1 GoldenGate MGR进程
2.1.1 配置GoldenGate MGR进程
2.1.2 启动mgr进程
2.2 在源端创建和配置Extract进程
2.2.1 创建主抽取进程(Primary Extract)
2.2.1.1 配置主抽取进程(Primary Extract)参数
2.2.2 创建和配置Data Pump进程(Secondly Extract)
2.2.2.1 创建Data Pump Extract进程
2.2.2.2 配置Data Pump Extract进程
2.2.2.3 将目标端trail文件添加到队列中
2.3 在目标端配置Replicat
2.3.1 创建和配置Checkpoint Table
2.3.2 创建和配置Replicat进程
3 初始化数据
4 使用GoldenGate
5 总结
配置和使用GoldenGate的步骤1 在源端和目标端配置数据库支持GoldenGate
2 在源端和目标端创建和配置GoldenGate实例
3 在源端创建和配置主抽取进程(Primary Extract)
4 在源端创建和配置Data Pump进程(Secondly Extract)
5 在目标端创建和配置Replicat进程
1 配置数据库支持GoldenGate 1.1 OGG用户和权限分配GoldenGate需要从在线日子或归档日志抽取捕获系统的变更数据信息,这些信息可能来源于业务用户,可能来源于系统用户,为了使GoldenGate能够抽取这些数据应为GoldenGate创建独立的用户和分配必要的权限以满足系统运行需求,这些权限包括读取业务用户表数据的权限、读取系统表的权限、执行某个系统包的权限等,以下脚步创建GoldenGate用户ogg_owner(源用户)、ogg_trg(目标用户)和GoldenGate角色ogg_role:
[Oracle@sywu ~]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.3.0 Production on Fri Aug 21 14:11:04 2015 Copyright (c) 1982, 2011, Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production With the Partitioning, Automatic Storage Management, OLAP, Data Mining and Real Application Testing options SYS@sydb>create tablespace tbs01 datafile '+oradata' size 10m autoextend on uniform size 2m / create user ogg_owner identified by ogg_owner default tablespace tbs01 quota unlimited on tbs01 / create user ogg_trg identified by ogg_trg default tablespace tbs01 quota unlimited on tbs01 / create role ogg_role /为易管理和维护统一将权限赋予角色ogg_role:
grant CREATE SESSION, ALTER SESSION, ALTER SYSTEM, RESOURCE, SELECT ANY DICTIONARY, FLASHBACK ANY TABLE, SELECT ANY TABLE, SELECT ANY TRANSACTION, insert any table, update any table, drop any table, CREATE TABLE to ogg_role; grant SELECT on dba_clusters to ogg_role; grant SELECT on V_$DATABASE to ogg_role; grant select on sys.logmnr_buildlog to ogg_role; grant EXECUTE on DBMS_FLASHBACK to ogg_role; grant execute on DBMS_CAPTURE_ADM to ogg_role; grant execute on DBMS_STREAMS to ogg_role; grant EXECUTE_CATALOG_ROLE to ogg_role;然后再将ogg_role 角色赋予ogg_owner(源用户)和ogg_trg(目标用户):
grant ogg_role to ogg_owner; grant ogg_role to ogg_trg;源用户测试表和数据:
SYS@sydb>create table ogg_owner.togg(id primary key,name,type,CREATED,update_date) 2 as 3 select object_id,object_name,object_type,CREATED,sysdate from dba_objects 4 where rownum<1001 5 / Table created. Elapsed: 00:00:00.28 1.2 数据库附加日志附加日志级别分为:
数据库级别的附加日志(必须附加日志)
用户级别的附加日志(当使用GoldenGate DDL抽取功能时要启用该级别)
表级别的附加日志(必须附加日志,除非你启用了用户级别的附加日志)
1.2.1 数据库级别的附加日志 因为GoldenGate需要抽取捕获变更数据信息和元数据信息,这些信息需要记录日志,并且因为日志总是持续增长的,这些日志增长的信息对于GoldenGate是必须记录的,所以必须在GoldenGate进程启动前开启数据库级别的附加日志;
检查数据库是否开启附加日志:
开启数据库级别的附加日志:
SYS@sydb>alter database add supplemental log data; SYS@sydb>ALTER DATABASE FORCE LOGGING; SYS@sydb>SELECT supplemental_log_data_min, force_logging FROM v$database; SUPPLEME FOR -------- --- YES YES Elapsed: 00:00:00.00 SYS@sydb>alter system switch logfile; System altered. Elapsed: 00:00:00.09 1.2.2 用户级别的附加日志