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的字段处抽取。

GG配置Oracle同步到SQLServer

时间: 2024-08-02 06:59:12

GG配置Oracle同步到SQLServer的相关文章

GG同步到sqlserver报错一例 Invalid date format

在将Oracle表同步到sqlserver时,在sqlserver端应用数据时,可能会遇到这个报错. 2014-05-17 17:20:24 WARNING OGG-01154 SQL error -2147217887 mapping APPLSYS.FND_FLEX_VALIDATION_RULES to dbo.FND_FLEX_VALIDATION_RULES [SQL error -2147217887 (0x80040e21)] Parameter #: 12 Data Type:

数据库连接池配置 - Oracle,SQL Server,DB2,MYSQL,SQLLITE3

################## 数据库连接配置 ################## #Oracle#hibernate.connection.driverClass=oracle.jdbc.driver.OracleDriver#hibernate.dialect=org.hibernate.dialect.Oracle9Dialect#hibernate.connection.url=jdbc:oracle:thin:@192.168.1.30:1521:other#hibernate

Oracle拉出在sqlserver建表的语句

我们将Oracle数据同步到sqlserver时,是先得在sqlserver端建表的. 复杂的字段我们不同步,就只考虑下面四种数据类型. Oracle到SQLServer做的映射: int -> int number -> decimal(18,6) number(p,s) -> decimal(p,s) date -> datetime varchar2(n) -> nvarchar(n) 下面是从Oracle端执行的plsql脚本. /* 简介:从oracle拉出在mss

配置Oracle Gateway 12连接到SQL server 2014

最近的工作中需要基于Oracle连接到SQLserver2014,我们可以通过配置Gateway的方式来实现这个功能.这个Gateway的实质是透过dblink来实现的.即把SQLserver模拟成一个远端的Oracle实例,这个实例由Gateway来负责进行接收,转发等等.本文简要描述其配置过程. 一.安装环境介绍 gateway: 12.1.0.2 Oracle db: 11.2.0.4 + RHEL6.3 Sqlserver: 2014 + Win2012 如果安装在已经安装Oracle相

ogg的安装配置 配置双向同步(含DDL)

第一部分 先配置单向同步(含DDL) 一 源端安装GoldenGate 创建用户 创建目录 mkdir -p /opt/ogg chmod -R 777 /opt/ogg chown -R oracle:oinstall /opt/ogg ? ogg用户???? useradd -g oinstall -G dba ggate ? 解压软件 设置环境变量 配置goldengate用户变量 su – ggate export ORACLE_BASE=/u01/app/oracle export O

django之创建第8个项目-数据库配置及同步研究

1.sqlitestudio-2.1.5数据库可视化工具--百度云盘下载 2.编写C:\djangoweb\helloworld\blog\models.py文件 # Create your models here. #coding:utf-8 from django.db import models class Student(models.Model): name=models.CharField(max_length=50) age=models.IntegerField() 3.配置C:

(原)将Oracle迁移到SQLServer

背景:中了一个标,Oracle改成SQLServer解决办法: 1.首先想到微软的解决方案:Microsoft SQL Server Migration Assistant v7.4 for Oraclehttps://www.microsoft.com/en-us/download/details.aspx?id=54258根据介绍看起来很牛B,装完之后死活联上不Oracle,告诉我需要安装Oracle的Provider链接库,从10到12,各种客户端,各种类库我装了个遍,终于我放弃了. 2.

配置ORACLE 客户端连接到数据库

--================================= -- 配置ORACLE 客户端连接到数据库 --================================= Oracle 客户端连接到Oracle 数据库服务器貌似不同于SQL serve中的网络配置,其实不然,只不过所有的SQL server 运行于Windows平台,故很多配置直接集成到了操作系统之中.所以无需配置客户端即可连接到服务器.Oracle 客户端连接到数据库依赖于Oracle Net.Oracle提供

配置的同步机制是如何实现的?

配置的同步机制是如何实现的? 配置的同步涉及到两个方面:第一,对原始的配置文件实施监控并在其发生变化之后从新加载配置:第二,配置重新加载之后及时通知应用程序进而使后者能够使用最新的配置.要了解配置同步机制的实现原理,先得从认识一个名为ConfigurationReloadToken的类型开始. [ 本文已经同步到<ASP.NET Core框架揭秘>之中] 目录一.从ConfigurationReloadToken说起二.Configuration对象与配置文件的同步三.应用重新加载的配置四.同