oracle gg 有两个字段没同步到,GG配置Oracle同步到SQLServer

欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入 GG配置Oracle同步到SQLServer 源端目标端准备一张测试用的表。 Oracle源端: drop table ggmgr.t1; create table ggmgr.t1( id int primary key, name varchar2(50), time date); Sqlserver目

欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入

GG配置Oracle同步到SQLServer

源端目标端准备一张测试用的表。 Oracle源端: drop table ggmgr.t1; create table ggmgr.t1( id int primary key, name varchar2(50), time date);

Sqlserver目标端: BEGIN TRANSACTION SET QUOTED_IDENTIFIER ON SET ARITHABORT ON SET NUMERIC_ROUNDABORT OFF SET CONCAT_NULL_YIELDS_NULL ON SET ANSI_NULLS ON SET ANSI_PADDING ON SET ANSI_WARNINGS ON COMMIT BEGIN TRANSACTION GO CREATE TABLE dbo.Table_1 ( id numeric(18, 0) NOT NULL, name nvarchar(40) NULL, time date NULL ) ON [PRIMARY] GO ALTER TABLE dbo.Table_1 ADD CONSTRAINT PK_Table_1 PRIMARY KEY CLUSTERED ( id ) WITH( STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] GO ALTER TABLE dbo.Table_1 SET (LOCK_ESCALATION = TABLE) GO COMMIT

在线持续同步表

Oracle端(配置extract进程) dblogin userid ggmgr,password oracle add trandata test.n

edit param e_erp extract e_erp userid ggmgr,password oracle setenv(ORACLE_SID=orcl) exttrail ./dirdat/dd table ggmgr.t1;

添加extract进程 add extract e_erp,tranlog,begin now 创建本地trail文件(并不是物理上真的创建),这个e_erp要之前就按这个名称添加了extract进程。 add exttrail ./dirdat/dd, extract e_erp

配置data pump进程 edit params d_erp extract d_erp userid ggmgr,password oracle rmthost 10.60.17.48,mgrport 7809 rmttrail D:\gg\dirdat\dd table ggmgr.t1;

add extract d_erp, exttrailsource /home/ora/gg/dirdat/dd add rmttrail D:\gg\dirdat\dd, extract d_erp

sqlserver端(配置replicat进程)

传送defgen工具定义文件

在SQLServe目标端,配置globals文件,指定用某个checkpoint表 /ggsci edit params ./GLOBALS CHECKPOINTTABLE MASTER.DBO.GG_CHECKPOINT_TAB

globals文件必须在在$GGS_HOME目录下,即软件根目录下,如果已经存在一个,可以先move走它。

为目标端配置checkpoint table dblogin sourcedb mssql(这个名称,是我们定义在ODBC数据源的那个代表某给sqlserver服务的描述符) add checkpointtable master.dbo.gg_checkpoint_tab

配置replicat进程 EDIT PARAMS R_ERP replicat r_erp sourcedb mssql sourcedefs D:\gg\dirdef\defgen.def reperror default,discard discardfile ./dirrpt/r_erp.dsc,append,megabytes 50 map ggmgr.t1, target fwy.dbo.t1;

discardfile参数推荐用这个参数,对于数据库拒绝的数据,会反映到这个文件中

增加replicat进程 add replicat r_erp, exttrail D:\gg\dirdat\dd

然后用defgen工具,将表定义传送到目标端

源端跑起来 start e_bom start d_bom 目标端 start replicat r_bom view report r_erp

如果想过滤某些列,什么都不用做。例如源端有7个字段,目标端有6个,同名字段自动匹配,没的会自动去掉。但如果字段名有些一样,有些不同呢? map ggmgr.t3, target fwy.dbo.t3, colmap ( usedefaults, --意味着字段名相同就用默认的复制 target_col = source_col); --目标表字段名是target_col,从源端的字段名是source_col的字段处抽取。

test.jsp?url=http%3A%2F%2Fwww.chinaitlab.com%2Fcms%2Fimages%2Flogo14.gif&refer=http%3A%2F%2Foracle.chinaitlab.com%2Foptimize%2F964689.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值