使用 Oracle GoldenGate 在 Microsoft SQL Server 和 Oracle Database 之间复制事务文档格式.docx
- 文档编号:4145378
- 上传时间:2023-05-02
- 格式:DOCX
- 页数:27
- 大小:811.10KB
使用 Oracle GoldenGate 在 Microsoft SQL Server 和 Oracle Database 之间复制事务文档格式.docx
《使用 Oracle GoldenGate 在 Microsoft SQL Server 和 Oracle Database 之间复制事务文档格式.docx》由会员分享,可在线阅读,更多相关《使用 Oracle GoldenGate 在 Microsoft SQL Server 和 Oracle Database 之间复制事务文档格式.docx(27页珍藏版)》请在冰点文库上搜索。
可以从下载(OracleFusionMiddleware→MicrosoftWindowsx32→OracleGoldenGateforNonOracleDatabasev11)。
所需介质包的序列号是V22241-01。
在希望安装OracleGoldenGate的位置(在本示例中为C:
\GG)解压缩下载的压缩包。
然后打开命令提示符,转到C:
\GG目录,启动GGSCI(GoldenGate命令界面):
C:
\GG>
ggsci
OracleGoldenGateCommandInterpreterforODBC
Version11.1.1.0.0Build078
Windows(optimized),MicrosoftSQLServeronJul28201018:
55:
52
Copyright(C)1995,2010,Oracleand/oritsaffiliates.Allrightsreserved.
GGSCI(MSSQL)1>
接着执行CREATESUBDIRS命令创建OracleGoldenGate工作目录。
CREATESUBDIRS
CreatingsubdirectoriesundercurrentdirectoryC:
\GG
Parameterfiles
C:
\GG\dirprm:
created
Reportfiles
\GG\dirrpt:
Checkpointfiles
\GG\dirchk:
Processstatusfiles
\GG\dirpcs:
SQLscriptfiles
\GG\dirsql:
Databasedefinitionsfiles
\GG\dirdef:
Extractdatafiles
\GG\dirdat:
Temporaryfiles
\GG\dirtmp:
Veridatafiles
\GG\dirver:
VeridataLockfiles
\GG\dirver\lock:
VeridataOut-Of-Syncfiles
\GG\dirver\oos:
VeridataOut-Of-SyncXMLfilesC:
\GG\dirver\oosxml:
VeridataParameterfiles
\GG\dirver\params:
VeridataReportfiles
\GG\dirver\report:
VeridataStatusfiles
\GG\dirver\status:
VeridataTracefiles
\GG\dirver\trace:
Stdoutfiles
\GG\dirout:
GGSCI(MSSQL)2>
EXIT
根据官方文档,GGSCI支持每个OracleGoldenGate实例最多300个并发的Extract和Replicat进程。
不过,有一个进程负责控制其他进程;
这个进程被称作Manager进程。
虽然您可以手动运行此进程,但最好将其安装为服务,否则当启动该进程的用户注销时,该进程将停止。
要将Manager进程添加为Windows服务,请在GoldenGate安装目录中执行INSTALLADDSERVICE命令。
INSTALLADDSERVICE
Service'
GGSMGR'
created.
Installprogramterminatednormally.
这样就差不多完成了Windows安装。
我们转到Linux系统。
在OracleLinux5上安装适用于Oracle的GoldenGate
在Linux上安装OracleGoldenGate与您刚才在WindowsXP上进行的安装大同小异。
您需要下载适用于Linux上的Oracle的GoldenGate介质包(V22228-01)。
创建一个安装目录并将压缩包解压缩到该目录。
在本示例中,我使用/u01/app/oracle/gg目录,因为ORACLE_BASE指向/u01/app/oracle。
完成该操作后,需要设置PATH和LD_LIBRARY_PATH环境变量,如下所示:
[oracle@oradb~]$exportPATH=$PATH:
$ORACLE_BASE/gg
[oracle@oradb~]$exportLD_LIBRARY_PATH=$ORACLE_HOME/lib:
启动GGSCI并执行CREATESUBDIRS。
[oracle@oradbggs]$cd$ORACLE_BASE/gg
[oracle@oradbgg]$./ggsci
OracleGoldenGateCommandInterpreterforOracle
Linux,x86,32bit(optimized),Oracle11onJul28201013:
22:
25
GGSCI(oradb)1>
Creatingsubdirectoriesundercurrentdirectory/u01/app/oracle/gg
/u01/app/oracle/gg/dirprm:
Reportfiles
/u01/app/oracle/gg/dirrpt:
/u01/app/oracle/gg/dirchk:
/u01/app/oracle/gg/dirpcs:
/u01/app/oracle/gg/dirsql:
/u01/app/oracle/gg/dirdef:
/u01/app/oracle/gg/dirdat:
/u01/app/oracle/gg/dirtmp:
/u01/app/oracle/gg/dirver:
/u01/app/oracle/gg/dirver/lock:
/u01/app/oracle/gg/dirver/oos:
VeridataOut-Of-SyncXMLfiles/u01/app/oracle/gg/dirver/oosxml:
/u01/app/oracle/gg/dirver/params:
/u01/app/oracle/gg/dirver/report:
/u01/app/oracle/gg/dirver/status:
/u01/app/oracle/gg/dirver/trace:
/u01/app/oracle/gg/dirout:
GGSCI(oradb)2>
[oracle@oradbgg]$
Linux系统上的安装现已完成。
准备源数据库
下一步是在SQLServer中新建一个数据库并用一些示例数据进行填充。
该数据库名为EMP。
可以通过启动SQLServerManagementStudio,右键单击Databases并选择NewDatabase来创建该数据库。
在Databasename域中键入EMP,然后单击OK,其他选项保留默认值。
我们在新创建的数据库中添加一个新的数据库模式(HRSCHEMA)、一个表(EMP)和几条测试记录。
通过运行以下SQL来实现这些操作:
setansi_nullson
go
setquoted_identifieron
createschemahrschema
createtable[hrschema].[emp](
[id][smallint]notnull,
[first_name]varchar(50)notnull,
[last_name]varchar(50)notnull,
constraint[emp_pk]primarykeyclustered(
[id]asc
)with(pad_index=off,statistics_norecompute=off,ignore_dup_key=off,allow_row_locks=on,allow_page_locks=on)on[primary]
)on[primary]
--TESTDATA
INSERTINTO[hrschema].[emp]([id],[first_name],[last_name])VALUES(1,'
Dave'
'
Mustaine'
INSERTINTO[hrschema].[emp]([id],[first_name],[last_name])VALUES(2,'
Chris'
Broderick'
INSERTINTO[hrschema].[emp]([id],[first_name],[last_name])VALUES(3,'
David'
Ellefson'
INSERTINTO[hrschema].[emp]([id],[first_name],[last_name])VALUES(4,'
Shawn'
Drover'
GO
首先新建一个查询(右键单击数据库名并选择NewQuery)。
然后贴入以上SQL文本,按F5执行。
现在,为使OracleGoldenGate能够访问EMP数据库,必须为其创建一个ODBC数据源。
转到ControlPanel->
AdministrativeTools->
DataSources(ODBC),添加一个新的系统DSN。
选择SQLServer作为数据库驱动程序并将该数据源命名为HR。
将来源指向本地SQLServer(MSSQL)并填写登录凭证。
数据源摘要应类似如下所示:
现在该让OracleGoldenGate能够从事务日志中获取有关EMP表的事务信息了。
您仍将使用GGSCI:
ggsci.exe
DBLOGINSOURCEDBHR
Successfullyloggedintodatabase.
ADDTRANDATAHRSCHEMA.EMP
Loggingofsupplementallogdataisenabledfortablehrschema.emp
GGSCI(MSSQL)3>
因为Oracle和SQLServer中的数据类型不同,所以您必须建立数据类型转换。
GoldenGate提供了一个名为DEFGEN的专用工具,用于生成数据定义,当源表和目标表中的定义不同时,OracleGoldenGate进程将引用该专用工具。
在运行DEFGEN之前,需要为其创建一个参数文件,指定该工具应检查哪些表以及在检查表之后存放类型定义文件的位置。
可以在GGSCI内使用EDITPARAMS命令创建这样一个参数文件。
EDITPARAMSDEFGEN
GGSCI(MSSQL)4>
这将创建一个名为DEFGEN.PRM的空参数文件,该文件位于GoldenGate安装的DIRPRM文件夹中。
将以下内容放入该文件内:
defsfilec:
\gg\dirdef\emp.def
sourcedbhr
tablehrschema.emp;
参数的含义不言自明。
我们希望DEFGEN检查HRSCHEMA内的EMP表并在DIRDEF子目录中放置一个名为EMP.DEF的定义文件。
我们来调用DEFGEN并检查其输出。
defgenparamfilec:
\gg\dirprm\defgen.prm
***********************************************************************
OracleGoldenGateTableDefinitionGeneratorforODBC
Version11.1.1.0.0Build078
Windows(optimized),MicrosoftSQLServeronJul28201019:
16:
56
Startingat2011-04-0814:
41:
06
OperatingSystemVersion:
MicrosoftWindowsXPProfessional,onx86
Version5.1(Build2600:
ServicePack3)
Processid:
2948
**
Runningwiththefollowingparameters
**
RetrievingdefinitionforHRSCHEMA.EMP
Definitionsgeneratedfor1tablesinc:
如果您费心检查一下EMP.DEF的内容,就会发现其内容类似如下所示:
*
*Definitionscreated/modified
2011-07-0710:
27
*
Fielddescriptionsforeachcolumnentry:
1
Name
2
DataType
3
ExternalLength
4
FetchOffset
5
Scale
6
Level
7
Null
8
BumpifOdd
9
InternalLength
10
BinaryLength
11
TableLength
12
MostSignificantDT
13
LeastSignificantDT
14
HighPrecision
15
LowPrecision
16
ElementaryItem
17
Occurs
18
KeyColumn
19
SubDataType
DefinitionfortableHRSCHEMA.EMP
Recordlength:
121
Syskey:
0
Columns:
3
id
134
23
0
010
800001
010
first_name
64
50
000001
000
last_name
66
Endofdefinition
基本上,它列出了所有表/列并使用更一般的定义描述了原生数据库类型。
现在需要将EMP.DEF文件复制到目标计算机,因为该文件需要供Replicat进程使用。
Replicat还必须执行另一项转换。
该进程将更一般的类型重新映射为数据库特定的类型(但这次这些类型将对应于目标数据库所使用的类型)。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 使用 Oracle GoldenGate Microsoft SQL Server Database 之间复制事务 之间 复制 事务
链接地址:https://www.bingdoc.com/p-4145378.html