使用 Oracle GoldenGate 进行实时数据集成.docx_第1页
使用 Oracle GoldenGate 进行实时数据集成.docx_第2页
使用 Oracle GoldenGate 进行实时数据集成.docx_第3页
使用 Oracle GoldenGate 进行实时数据集成.docx_第4页
使用 Oracle GoldenGate 进行实时数据集成.docx_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

使用 Oracle GoldenGate 进行实时数据集成了解如何安装、设置和配置 Oracle GoldenGate 以轻松实现 Oracle Database 10g 和 11g 之间数据的无缝复制。 作者:Porus Homi Havewala2010 年 4 月发布Oracle GoldenGate 用于在各种企业系统间以亚秒级速度复制和集成事务数据,是同类最佳的、易于部署的产品。Oracle GoldenGate 可以灵活地在同类和异类系统(包括不同版本的 Oracle Database、不同的硬件平台)之间以及 Oracle 数据库和非 Oracle 数据库(包括 Microsoft SQL Server、用于开放系统和 z/OS 的 IBM DB2、Sybase 等等)之间移动数据。 本文演示如何安装、设置和配置此产品以轻松实现 Oracle Database 10g 和 11g 之间数据的无缝复制,还介绍了此产品的加速能力。Oracle 于 2009 年收购了 GoldenGate,我们可以看到在全球各行业超过 4,000 个解决方案中实施了 Oracle GoldenGate。该软件执行实时的、基于日志的更改数据捕获 (CDC),能够在异构数据库间以极低的延迟和很小的空间移动大量事务数据。 通常,您部署 GoldenGate 捕获、数据泵和交付进程,并且可将这些进程部署在许多不同的操作系统和数据库上。可根据目标数据库的需要,复制所有数据或部分数据。当 Oracle GoldenGate 用于 Oracle 数据库时,可以复制数据操作语言 (DML) 和数据定义语言 (DDL) 操作。(目前只能在同类(不能在异类的)Oracle 版本间复制 DDL 操作。)Oracle GoldenGate 官方支持 Oracle9i 第 2 版到 Oracle Database 11g 第 2 版,并且对所有这些版本提供 DML/DDL 支持。该产品可用于 Oracle Database 的企业版和标准版。 如上所述,可以在所支持的同类或异类 Oracle Database 版本间移动数据,也可以在 Oracle 数据库和非 Oracle 数据库间移动数据。大多数情况下,可对数据进行筛选、映射和转换。注意,如果启用了 DDL 支持(换言之,如果使用 GoldenGate 进行同类 Oracle Database 版本之间的 DDL 复制),则不支持数据筛选、映射和转换。Oracle GoldenGate 是以 DBA 为中心的,因此 DBA 很容易学会如何使用它。其实现时间也是最少的 一些站点只用一个月的时间就完全付诸实现。可获得什么Oracle GoldenGate 产品系列包括: Oracle GoldenGate Management Pack for Oracle GoldenGate(也称为 Oracle GoldenGate Director) Oracle GoldenGate Veridata Oracle GoldenGate Application Adapters Oracle GoldenGate for Mainframe 为使增值服务造福客户,Oracle GoldenGate 核心许可包括 Oracle Active Data Guard 的全权使用许可和 Oracle Database 中 XStream 的全权使用许可。XStream 是与 Oracle Streams 接口的 API。Oracle Active Data Guard 支持主动打开备用数据库以提供报表服务,甚至在应用重做数据的同时也如此。这个特性非常棒,可将生产报表和查询工作分流到备用数据库上。 一直以来,Oracle Streams 只用于在 Oracle 数据库间复制数据。Oracle GoldenGate 还可以在非 Oracle 数据库间复制数据,并且这种复制易于建立。 我们应注意到,已发布的 Oracle GoldenGate 发展方向声明 中指出,“由于 Oracle GoldenGate 的战略性,将继续支持 Oracle Streams,但不会对其进行主动增强。而是对 Oracle Streams 中最好的内容行评估以确定是否将其并入 Oracle GoldenGate 中。”此演示的目的为了进行此次演示,您应在一台 Microsoft Windows 服务器上有三个数据库。这三个数据库是 HRPRD1、HRPRD2 和 HRPRD3。其数据库版本分别为 Oracle Database 11g、 Oracle Database 10g 和 Oracle Database 10g 。 这三个数据库的 SYS 和 SYSTEM 口令已设置为 hrpassword1,用于测试目的。稍后可更改此口令。此演示的目的是在 HRPRD2 和 HRPRD3 这两个 Oracle 10g 数据库的 HR.EMPLOYEES 表之间建立单向复制。对第一个数据库中此表的 DML 更改应传给第二个数据库。然后,我们将对这一复制进行增强,可以将更改同时复制到 Oracle 11g 数据库 HRPRD1 中。其结果是,对 HRPRD2 中该表的任何更新、插入和删除不仅将会成功更新 HRPRD3,也会成功更新 HRPRD1。 这种从 Oracle Database 10g 到 Oracle Database 10g 然后再到 Oracle Database 11g 的复制策略常用于升级情况,进行升级时,需要先复制数据,然后方可切换到升级后的数据库版本。Oracle GoldenGate 提供了简单的解决方案。注意,针对 Oracle 数据库时,您不 需要使用 Microsoft ODBC 数据源管理器为这些数据库创建数据源名称 (DSN)。Oracle GoldenGate 复制将使用监听器直接连接到 Oracle 数据库。 需要下载的内容首先,对于 Windows 系统,需要从 Microsoft 下载中心下载 Microsoft Visual C + 2005 SP1 Redistributable Package,然后进行安装。如果计算机上未安装 Visual C+,这用于安装运行本应用程序时所需的 Visual C+ 库的运行时组件。 接下来,需要从 Oracle 技术网 下载 Oracle GoldenGate 软件。截至本文撰写时,OTN 只支持 Windows 平台 64 位版本:适用于 Windows 2000、XP 和 2003(64 位)上的 Oracle 10g 的 Oracle GoldenGate 10.4.0.x 版 (8 MB)。要下载 32 位 Windows 版本,您必须使用 Oracle E-Delivery 网站。(请注意,E-Delivery 下载有一个为期 30 天的试用产品许可,而非 OTN 开发人员许可。)登录此网站后,搜索适用于 Microsoft Windows(32 位)平台的“Oracle Fusion Middleware Product Pack”(因为 Oracle GoldenGate 被视作一个 Oracle 融合中间件产品,而非 Oracle Database 产品),然后单击 Go 。 此时会出现介质包列表。在此列表中,先选择 Oracle GoldenGate on Oracle Media Pack for Microsoft Windows (32-bit) 。此介质包中包含:适用于 Windows 2000、XP 和 2003 上的 Oracle 10g 的 Oracle GoldenGate 10.4.0.x 版V18162-01大小:8.4 MB 适用于 Windows 2000、XP 和 2003 上的 Oracle 11g 的 Oracle GoldenGate 10.4.0.x 版V18164-01大小:8.4 MB Oracle GoldenGate 文档V18423-01大小:20 MB 下载这三个 zip 文件,因为您需要适用于 Oracle 10g 和 Oracle 11g 的 Oracle GoldenGate。 然后,返回到 Oracle 融合中间件的介质包列表,从中选择 Management Pack for Oracle GoldenGate (v2.0.0.2) Media Pack for Microsoft Windows 。 该管理包介质包中包含:适用于 Windows 的 Oracle GoldenGate Director V2.0.0.x Server V18127-01大小:228 MB 适用于 Windows 的 Oracle GoldenGate Director V2.0.0.x ClientV18128-01大小:55 MB Oracle GoldenGate Director 文档V18129-01大小:952 KB如果您想安装管理包,下载所有这些文件。该管理包是一个安装您 Windows 服务器上的独立产品,。该产品原名为 Oracle GoldenGate Director,它包含一个多层的客户端-服务器应用程序,使组织可以轻松监视和管理其 Oracle GoldenGate 部署。 使用 Oracle GoldenGate Director 的 GUI 界面,可以集中设计和配置 Oracle GoldenGate,还可以管理和监视为了在公司各服务器间复制数据而建立的各种 Oracle GoldenGate 进程。介质包的主列表中还有其他一些介质包,如 Oracle GoldenGate Veridata Media Pack for Microsoft Windows。 Oracle GoldenGate Veridata 软件作为服务器进行安装,在不同平台上具有代理,它负责将一组数据与另一组数据进行对比以识别不同步的数据,对比时无需停机。此对比可全天候进行,可与大流量的复制同时进行。还可在不同平台间进行数据对比。 除了上述主要介质包外,列表中还显示了其他 Oracle GoldenGate 包。这些软件包适用于非 Oracle 数据库,如 Sybase、SQL Server、IBM DB2、Teradata,还有 JMS 和平面文件,这反映了 Oracle GoldenGate 支持异构的性质。 安装步骤 您下载的 Oracle GoldenGate 文档 zip 文件 (V18423-01.zip) 中包含 Oracle GoldenGate Oracle Installation and Setup Guide Version 10.4 (gg_ora_inst_v104.pdf),其中描述了适用于 Linux、UNIX 和 Windows 上的 Oracle 数据库的 Oracle GoldenGate 的安装步骤。 注意,还有其他一些安装文档,它们针对适用于 Sybase、SQL Server、DB2、MySQL、Teradata 等的 Oracle GoldenGate。首先,将 Oracle GoldenGate for Oracle 10g (V18162-01.zip) 解压缩到一个新的 Oracle GoldenGate 软件目录中,目录名中不含任何空格。例如,您可以使用 C:OGG10G 作为 Oracle GoldenGate 目录。此目录中的软件代码将用于建立第一个和第二个 Oracle 10g 数据库之间的复制。 由于您的第三个数据库是 Oracle Database 11g 版 ,您还需要解压缩 Oracle GoldenGate for Oracle 11g (V18164-01.zip)。对于此版本的 Oracle GoldenGate,您需要使用一个单独的目录,C:OGG11G。此目录中的软件代码将用于控制到第三个 Oracle Database 11g 数据库的复制。如果您有 Oracle9i 数据库并且想从其复制数据或向其复制数据,需要另一个适用于 Oracle9i 的 Oracle GoldenGate 软件。不过,您不能通过 Oracle 网站下载 Oracle GoldenGate 的 Oracle9i 版本。如果您需要此版本,可能需要通过 My Oracle Support 发出一个系统请求 (SR)。在命令提示符处输入以下命令: mkdir C:OGG10Gcd C:OGG10Gunzip c:V18162-01.zipmkdir C:OGG11Gcd C:OGG11Gunzip C:V18164-01.zip# start the 10g databases if not already startednet start OracleServiceHRPRD2net start OracleServiceHRPRD3# start the 11g database if not already startednet start OracleServiceHRPRD1 设置环境变量现在,您可以打开两个命令窗口(开始.运行.Cmd) ,针对 Oracle Database 10g 和 Oracle Database 11g 将相应的环境变量(如 ORACLE_HOME、ORACLE_SID、LD_LIBRARY_PATH 等)设置为相应的值。为了在两个 Oracle 10g 数据库间建立复制,将这些变量进行如下设置: set ORACLE_HOME=C:Oracleproduct10.2.0db_1set ORACLE_SID=HRPRD2set PATH=%ORACLE_HOME%bin;%PATH%set LD_LIBRARY_PATH=C:OGG10G; %ORACLE_HOME%LIB; %ORACLE_HOME%jdbclibset CLASSPATH=;C:Program FilesJavajre6libextQTJava.zip;%ORACLE_HOME%jdbclib ORACLE_SID 可设置为 HRPRD2 或 HRPRD3,两者都是 Oracle 10g 数据库。请注意 PATH、LD_LIBRARY_PATH 和 CLASSPATH 的值。另一种方法是用系统变量进行这些设置,为此您可以在 Windows XP Professional 中使用:我的电脑.属性.高级.环境变量.系统变量。在这里添加新的系统变量并按如上所述更改路径。 在此例中,在一台服务器上运行两个数据库版本的缺点是,每次启动 Oracle GoldenGate for Oracle 10g 或 Oracle GoldenGate for Oracle 11g 的 Manager 服务时,都必须更改系统变量。您可能要添加与 Oracle Database 11g 有关的系统变量,然后启动 Oracle GoldenGate for Oracle 11g Manager 服务。这之后,您可能要更改这些系统变量,使其适合于 Oracle Database 10g ,然后启动 Oracle GoldenGate for Oracle 10g Manager 服务。由于这是一个测试系统,这么做可能没有问题。但在生产环境下,您需要采取一种更自动化的方法(如采用脚本化的方法)在脚本中设置这些变量并启动 Manager 服务。GGSCI 命令解释程序 在命令窗口或“我的电脑”级别设置环境变量之后,转到 Oracle GoldenGate 的文件夹下,通过命令行(见图 1)或 Windows 资源管理器运行 Oracle GoldenGate Command Interpreter for Oracle (GGSCI) 程序。图 1 Oracle GoldenGate Command Interpreter 现在,您可在 GGSCI 中执行 CREATE SUBDIRS 命令来创建 Oracle GoldenGate 的工作子目录。参见图 2,其中列出了所创建的重要目录。图 2 创建工作子目录 将 Oracle GoldenGate Manager 作为本地程序运行您可以将 Oracle GoldenGate Manager 当作一个本地程序在命令窗口中运行,也可以将它作为一个 Windows 服务安装以便在 Windows 启动时自动启动。我们建议使用后面这种方法。 如果您希望将其作为一个本地命令运行,只需调用目录中的 Manager 执行文件(调用时带着一个参数文件)即可。命令语法为:C:OGG10GmgrUsage: MGR PARAMFILE REPORTFILE PID PORT USESUBDIRS NOUSESUBDIRS PAUSEATEND NOPAUSEATEND CD PARAMFILE 是必需的参数。因此,您必须在 GGSCI 中创建一个参数文件:GGSCI (HaviPori) 1 edit params mgr此命令将在 C:OGG10Gdirprm 目录中创建一个新的 mgr.prm 文件。在该文件中键入将用于运行 manager 进程的端口号,然后保存该文件。 PORT 7809默认端口号为 7809。无论您选择哪个端口号,请确保该端口号未被任何其他程序所使用并且没有任何防火墙限制。因为 PORT 是 Manager 唯一需要的参数,所以必须指定该参数。GGSCI 使用该端口将请求发送给 Manager 以启动进程,并且 Extract 进程也使用该端口进行各种操作。创建该参数文件之后,就可以在 Windows 命令提示符下启动 Manager 了,如下所示:C:OGG10Gmgr paramfile c:OGG10Gdirprmmgr.prm该命令启动 Manager,并且显示图 3 所示的消息:图 3 在 Windows 命令提示符处启动 Manager 必须保持此窗口为打开状态,以保持 Manager 运行。如果您注销,该窗口将关闭,Manager 将停止运行。将 Manager 作为 Windows 服务进行安装上文描述了手动启动 Manager 的方法,还有一种启动方法,那就是将 Manager 作为自动启动的 Windows 服务来安装。在 Windows 集群环境下必须使用后面这种方法,因为出现故障时只有服务可以自动切换到备用服务器上。在非集群系统中,将 Manager 作为服务来安装是可选的方法但也是强烈建议的方法。在 Windows 中作为服务创建 Manager 进程时,该服务的默认名称为 GGSMGR。您可以为此服务指定自定义的名称。如果您在同一台服务器上需要不止一个 Oracle GoldenGate Manager 服务,比如一个针对 Oracle GoldenGate for Oracle 10g 的服务和另一个针对 Oracle GoldenGate for Oracle 11g 的服务,则指定名称是很重要的。如果您打算运行 Oracle GoldenGate Veridata,还需要一个 Manager 服务。用以下方法为 Manager 服务指定一个不同的名称。在 GGSCI 命令提示符处执行以下命令:EDIT PARAMS ./GLOBALS在出现的记事本编辑器中,选择新建一个文件(如果是首次这么做),然后输入以下代码并保存该 GLOBALS 文件:MGRSERVNAME OracleGGSMGR1根据 Windows 上的 Oracle 服务一般带有 Oracle 前缀(如 OracleDBConsole、OracleJobScheduler 服务)的惯例,使用名称 OracleGGSMGR1。 通过 C:OGG10G 目录中的 Install 程序可轻松创建 Manager 服务。使用 install addservice 命令,如图 4 所示:图 4 创建 Manager 服务 新服务在 Windows 服务列表中显示为一个自动启动的服务(见图 5):图 5 Manager 服务属性Manager 服务以本地系统帐户运行,也可配置为以特定帐户(使用用户名和口令选项)运行,该用户名和口令可由 addservice 命令指定。现在可通过以下命令启动该服务:GGSCI (HaviPori) 1 start managerStarting Manager as service (OracleGGSMGR1).Service started. 安装 Windows 事件消息还可使用 Install 程序将事件消息安装到 Windows 注册表中,这样它们可通过 Windows Event Manager 显示。使用以下命令可完成此操作:C:OGG10Ginstall addeventsOracle GoldenGate messages installed successfully.Install program terminated normally. 还可将 category.dll 和 ggsmsg.dll 文件从 C:OGG10G 目录复制到 C:WINDOWSsystem32 目录,从而生成具体的而不是一般性的错误。建立复制 在 HRPRD2 上建立 Extract 进程Oracle GoldenGate Manager 进程已启动并运行。下一步要建立数据库之间的复制。 为此,您至少需要创建和配置一个 Extract 和 Replicat 组。在这些组中指定您想捕获和复制的数据。Extract 进程捕获发生的数据更改并将这些更改发送给目标服务器上的一个“线索”。在目标服务器上启动 Replicat 进程,该进程负责进行实际的复制,它从线索中获取数据更改,然后将这些更改应用到目标数据库中。您还需要为 Oracle GoldenGate Replication 准备数据库:在数据库级打开追加日志 功能。为此,在以 SYSDBA 身份登录到数据库后使用以下命令:SQL ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;Database altered.SQL alter system switch logfile;System altered现在可以添加 Extract 组了。 GGSCI (HaviPori) 1 ADD EXTRACT emp_ext, TRANLOG, BEGIN NOWEXTRACT added. 您在这里指定了 TRANLOG,这意味着事务(重做)日志成为数据源。BEGIN 后面可以是该日志中的一个时间戳以便从该时刻开始进行处理,也可以是 NOW 以便立即开始处理。TRANLOG 还可以带有 EXTSEQNO 选项(某个 Oracle 重做日志的序列号,从该日志开始)和 EXTRBA 选项(该日志中的相对字节地址)。 注意,Extract 组的名称只能有八位字符。如果进行以下指定,则可获得完全帮助。GGSCI (HaviPori) 1 help add extract接下来,我们要添加一个 RMTTRAIL 或 EXTTRAIL。前者用于远程计算机,如果您在同一台本地计算机上建立复制,则建议使用后者。我们将使用 EXTTRAIL,通过以下命令来创建它:GGSCI (HaviPori) 1 ADD EXTTRAIL C:OGG10Gdirdatet, EXTRACT emp_extEXTTRAIL added. EXTTRAIL 被指定为服务器上的一个物理子目录 最好在 dirdat 子目录下,dirdat 是为 Oracle GoldenGate 复制而创建的工作目录之一。 指定的文件名只能是两位字符,因为在创建实际文件时,会在这两个指定的字符后追加一个数字后缀以产生实际文件名。例如,当 EXTRACT 进程启动并且发生数据更改时,会创建一个 C:OGG10Gdirdatet000001 文件作为提取文件。RMTTRAIL 的命令语法与之相同,如果您要使用 RMTTRAIL,只需用 RMTTRAIL 代替 EXTTRAIL。主要差别体现在 extract 的参数文件中 下一步将创建此参数文件。使用 RMTTRAIL 时,该参数文件将有更多参数用于描述远程主机和远程管理器端口号。现在,我们来为 Extract 组 emp_ext 创建参数文件,如下所示:GGSCI (HaviPori) 1 EDIT PARAM emp_ext在此文件中,键入以下代码行:EXTRACT emp_extUSERID systemlocalhost:1521/HRPRD2, PASSWORD hrpassword1EXTTRAIL C:OGG10GdirdatetTABLE hr.employees;您指定了在这个 Extract 组中,对第一个 Oracle 10g 数据库(即 HRPRD2)中的表 HR.EMPLOYEES 进行提取。如果您使用了 RMTTRAIL,则只需按下列行进行更改:RMTHOST , MGRPORT RMTTRAIL C:dirdatrt 现在,可使用以下命令启动 extract:GGSCI (HaviPori) 1 START EXTRACT EMP_EXTSending START request to MANAGER (OracleGGSMGR1) .EXTRACT EMP_EXT starting 该进程的状态和有关信息如下所示:GGSCI (HaviPori) 2 STATUS EXTRACT EMP_EXTEXTRACT EMP_EXT: RUNNINGGGSCI (HaviPori) 3 INFO EXTRACT EMP_EXTEXTRACT EMP_EXT Last Started 2009-12-08 13:04 Status RUNNINGCheckpoint Lag 00:00:00 (updated 00:00:00 ago)Log Read Checkpoint Oracle Redo Logs 2009-12-08 13:05:58 Seqno 11, RBA 578560 还可查看有关该进程的详细信息:GGSCI (HaviPori) 4 INFO EXTRACT EMP_EXT detailEXTRACT EMP_EXT Last Started 2009-12-08 13:04 Status RUNNINGCheckpoint Lag 00:00:00 (updated 00:00:00 ago)Log Read Checkpoint Oracle Redo Logs 2009-12-08 13:07:19 Seqno 11, RBA 596992 Target Extract Trails: Remote Trail Name Seqno RBA Max MB C:OGG10Gdirprmet 0 923 10 Extract Source Begin End D:ORADATAHRPRD2REDO01.LOG 2009-12-08 12:59 2009-12-08 13:07 Not Available * Initialized * 2009-12-08 12:59Current directory C:OGG10GReport file C:OGG10GdirrptEMP_EXT.rptParameter file C:OGG10GdirprmEMP_EXT.prmCheckpoint file C:OGG10GdirchkEMP_EXT.cpeProcess file C:OGG10GdirpcsEMP_EXT.pceError log C:OGG10G ggserr.log 诊断 Extract只要有错误,extract 进程就会显示为 STOPPED 状态。这种情况下需要进行错误分析。 首先,查看报告文件 C:OGG10GdirrptEMP_EXT.rpt,上面的详细信息中提到了该报告。 然后,查看日志文件 ggserr.log 和 sqlnet.log 中是否有任何说明性的消息,这两个文件位于 C:OGG10G 主目录中。ggserr.log 文件包含事件信息,例如:2009-12-02 14:53:26 GGS INFO 301 Oracle GoldenGateManager for Oracle, mgr.prm: Command received from GGSCI on host 10.10.10.10 (START EXTRACT EMP_EXT ).2009-12-02 14:53:26 GGS INFO 302 Oracle GoldenGate Manager for Oracle, mgr.prm: EXTRACT EMP_EXT starting.也可通过以下方法查看这些事件:GGSCI (HaviPori) 1 VIEW GGSEVT.2009-12-02 15:09:34 GGS INFO 302 Oracle GoldenGate Manager for Oracle,mgr.prm: EXTRACT EMP_EXT starting.2009-12-02 15:13:26 GGS INFO 399 Oracle GoldenGate Command Interpreterfor Oracle: GGSCI command (HaviPoriH): EDIT PARAM emp_ext. sqlnet.log 可显示错误,例如:TNS-12557: TNS:protocol adapter not loadable这个特定错误指明存在数据库连接问题,您需要在监听器级进行分析。确保 Path 环境变量在最开始处包含了 Oracle Home bin 子目录。可能有其他的 TNS 错误,它们可能会指明其他解决方法。EMP_EXT.rpt 可显示如下所示的错误:2009-12-08 13:01:27 GGS ERROR 182 OCI Error beginning session (status = 28009-ORA-28009: connection as SYS should be as SYSDBA or SYSOPER).2009-12-08 13:01:27 GGS ERROR 190 PROCESS ABENDING. 这指明 Extract 进程正在尝试以 sys 而不是 SYSDBA 身份登录。只需在 Extract 的参数文件中将登录参数改为“system”即可。在这里我们应注意,在 Extract 参数文件中 login 行的末尾指定 SYSDBA 是不起作用的,尽管这么做对于 GGSCI 中的 DBLOGIN 命令(在下文中可看到此命令)确实会起作用。ggserr.log 文件可显示类似错误:2009-12-03 00:43:16 GGS INFO 399 Oracle GoldenGate Command Interpreter for Oracle: GGSCI command (HaviPoriH): start manager.2009-12-03 00:43:25 GGS ERROR 182 Oracle GoldenGate Manager for Oracle, mgr.prm: OCI Error during OCIServerAttach (status = 12154-ORA-12154: TNS:could not resolve the connect identifier specified).2009-12-03 00:43:25 GGS ERROR 190 Oracle GoldenGate Manager for Oracle, mgr.prm: PROCESS ABENDING. 这指明 Manager 的参数文件 mgr.prm 中所提供的登录凭证可能存在问题。其结果是 Manager 没有启动。您还可能在 Extract 的报告文件中看到另一个错误。例如,EMP_EXT.rpt 可能会有此类错误:2009-12-07 16:40:08 GGS ERROR 190 No minimum supplemental logging is enabled. This may cause extract process to handle key update incorrectly if key column is not in first row piece.2009-12-07 16:40:08 GGS ERROR 190 PROCESS ABENDING. 问题的解决方法显然是在数据库级启用追加日志功能。由于该功能已启用,在本例中将不会看到此错误。在 HRPRD3 上建立 Replicat 进程现在转到目标数据库 HRPRD3,在本例中该数据库位于同一服务器上。由于这也是一个 Oracle 10g 数据库,您可以使用同一 Oracle GoldenGate for Oracle 10g 安装软件(在 C:OGG10G 子目录中)和同一 Manager 服务。如果这个数据库位于另一台服务器上,您需要在该服务器上安装适用于该数据库版本的相应 Oracle GoldenGate 软件然后配置一个新的 Manager 服务。首先,使用 GGSCI 的 DBLOGIN 命令连接到该数据库,这样以后发出的其他命令将在此数据库上运行。注意,DBLOGIN 正常运行,如下所示: GGSCI (HaviPori) 1 DBLOGIN USERID systemlocalhost:1521/HRPRD3 PASSWORD hrpassword1Successfully logged into database. 在 GGSCI help 中可以看到还有两个参数:SOURCEDB 和 TARGETDB。这两个参数只用于非 Oracle 数据库。 现在,需要为要复制的 employees 表添加一个检查点表:GGSCI (HaviPori) 2 ADD CHECKPOINTTABLE HR.EMPLOYEES_CHKPTSuccessfully created checkpoint table HR.EMPLOYEES_CHKPT. 此表中保存的检查点指示 Replicat 进程的当前读写位置。这用于在进程需要重启时或者在服务器出现任何故障或网络停顿时防止数据丢失。如果没有这一机制,将导致数据丢失。另一个好处是,通过使用检查点,多个 Extract 或 Replicat 进程可通过相同的一组线索进行读取。对于以批处理模式运行的 Extract 和 Replicat 进程,检查点不是必需的,因为这样的进程总是可以重启。然而,在 Extract 和 Replicat 进程连续工作的情况下,检查点是必需的。检查点通常保存在 dirchk 子目录的文件中,但是对于 Replicat,可以选择在数据库的检查点表中保存检查点。 如果您在 GLOBALS 参数文件中指定检查点表,则上面的命令可使用该文件中的规定。这种情况下,只需这样来使用该命令:GGSCI (HaviPori) 3 ADD CHECKPOINTTABLENo checkpoint table specified, using GLOBALS specification (hr.employees_chkpt).Successfully created checkpoint table HR.EMPLOYEES_CHKPT. 现在可以添加 Replicat 组了, 具体如下所示,其中指定的 EXTTRAIL 正是在第一个数据库中建立 Extract 组时所使用的 EXTTRAIL。这样,该 Replicat 组将以 Extract 组创建的线索为数据源,即使用相同的线索:GGSCI (HaviPori) 4 ADD REPLICAT emp_rep, EXTTRAIL C:OGG10Gdirdatet, CHECKPOINTTABLE hr.employees_chkpt, REPLICAT added. 编辑此 Replicat 组的参数文件,具体如下:GGSCI (HaviPori) 5 EDIT PARAM emp_rep在新文件中输入以下内容:REPLICAT emp_repUSERID systemlocalhost:1521/HRPRD3, PASSWORD hrpassword1ASSUMETARGETDEFSMAP hr.employees, TARGET hr.employees; 由于各表具有完全相同的 DDL 结构,您使用 ASSUMETARGETDEFS 参数。现在可以启动 Replicat 组:GGSCI (HaviPori) 6 start REPLICAT emp_repSending START request to MANAGER (GGSMGR) .REPLICAT EMP_REP starting稍候片刻再查看其状态,如果立即查看,其状态可能显示为“stopped”。看到状态为 “running”后,查看详细信息,执行 info all 命令显示所有正在运行的进程: GGSCI (HaviPori) 7 status REPLICAT emp_repREPLICAT EMP_REP: STOPPEDGGSCI (HaviPori) 8 status REPLICAT emp_repREPLICAT EMP_REP: RUNNINGGGSCI (HaviPori) 11 info REPLICAT emp_rep detailREPLICAT EMP_REP Last Started 2009-12-08 13:35 Status RUNNINGCheckpoint Lag 00:00:00 (updated 00:00:01 ago)Log Read Checkpoint File C:OGG10Gdirdatet000001 2009-12-08 13:33:24.000000 RBA 985 Extract Source Begin End C:OGG10Gdirdatet000001 2009-12-08 13:33 2009-12-08 13:33 C:OGG10Gdirdatet000000 * Initialized * 2009-12-08 13:33Current directory C:OGG10GReport file C:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论