Oracle GoldenGate 常见问题解答
获取有关 Oracle GoldenGate AI 实施的常见问题解答。
Oracle GoldenGate 为何对企业 AI 至关重要?
Oracle GoldenGate 对于企业 AI 至关重要,因为 AI 依赖于当前可信的业务数据。在处理过时的批处理快照或操作数据的不完整副本时,模型、RAG 系统和 AI 代理无法可靠地推理或执行操作。GoldenGate 可即时流式传输业务事件,让 AI 系统能够访问全新的运营现实,同时保持治理、一致性和可审计性。
Oracle GoldenGate 如何支持 RAG 和 AI 代理?
Oracle GoldenGate 可持续向向量数据库、RAG 管道、AI 知识库、数据湖仓和事件驱动系统提供运营数据,为 RAG 和 AI 代理提供支持。通过使用 GoldenGate AI 功能,更改的记录可以作为管道的一部分进行扩充、嵌入、汇总、分类或路由,因此 AI 系统可以根据当前业务环境而不是过时的快照进行操作。
GoldenGate 如何支持向量数据?
它可以复制现有向量,将向量移动到 Oracle AI Database,流向量更改,并在复制期间生成嵌入。
什么情况下应使用 @AISERVICE?
当嵌入或扩充应在外部 AI 服务(例如托管端点或 GPU 支持的端点)中运行时,请使用 @AISERVICE。请参见 External AI Embedding with @AISERVICE
什么情况下应使用 @DBFUNCTION?
在应用处理过程中,嵌入逻辑应在目标数据库中执行时,请使用 @DBFUNCTION。请参见 Native Database Embedding with @DBFUNCTION
应如何处理历史向量负载?
对历史数据使用批量实例化或数据库本机加载,然后让 GoldenGate 处理增量更改。
Oracle GoldenGate 的主要用例有哪些?
Oracle GoldenGate 用于关键任务高可用性和灾难恢复、零停机迁移、实时分析、湖仓一体摄取、事件驱动架构、AI 和 RAG 管道、数据结构架构以及混合云和多云环境中的受监管数据同步。
Oracle GoldenGate 是否支持 Oracle E-Business Suite (EBS) 数据库迁移,并且 EBS 的 Oracle 认证信息是否仍然有效?
Oracle EBS 未对任何用于迁移的逻辑复制产品进行认证,而是专注于传统的数据库方法(导入/导出、Oracle 数据泵)。
虽然可以使用 GoldenGate 来替换这些传统数据库方法所做的一些工作,以减少与迁移关联的整体停机时间,但不能在所有对象上使用它。
GoldenGate 不支持或与临时工作相关的对象应在停机时段内使用传统方法进行迁移。
带有 EFS 的 GoldenGate AWS 参考架构是否支持跨区域 DR 场景?
查看 AWS 博客 High Availability for Oracle GoldenGate Microservices Architecture in AWS ,该博客介绍了区域内高可用性设计。
在该上下文:
- EFS 复制特性在区域中接近实时,并且
- 该体系结构专为本地故障转移方案而设计
对于跨区域 DR 场景,行为差异很大:
- EFS 复制是异步的(具有更高的 RPO,例如分钟),这可能会导致在故障转移后丢失线索文件
- 跨区域的数据库推广可能会引入 RESETLOGS/新的化身边界
由于这些因素,AWS 博客中概述的区域内设计模式不会直接扩展到跨区域 DR,而无需额外考虑。
建议:
对于跨区域体系结构,请使用活动数据移动(例如 GoldenGate 分发路径),而不是依赖对线索文件的异步复制共享存储。
GoldenGate 支持哪些 Oracle Database 版本?
- GoldenGate 19c 和 21c 支持从 11.2.0.4 到 21c 的 Oracle 数据库
- GoldenGate 26ai 支持从 19c 到 26ai+ 的 Oracle 数据库
有关更多信息,请参见 https://www.oracle.com/integration/goldengate/certifications/ 。
GoldenGate 配置和使用场景有哪些不同类型?
- 单向:数据从源流向目标流。
- 双向:数据在源和目标之间同时流动。
- 多向:多个源和目标之间的数据流。
- 实时数据仓库:使用实时事务处理数据保持数据仓库最新。
- 灾难恢复:维护用于故障转移的数据库的同步副本。
- 零停机迁移:将数据库迁移至新平台或版本,尽可能减少中断。
- 应用程序集成:实时在不同应用程序之间共享数据。
- 级联:更改首先复制到中间 GoldenGate 实例(或多个实例),然后将更改传播到下游,而不是直接从源到目标的复制。
- 分发:称为一对多拓扑,是一种用于实时跨多个数据库、云环境和消息队列移动数据的架构和设计模式。
- 合并:它允许企业将多个来源的数据集中到一个存储库中,也称为 ODS(Operation Data Store),这是一个实时集成的数据库,整合来自多个事务系统的数据,以支持运营报告和决策。
- 实时消息流处理:GoldenGate 允许用户向 OCI Streaming、Apache Kafka、Confluent 和其他 GoldenGate 认证的基于 Kafka 的消息流处理平台发布消息。
- 实时数据湖:以各种格式实时复制到云存储服务(OCI Object Storage、ADLS、Amazon S3、Google Cloud Storage),包括 JSON、ORC、Parquet 等。
- 零停机时间 MongoDB 迁移:GoldenGate 支持从 MongoDB 到 Oracle AI Database 的零停机迁移,让客户无需任何业务中断即可运行迁移。
- Cloud Warehouse Ingestions:GoldenGate 支持用户将大量数据馈送至云原生数据仓库和湖仓一体服务,例如 Autonomous Database、Snowflake、Databricks 等。
- 使用 AsyncAPI 标准的数据流:GoldenGate 支持开发人员轻松订阅 GoldenGate 数据流,通过接收格式化为 JSON 的应用,将应用与 GoldenGate 直接集成。
GoldenGate 的主要组件有哪些?
- 线索文件:存储捕获的更改的文件。
- 提取:从源数据库重做/事务处理日志捕获更改并写入线索文件。
- 分发路径:从线索文件和进一步进程读取到复制读取并应用于数据库或目标 BigData 的目标系统。
- Replicat:将捕获的更改应用于目标数据库。
什么是 Oracle GoldenGate 及其主要用例?
Oracle GoldenGate 是一个数据集成和复制解决方案,可实时捕获、转换和交付多个异构系统的事务性更改。
Oracle GoldenGate 的主要用例如下:
- 零停机和回滚场景的数据库迁移
- 实时分析和报告
- 灾难恢复和高可用性
- 主动/主动多主区域/数据中心
- 跨内部部署和云平台的数据集成
- 实时消息流处理
- 实时数据湖仓
- 零停机 MongoDB 迁移
- 云仓库摄取
- 采用 AsyncAPI 标准的数据流
Oracle GoldenGate 支持哪些数据库和平台?
Oracle GoldenGate 支持各种数据库和目标,包括:
- Oracle AI 数据库
- MySQL
- PostgreSQL
- SQL Server
- Db2 LUW、Db2 z/OS、Db2 for i
- Amazon RDS、Aurora、Google GCP、Azure Database
- 大数据平台,如 Kafka 和 Hadoop
- 雪花
- Apache Iceberg
- 各种格式,如 JSON、Parquet、Avro、分隔文本等。
- NoSQL 数据存储,例如 MongoDB、Cassandra 等。
- 消息流平台,如 Apache Kafka、Azure Event Hubs、Confluent 等。
Oracle GoldenGate 可从 OCI 中运行的 Oracle Fusion SaaS 和 OTM SaaS 应用中捕获数据。
Oracle GoldenGate 无法从 Salesforce.com/SFDC 捕获。
Oracle GoldenGate 可以将更改复制到 Teradata 和 TimesTen 中,但无法从两者中捕获。
建议查看 GoldenGate 认证度量以获得特定的数据库和目标支持。有关更多信息,请参见 https://www.oracle.com/integration/goldengate/certifications/ 。
Oracle GoldenGate 经典架构与微服务架构之间有何区别?
- 经典架构:使用 GGSCI 进行管理的较旧单体模型。在 26ai 中取消支持。
- 微服务架构 (Microservices Architecture,MA):基于 REST 的现代模块化设计,包含单个服务(例如服务管理器、管理服务)。MA 提供更高的可扩展性、安全性和易用性。
有关 MA 的更多信息,请参阅 Oracle GoldenGate Microservices Architecture 。
Oracle GoldenGate 与其他复制工具相比如何?
Oracle GoldenGate 非常适合进行数据集成、数据库复制、数据移动、数据库迁移和实时数据摄取,原因如下:
-
它支持数百个源和目标的粗体文本 (https://www.oracle.com/integration/goldengate/certifications/)
- 它在许多不同的渠道都有一个令人难以置信的支持社区,包括
-
GoldenGate 在数据库复制方面被视为黄金标准。所有竞争对手都力求更像 GoldenGate,并支持它支持的许多功能。
-
GoldenGate 具有许多独特的优势,包括能够创建其线索文件的订阅。有关 OCI GoldenGate 中完全托管服务的详细信息,请参阅关于数据流、活动 - 活动复制和流分析。该服务在 OCI、Google Cloud 和 Azure 超大规模中提供。
-
GoldenGate 与其复制的数据库一样至关重要,并且有许多拓扑可用于为 GoldenGate 本身提供灾难恢复和高可用性,包括通过数据库灾难恢复解决方案实现完全自动化。https://docs.oracle.com/en/database/oracle/oracle-database/26/haovw/maa-platinum-and-oracle-goldengate-best-practices.html
- GoldenGate 为最佳的其他原因可以在此处找到:https://www.oracle.com/a/ocom/docs/techpaper-goldengate-advantages.pdf 。
在数据库 XYZ 上安装 Oracle GoldenGate 的先决条件有哪些?
平台和兼容性
- 支持的 GoldenGate 微服务版本
- 支持的数据库版本(源和目标)
- 支持的操作系统(建议使用 Linux)
- 64 位操作系统和数据库
部署模型
- 定义的部署类型(单节点或多节点)
- 部署目标(VM、裸金属或 Kubernetes)
- 计划的所有微服务组件(管理、分发、接收器等)
数据库配置
- 数据库处于 ARCHIVELOG / 事务处理日志记录模式
- 已启用补充事件记录
- 具有所需权限的 GoldenGate 数据库用户
- 足够的重做/事务处理日志保留
- 表中的主键或唯一标识符
基础设施和系统资源
- 足够的 CPU 和内存用于提取、复制和服务
- 足够的磁盘空间用于线索文件、检查点和日志
- 线索文件存储的高 I/O 性能
存储
- 用于部署、线索和日志的专用文件系统
- 需要高可用性时共享存储(例如 ACFS 或云文件存储)
- 线索文件清理和保留策略
网络和端口
- 系统之间的可靠网络连接
- 为管理服务器、分发和接收器打开的必需端口
- 正确的主机名解析(DNS 或 hosts 文件)
- 实现实时复制的低延迟
操作系统和用户设置
- 专用操作系统用户(例如 ogg)
- 更正所有目录的权限
- 已配置必需的环境变量
- 配置的操作系统限制(文件/进程的限制)
数据库连接
- 已配置连接字符串/TNS/端点
- 连接测试成功
特定于微服务的要求
- 通过 Service Manager 管理部署
- 已配置身份证明存储
- HTTPS 配置(建议)
- 可选的反向代理或负载平衡器
- 管理 UI 的浏览器访问权限
安全性
- 安全身份证明存储
- TLS/SSL 配置(如果需要)
- 与服务端口对齐的防火墙规则
- 用于管理的基于角色的访问权限
高可用性(可选)
- 多节点部署设计
- 共享或复制的配置
- 服务的负载平衡器
- 定义的故障转移策略
积极战备
- 时间同步 (NTP)
- 监视和预警设置
- 日志管理方法
- 启用复制之前备份
- 工作负载的容量规划
有关为 Oracle GoldenGate 准备数据库的详细信息,请参阅准备数据库。
安全和非安全部署之间有何差异?
- 安全部署:使用 TLS/SSL 进行加密通信,使用 OAuth 进行验证并确保端到端安全性。有关安全部署的更多信息,请参阅安全部署。
- 非安全部署:依赖于纯文本 HTTP/未加密通信。仅推荐用于内部/测试环境。
如何使用 OGGCA 配置 Oracle GoldenGate 微服务?
- 运行 oggca.sh (Linux) 或 oggca.bat (Windows)。
- 配置 Service Manager 和部署,根据需要指定端口、路径和证书。
- oggca.sh 也可以通过提供响应文件在无提示模式下运行。
有关更多信息,请参见 Add a Deployment 和 Add a Deployment in Silent Mode using OGGCA 。
优化 Oracle GoldenGate 性能的优秀实践有哪些?
对于现代 Oracle GoldenGate 部署,推荐的方法是将 Integrated Extract 与 Parallel Replicat 一起使用,因为 Parallel Replicat 现在是高性能目标应用操作的策略和首选复制方法。
集成复制正在逐步淘汰,取而代之的是并行复制,因为 Parallel Replicat 为大容量企业工作负载提供了更好的可扩展性、更高的事务处理应用性能和更高效的并行处理。
优化良好的 GoldenGate 体系结构应通过使用本地和远程线索文件来分离捕获、传输和应用阶段,从而提高弹性并将复制与网络中断隔离。性能在很大程度上还取决于底层基础设施,包括快速存储、适当大小的数据库内存、高效的重做日志配置和稳定的网络连接。
持续监视提取滞后、复制滞后、吞吐量和检查点活动对于在瓶颈影响复制延迟之前主动识别瓶颈至关重要。
一般来说,通过将可扩展的架构设计、适当的工作负载分配、数据库调优和精心管理的并行性相结合,可以实现卓越的 GoldenGate 性能,从而使组织即使在大型事务负载下也能保持低延迟和可靠的复制。
如何监视滞后并排除性能问题?
- 使用 MA 中的“Performance Metrics Service(性能度量服务)”。
- 在管理客户端和 REST API 中使用滞后和状态命令
- 检查网络延迟或磁盘 I/O 等瓶颈。
- 启用脉动表
- 用户 GoldenGate OEM 插件
- 使用 StatsD 导出度量
- 在 WebUI 中查看当前状态
可以使用哪些工具或命令来监视 Oracle GoldenGate 进程?
在 Oracle GoldenGate 微服务架构中,监视主要通过基于 Web 的管理服务、REST API 和性能度量服务来执行,而不是像 GGSCI 这样的传统架构工具。管理服务提供集中式仪表盘,允许管理员实时监视提取、分发、接收方和并行复制进程的运行状况和状态。通过 Web 界面,用户可以在整个部署中跟踪复制滞后、检查点进度、吞吐率、路径状态和进程性能。REST API 还提供对监视数据的编程访问,支持与自动化框架和企业观测平台集成。
微服务体系结构中的一个关键监视组件是性能度量服务 (Performance Metrics Service,PMSRVR),它收集并公开复制进程和分发路径的操作度量。这些指标可与 Oracle Enterprise Manager、OCI Monitoring、Prometheus 和 Grafana 等监视解决方案集成,以提供集中式仪表盘、警报和长期性能分析。管理员还依赖通过“服务管理器”和“管理服务”界面提供的部署日志、报告文件和诊断信息来排除错误、监视进程行为以及调查延迟问题。
对于 OCI GoldenGate 部署,可通过 OCI 控制台、OCI 日志记录、OCI 监视和 OCI 预警获得更多监视功能,从而提供云原生部署健康状况、扩展行为、复制滞后和运营事件可见性。总体而言,GoldenGate 微服务架构中的监视侧重于集中观测、API 驱动的管理以及与企业监视平台的集成,以提供对复制性能和系统运行状况的实时洞察。
用户可以通过访问 StatsD 导出和 API 调用来创建自己的仪表盘和监视应用。
什么是线索文件,Oracle GoldenGate 如何在复制中使用这些文件?
线索文件以平台无关的格式存储提取流程捕获的数据更改。
-
它们充当提取和复制进程之间的中介。
-
允许重放捕获的更改,从而提供容错能力。
-
它将提取和复制组件解除耦合,以允许更灵活地使用 GoldenGate 体系结构,例如 1 到许多数据分发以及级联复制。此外,它还使跨平台复制更高效。
-
它采用专有的二进制格式,可由 Logdump 实用程序进行解释,这在故障排除会话期间通常需要。有关详细信息,请参见《 Logdump Reference 》指南。
-
对于希望直接使用 GoldenGate 线索文件中的数据的用户,最佳选择是使用 GoldenGate 数据流,这将允许用户订阅到由 GoldenGate 数据流维护的通道,方法是读取 GoldenGate 线索文件并将线索文件中的每条记录作为事件放入该通道。
建议的最佳复制类型是什么?
Parallel Non-Integrated Replicat 从并行复制开始:对于大多数用例,特别是涉及大容量事务工作负载的用例,Parallel Non-Integrated Replicat 提供了最佳的性能和灵活性。
GoldenGate 分布式应用和分析支持经典和协调复制。
对于 GoldenGate 分布式应用程序和分析,根据目标,协调复制将提供更好的性能。
如何为安全数据复制设置 TLS/SSL?
-
Oracle GoldenGate 支持在 GoldenGate 部署之间的数据存储连接和分发路径中使用 TLS/SSL 加密。
-
对于使用 TLS/SSL 的分发路径,证书通过 Service Manager 的 RestAPI Endpoint 进行管理。还可以通过 Service Manager 的 WebUI 执行证书管理任务。
-
可以在分发服务或接收器服务(目标启动的路径)下创建分发路径。
-
使用 ENCRYPTION 指令更新参数文件。
-
要使用 TLS/SSL 保护分发路径,必须将部署设置为“不安全的部署 + NGINX”或“安全的部署”。有关更多信息,请参见 Secure Data in Transit 和 How to Convert Non Secure Deployment Into Secure Deployment with SSL/TLS 。
- 使用 NGINX 时,TLS 终止于 NGINX。只有 NGINX 监听端口需要暴露于传入流量。
- 使用安全部署时,所有 GoldenGate 服务监听端口都需要暴露在传入流量中。TLS 终止于服务端口。
加密线索文件的选项有哪些?
- Oracle GoldenGate 当前支持以下三种加密方法:与在 HP NSK 上运行的 Oracle GoldenGate 通信时,还支持 ENCKEYS 方法。但是,如果不涉及 HP NSK 构建,则强烈不建议这样做。以上所有方法都支持 AES 加密算法。
- 使用 Wallet 中的主加密密钥
- 适用于内部部署 Vault 的 Oracle OKV
- 用于 Vault 服务的 OCI KMS
- 通过 ENCRYPTTRAIL 参数配置加密。
有关保护数据的更多信息,请参阅 Oracle GoldenGate Microservices 文档中的静态数据安全。
如何将 Oracle GoldenGate 与外部身份提供者(例如 IAM、OAM)集成以进行 GoldenGate 自己的验证?
-
Oracle GoldenGate 微服务体系结构支持与外部身份提供者(例如 Oracle Identity and Access Management (IAM)、Oracle Access Manager (OAM) 和 Azure Entra ID)集成,为 GoldenGate 管理和监视服务提供集中身份验证、单点登录 (SSO) 和基于角色的访问控制。在需要集中身份治理、安全合规性和联合身份验证的企业和云环境中,此集成尤为重要。
-
在 GoldenGate 微服务体系结构中,身份验证通过服务管理器和管理服务进行管理,该服务支持使用标准(例如 OAuth 2.0、OpenID Connect (OIDC)、SAML 和基于 LDAP 的身份验证)与企业身份提供程序集成,具体取决于部署模型和提供程序功能。对于 OCI GoldenGate 部署,集成通常通过 Oracle Cloud Infrastructure Identity and Access Management (OCI IAM) 执行,允许管理员使用集中式 OCI 用户、组、策略和联盟服务来安全访问 GoldenGate 部署和 REST API。
-
与 Oracle Access Manager (OAM) 或企业 SSO 解决方案集成时,GoldenGate 通常配置在反向代理或 Web 网关后面,用于处理验证和令牌验证。成功验证后,用户身份和授权信息将转发到 GoldenGate 服务。此方法支持集中登录策略、MFA 实施、会话管理和公司身份联合,而无需单独的 GoldenGate 专用凭证。
-
对于 Azure Entra ID 集成,GoldenGate 可以使用 Entra ID 提供的外部目录服务进行用户验证和角色映射,使组织能够通过现有企业用户组和安全策略管理访问。然后,可以应用基于角色的访问控制来控制 GoldenGate 环境中的管理、部署管理、监视和 API 访问权限。
-
GoldenGate REST API 还可以使用企业身份验证机制进行保护,从而允许外部自动化平台、CI/CD 管道和监视工具使用集中身份令牌(而非本地服务账户)进行身份验证。在云原生和混合部署中,此集成可提高企业平台的安全一致性,同时简化用户生命周期管理和审计合规性。
-
总体而言,通过将 Oracle GoldenGate 与外部身份提供商集成,可以实现集中身份验证、SSO、联合身份管理和企业级安全控制,使 GoldenGate 部署在大规模企业和 OCI 环境中更易于保护和管理。
-
即使采用 OIDC 和 OAuth 2.0 标准,每个 ID 提供方在令牌请求的端点上的实施也略有不同。GoldenGate 将需要为此类 ID 提供商创建与 GoldenGate 集成的特定配置文件。因此,如果您的 ID 提供商不在支持的列表中,则可以提出增强请求。
如何使用 Oracle GoldenGate 零停机地迁移数据库?
Oracle GoldenGate 可持续将事务性更改从源数据库复制到目标数据库,同时两个系统保持联机状态,从而实现近乎零停机的数据库迁移。GoldenGate 不需要为导出、导入和切换活动设置长时间中断窗口,而是允许组织实时同步数据,以便在应用中断最少的情况下完成最终迁移切换。
在典型的零停机迁移体系结构中,GoldenGate 使用集成提取从源数据库捕获更改并将其写入线索文件。然后,这些更改将通过分发服务传输,并使用并行复制应用到目标数据库。在通过备份/还原、数据泵、RMAN 复制或其他批量加载方法迁移初始数据加载时,GoldenGate 会持续复制正在进行的事务处理,以便在整个迁移过程中目标与源保持同步。
迁移工作流通常遵循以下几个阶段:
- 准备和环境设置
- 初始数据加载
- 连续更改复制
- 验证和同步
- 受控切换
在初始加载阶段,会将数据库的完整副本传输到目标环境。加载基线数据后,GoldenGate 将应用从源数据库捕获的所有正在进行的事务处理更改。这种连续复制可显著减少中断窗口,因为目标数据库在切换开始之前已接近同步。
数据验证是零停机迁移的关键部分。Oracle GoldenGate Veridata 通常用于在复制期间比较源数据库和目标数据库,以确保在生产环境切换之前的数据一致性。持续验证有助于尽早识别差异并降低迁移风险。
在切换时,应用程序活动会短暂暂停,允许复制剩余的事务处理,管理员将验证复制滞后是否达到零。确认同步后,应用程序将重定向到目标数据库,目标环境将成为新的生产系统。由于大多数数据移动发生在系统联机时,因此实际停机窗口通常仅限于最终同步和应用程序重定向过程。
GoldenGate 支持跨以下区域的零停机迁移:
- Oracle 到 Oracle 的迁移
- 跨版本升级
- 平台迁移
- 本地部署到 OCI 的迁移
- 异构数据库迁移
- 多云和混合云转换
在现代 GoldenGate 微服务架构和 OCI GoldenGate 部署中,通过集中式 Web 界面、REST API、自动化部署服务和集成监视功能,进一步简化迁移管理。Parallel Replicat、集成捕获和可扩展的分发服务可帮助您在迁移活动期间高效处理大型事务工作负载。
总体而言,Oracle GoldenGate 结合了持续实时复制、可扩展并行处理、持续验证和控制切换过程,可实现零停机迁移,帮助企业轻松迁移关键数据库,尽可能减少业务中断并降低运营风险。
配置双向复制的最佳做法有哪些?
使用 Oracle GoldenGate 配置双向复制的优秀实践包括:
- 定义清晰的主动 - 主动复制体系结构和数据所有权规则。
- 通过确保不会在两个系统上同时修改相同的数据,避免更新冲突。
- 适当配置冲突检测和解决 (CDR) 策略。
- 在所有复制的表上使用主键或唯一键。
- 确保源表和目标表具有相同的结构和兼容的数据类型。
- 从复制中排除不必要的表、临时对象和不受支持的操作。
- 使用循环预防机制可避免将复制的事务处理发送回源系统。
- 维护同步的数据库字符集、时区和方案定义。
- 持续监视复制滞后、进程运行状况和冲突事件。
- 定期测试故障转移、切换和恢复过程。
- 配置正确的检查点和线索管理。
- 为主动 - 主动流量分别分配工作负载和规模基础设施。
- 使用补充日志记录和正确的事务处理日志记录配置。
- 实施强大的监视、预警和审计实践。
- 使用 Oracle GoldenGate Veridata 等工具定期验证数据一致性。
- 仔细规划 DDL 复制和方案更改。
- 明确记录冲突处理规则和操作程序。
双向复制环境需要仔细规划,因为它们比单向复制更复杂,并且可能会带来如下挑战:
- 更新冲突
- 复制循环
- 数据分歧
- 延迟敏感度
- 操作复杂性。
当 Replicat 显示“停滞”事务时,这意味着什么,如何修复它?
当 Replicat 显示 "stuck" 事务时,通常意味着 Replicat 进程无法在目标数据库上应用一个或多个事务,复制进度将停止或延迟。
常见起因包括:
- 数据库锁定或阻止目标上的会话
- 记录缺失或冲突
- 违反约束
- 密钥错误重复
- 操作不受支持
- 长时间运行的事务处理
- 数据类型不匹配
- 网络或连接问题
- 系统资源不够
典型的故障排除步骤包括:
- 查看复制报告文件并放弃文件以发现错误
- 查看 GoldenGate 错误日志
- 标识导致堵塞的事务处理或表
- 验证目标数据库可用性和健康状况
- 检查锁定的对象或阻止会话
- 解决数据冲突或约束问题
- 确认线索文件可访问且完整
- 验证检查点进度
- 如有必要,在更正问题后重新启动复制
在某些情况下,管理员可能需要:
- 跳过有问题的事务处理,
- 重新定位复制,
- 或重新同步受影响的表
根据具体情况、严重程度和业务要求。
如何管理磁盘空间并清除微服务中的旧线索文件?
在 Oracle GoldenGate 微服务体系结构中,磁盘空间管理和线索文件清除对于防止存储耗尽并维护健康的复制环境非常重要。
线索文件通常使用自动清除策略进行管理,这些策略会在下游进程不再需要旧线索文件后将其删除。
常见做法包括:
- 配置自动线索文件清除
- 定期监视磁盘使用情况
- 将轨迹存储与操作系统存储分开
- 使用专用文件系统或卷
- 根据恢复要求设置保留策略
线索文件通常可以在以下情况下清除:
- 所有提取和复制进程都已处理它们
- 检查点已超越文件
- 文件不用于恢复或重新同步
在微服务中,线索管理通常通过以下方式进行:
- 管理服务器
- 分发服务
- 接收方服务
- 命令行管理工具
- 或 REST API
其他建议包括:
- 启用磁盘空间监视和警报
- 如果审计需要,则归档线索
- 将外部存储用于较长的保留期
- 定期查看清除策略和存储增长趋势
正确的线索管理有助于避免:
- 复制停止
- 磁盘完全条件
- 性能降级
- 和恢复并发症。
如何在微服务中配置自动启动和重新启动?
在 Oracle GoldenGate 微服务体系结构中,可以配置自动启动和自动重新启动,以便在故障或服务器重新启动后自动启动和恢复部署服务和复制进程。
这通常通过以下方式进行配置:
- 为提取和复制流程启用自动启动配置文件
- 启用具有重试间隔和重试计数的自动重新启动策略
- 配置服务管理器启动行为
- 将部署与操作系统服务或容器编排平台集成
自动重新启动设置有助于自动重新启动失败的进程而无需人工干预,从而确保高可用性。
常见配置选项包括:
- 启动延时
- 重做计数
- 重试时间间隔
- 依赖性排序
- 失败临界值
这些设置通常可以通过以下方式进行管理:
- GoldenGate 微服务 Web 界面
- REST API
- 或命令行管理工具
自动启动和重新启动通常用于:
- 生产 HA 环境
- 云技术部署
- 容器化环境
- 灾难恢复体系结构
- 无人看管的复制系统。
复制滞后的故障排除步骤有哪些?
Oracle GoldenGate 复制滞后的常见故障排除步骤包括:
- 使用 GoldenGate 监视命令或仪表盘检查滞后状态。
- 验证提取、泵或复制进程是否正常运行。
- 有关警告或故障,请查看 GoldenGate 报告文件和错误日志。
- 检查源数据库上是否存在长时间运行的事务处理。
- 监视源系统和目标系统之间的网络延迟和带宽。
- 验证是否正在正确生成和使用线索文件。
- 检查源服务器和目标服务器上的 CPU、内存、磁盘 I/O 和存储利用率。
- 确保检查点进展正常进行。
- 查看数据库性能问题,例如锁定、查询速度慢或资源争用。
- 验证归档日志或事务处理日志是否可用且不缺失。
- 检查事务处理量中是否有大型批处理操作或峰值。
- 根据需要使用并行处理或批处理来优化复制性能。
- 确认线索文件磁盘位置具有足够的空间。
- 验证提取、泵和复制流程的参数配置。
- 如果需要,请在解决根本原因后重新启动受影响的进程。
复制滞后分析通常侧重于确定瓶颈是否由以下因素引起:
- 源数据库活动,
- 网络延迟,
- GoldenGate 处理,
- 或目标数据库性能。
如何将 GoldenGate 用于分布式数据流和 JSON 关系二元性?
- Oracle Database 23ai JSON Relational Duality Views 支持开发人员轻松使用关系数据作为 JSON 文档模型。这结合了 JSON 文档与关系模型的优势,同时避免了每个文档的限制。Oracle JSON 关系二元性视图本质上是一个 SQL 视图,它以结构化的关系格式呈现 JSON 数据。
- 使用 Oracle JSON Relational Duality 和 GoldenGate Data Streams 复制业务对象可确定数据产品的优先级,并通过确保数据对象的唯一性成为应用程序、事务处理网状结构网络、数据/事件网状结构网络和数据网状结构网络的单一信息源。
- 您可以使用 Oracle LiveLabs 体验如何使用 JSON Relational Duality 配置 GoldenGate 数据流。
GoldenGate 中的数据转换有哪些高级选项?
- 在参数文件中使用列映射、筛选和转换函数。
- 将 SQLEXEC 集成到定制查询或过程中。
GoldenGate 是否可以在 z/OS 上运行以捕获对 zOS 的 Db2 的更改或将更改传送到 zOS?
- GoldenGate 不会在 z/OS 上直接运行 Extract/Replicat。相反,Extract/Replicat 将在 AIX/Linux/zLinux 等支持平台上远程运行,并连接到 Db2 z/OS 以进行远程捕获和远程交付。
- GoldenGate 确实需要将小软件包安装到 Db2 z/OS 以调用某些 API 以捕获来自 Db2 日志文件的更改。详细信息可在 Install Extract Components on Db2 z/OS 中找到。
如果仅针对 Db2 z/OS 运行 Replicat,则不需要此软件包。
GoldenGate for Db2 for i and Db2 LUW 是否具有微服务体系结构?
- 是的,从 GoldenGate 26ai 开始,GoldenGate 添加了微服务架构,并且只添加了这两个构建的微服务架构。
- 在 26ai 之前,只有经典体系结构可用于两个构建。
对于 LUW/Db2 z/OS 构建安装,GoldenGate 是否在 Db2 中为 i/Db2 提供任何 ODBC 驱动程序?
不可以,如果这些 ODBC 驱动程序尚未安装在要安装 GoldenGate 的服务器上,则最终用户必须使用自己与 IBM 签订的许可协议来安装相应的 ODBC 驱动程序。请参阅 IBM 的 ODBC 驱动程序用户指南,了解如何下载合适的 ODBC 驱动程序。
如何在 Docker 容器中运行 GoldenGate?
通过将 GoldenGate 软件部署为容器化服务,可以在 Docker 容器中运行 Oracle GoldenGate。Oracle 通过 Oracle 容器注册表 (OCR) 提供 GoldenGate 容器映像,使用户能够提取和部署预构建映像,从而加快设置和标准化环境的速度。
在容器中运行 GoldenGate 具有以下优点:
- 简化部署和升级
- 跨环境的可移植性
- 更易扩展
- 更好地与云原生平台集成
GoldenGate 微服务架构通常适用于容器部署,因为它专为现代分布式环境而设计,并且与 Docker 和 Kubernetes 编排平台协同工作。
容器化 GoldenGate 部署通常用于:
- 云技术环境
- CI/CD 管道
- Kubernetes 平台
- 混合云和多云架构
- 现代数据复制和流处理解决方案
持久性存储通常在外部进行配置,以保留容器生命周期之外的线索、检查点和配置数据。
什么是 OCI GoldenGate?
Oracle Cloud Infrastructure (OCI) GoldenGate 是一个完全托管的云原生数据架构平台,可支持企业级异构环境中的实时数据移动、集成和流处理。它可以捕获和交付事务处理数据更改,同时在数据库、数据仓库、分析平台、消息传递系统和云服务之间实现低延迟。
作为现代 Data Fabric 策略的核心组件,OCI GoldenGate 可帮助企业跨本地、混合和多云环境连接、同步和操作分布式数据。它支持各种用例,包括实时数据复制、零停机迁移、运营报告、事件驱动的架构、流分析、AI/ML 数据管道和数据同步。
OCI GoldenGate 还提供集成功能,可通过统一直观的用户体验来设计、编排、监视、转换、验证和比较数据管道。
OCI GoldenGate 在哪些区域可用?
请在此处查看部署 OCI GoldenGate 的当前区域 - https://www.oracle.com/cloud/data-regions/
在哪里可以找到 OCI GoldenGate 文档?
OCI GoldenGate 文档位于 https://docs.oracle.com/en/cloud/paas/goldengate-service/index.html
OCI GoldenGate 的主要用例有哪些?
OCI GoldenGate 的主要使用场景包括:
- 数据复制:迁移、CDC、脱机报告、实时数据仓库、与非 Oracle 源和目标的集成以及大数据摄取和交付
- 数据管道:关联微批中的数据事件和 ETL 数据
- 流分析:时间序列、嵌入式机器学习和地理空间
- 数据验证:以高速比较数据
- 简单的用户体验,可将内部部署数据迁移到自治 AI 数据库、Cloud at Customer 和对象存储
- 随着新增的部署类型和功能,OCI 区域到区域、混合部署、本地部署到 OCI 以及多云部署的简单 HA/DR 和多活动设置使用场景将继续演变。
OCI Marketplace 上的 OCI GoldenGate 与 GoldenGate 有何区别?
下面是两个产品之间的几个区别:
- OCI GoldenGate 是一项全托管式服务,由 Oracle 管理基础设施操作,例如备份、打补丁和升级。OCI Marketplace 上的 GoldenGate 由客户管理。
- OCI GoldenGate 使用 OCI 服务结构,例如部署、连接、专用端点和托管扩展
- OCI GoldenGate 基于微服务,不支持经典架构
- 定价:OCI GoldenGate 使用通用储值,为本地用户提供 BYOL 路径。OCI Marketplace 上的 GoldenGate 需要本地许可证。
- 与 OCI Marketplace 上的 GoldenGate 中的更多手动设置相比,OCI GoldenGate 支持自动钱包处理和专用端点,简化了与 OCI GoldenGate 中自治 AI 数据库的连接。
- 扩展:OCI GoldenGate 可自动扩展到创建实例时选择的 OCPU 数的 3 倍(每个部署最多 24 个 OCPU)。在 OCI Marketplace 上使用 GoldenGate 手动扩展实例。
在何处可以找到服务级别目标 (SLO) 和服务级别协议 (SLA)?
使用当前的 Oracle PaaS 和 IaaS 公有云服务支柱文档和当前的 Oracle Cloud SLA 页面:
https://www.oracle.com/cloud/sla/.
OCI GoldenGate 的成本是多少?
OCI GoldenGate 按 OCI GoldenGate 主机使用的 OCPU 定价。OCPU/小时度量遵循标准定义:
-
OCPU/小时定义为作为 Oracle Cloud Service 的一部分使用的 Oracle Compute 单元 (OCPU) 小时数。在启用了超线程的情况下,OCPU 提供的 CPU 容量相当于一个处理器的一个物理内核。每个 OCPU 对应于两个称为 vCPU 的硬件执行线程。每个 OCPU 具有预定义的内存量。使用 OCPU 不足一小时按一小时计费。
- 没有 OCPU 最小值。
- 每个 OCPU/ 每小时的价格:$1.3441
- OCI GoldenGate 部署 OCPU 计数:介于 1 到 24 个 OCPU 之间
- 自动缩放策略:
- 客户可以启用或禁用自动缩放。
- 客户从 1 个 24 个 OCPU(如果启用了自动缩放,则为 1-8 个基本 OCPU)中选择基本大小(最小)。
- 自动缩放是所选基本大小的 3x,如下所示:
- OCI GG 的自动扩展:
- 用户选择:启用或禁用自动缩放:用户可以选择是否要自动缩放
- 选择基本大小:用户在 OCPU 中选择基本大小,以便计费,这将是最小值
- 自动扩展:自动、透明地扩展/收缩
- 监视:OCI GoldenGate 可针对给定时刻使用多少 OCPU 进行遥测
- 部分小时数:遵循与 Autonomous Database 和 Exadata Cloud Service 相同的规则:“对于 Oracle Autonomous Data Warehouse 和 Oracle Autonomous Transaction Processing,使用部分 OCPU 小时按部分小时数计费,至少一分钟。”
- 峰值使用率:遵循与 Autonomous Database 和 Exadata Cloud Service 相同的规则:“如果启用了自动缩放,Cloud Service 始终会为您在创建或明确缩放时指定的 OCPU 数提供容量根据您的工作负载,Cloud Service 还可以根据您的工作负载提供额外的 OCPU(至多 3x 个您在创建或显式扩展服务时指定的 OCPU 数)。您的每小时 OCPU 使用量的计算方法如下:最大值(您的服务的 OCPU 数,您的服务使用的实际 OCPU 数)。实际 OCPU 使用量基于每分钟消耗量,按小时计算平均值。”
- 用户选择:启用或禁用自动缩放:用户可以选择是否要自动缩放
- OCI GG 的自动扩展:
您还可以参阅云估算器,该估算器在数据集成类别中包括 OCI GoldenGate:https://www.oracle.com/cloud/costestimator.html
BYOL 如何获得许可?
转换率:
- 对于每 8 个处理器许可证,您最多可以激活 1 个 OCI GoldenGate OCPU。
- 对于每 400 个受支持的扩延指定用户许可证,您最多可以激活 1 个 OCPU 小时的 OCI GoldenGate。
以下任何受支持的程序许可均可按上述转换率进行汇总:
- Oracle GoldenGate 或
- Oracle GoldenGate for Non Oracle AI Database 或
- Oracle GoldenGate for Distributed Applications and Analytics 或
- Oracle GoldenGate for Big Data(而非 Oracle GoldenGate for Big Data 目标)
是否可以将 GoldenGate 市场迁移到 OCI GoldenGate?
- 从 GoldenGate(内部部署 GoldenGate 或 GoldenGate 市场)迁移到 OCI GoldenGate 不会自动执行。
- OCI GoldenGate 基于 GoldenGate 微服务架构构建。因此,如果客户已经在使用 GoldenGate(本地、计算或 OCI 市场),这是一个非常简单的技术迁移。有关详细信息,请参阅迁移到 Oracle Cloud Infrastructure GoldenGate 。
- 如果客户使用的是 GoldenGate 经典架构,则需要在迁移过程中完成一些额外工作。此迁移路径是经过验证的迁移路径,许多客户已经成功完成了内部部署投资。还提供了从经典 GoldenGate 到 GoldenGate 微服务的迁移实用程序,该实用程序可用于帮助客户迁移。
如何适当调整 OCI GoldenGate 的大小?
OCI GoldenGate 使用中心架构。
- 所有数据都通过 OCI GoldenGate 主机进行路由。
- 从源远程捕获数据。
- 数据将远程传送到目标。
- 查看计量和开单信息
- 查看关于 OCPU 使用率
- 查看 OCPU 管理和计费中部署类型的大小调整注意事项
注意:
- 围绕性能存在许多变量(网络、源/目标数据库、有效使用索引、架构配置等)。因此,对生产工作负载的实际测试是适当调整大小的黄金标准。
- 您可以在 OCI GoldenGate“Deployment Details(部署详细信息)”页面和 OCI 控制台中的 Metrics Explorer 上监视 OCPU 使用率。
- 您可以在 OCI 控制台中设置预警,以便在 OCPU 使用率达到特定级别时通知您。
OCI GoldenGate 支持哪些源和目标?
有关支持的源和目标系统的信息,请参见 Explore Connections 。
OCI GoldenGate 是否可以连接到专用 IP 或内部部署 Oracle 系统?
是。有关连接的详细信息,请参阅 OCI GoldenGate 连接。
OCI GoldenGate 与源和目标的连接支持远程捕获和远程交付。
如何在 OCI Marketplace 或本地运行的 OCI GoldenGate 和 GoldenGate 之间设置分发路径?
以下 LiveLabs 介绍了如何在 OCI-GG 和 GG 微服务安装之间创建分发路径:
OCI GoldenGate 是否支持单实例 Oracle 数据库?
是。支持可插入(多租户)和单个实例。
是否支持专用自治数据库?
是的,完全支持基于专用基础设施环境的自治 AI 数据库。
有关具体先决条件,请查看当前的自治 AI 数据库和 OCI GoldenGate 文档:Oracle Autonomous AI Database
是否可以使用 Oracle Management Cloud 和 Oracle Enterprise Manager (OEM) 访问和监视 OCI GoldenGate?
GoldenGate 管理包现在支持 OCI GoldenGate。
什么是 Oracle GoldenGate Foundation Suite?
Oracle GoldenGate Foundation Suite 包含三个产品。其中包含以下内容:
- Oracle GoldenGate Veridata
- Oracle GoldenGate 管理包(EM 插件和监视器)
- Oracle GoldenGate Studio
什么是 Oracle GoldenGate Veridata?
Oracle GoldenGate Veridata 是一个高速的数据比较和修复解决方案,可识别、报告和修复异构数据库之间的数据差异,而不会自动中断正在进行的业务流程。它提供了一个易于使用但功能强大的解决方案,用于识别不同步的数据,然后才能对业务产生负面影响。
Oracle GoldenGate Veridata 的各个组件有哪些?
Oracle GoldenGate Veridata 的各个组件包括:
- Veridata 代理
- Veridata Server
- Veridata 资料档案库数据库
- Vericom 实用程序 - CLI
如何使用 Oracle GoldenGate Veridata 进行实时数据比较?
Oracle GoldenGate Veridata 通过在运行 Oracle GoldenGate 复制时比较源数据库和目标数据库来执行实时数据比较。
下面是一般过程:
-
GoldenGate 会近乎实时地将事务处理更改从源数据库复制到目标数据库。
-
Veridata 独立连接到源数据库和目标数据库。
-
它使用以下项比较可配置块或行范围中的数据:
- 主关键字
- 散列/校验与
- 检测到不匹配时逐行验证
-
Veridata 标识:
- 缺少行
- 额外行
- 更改的列值
- 异步事务处理
-
比较作业可以在复制保持活动状态时重复或持续运行,从而允许持续验证,且对生产系统的影响最小。
为了避免锁定表或中断复制,Veridata 使用优化的比较技术,例如:
- 基于校验和的比较
- 并行处理
- 分区表扫描
- 键范围分块
这使组织能够在以下期间验证复制的数据是否保持同步:
- 迁移
- 升级
- 零停机切换
- 主动 - 主动复制
- 灾难恢复操作
Veridata 本身不复制数据,近乎实时地验证 GoldenGate 复制的准确性。
有关使用 Oracle GoldenGate Veridata 进行实时数据比较的信息,请参阅 Oracle GoldenGate Veridata 26c:它是如何工作的?
如何调整 Oracle GoldenGate Veridata 的大小?
有关调整 Oracle GoldenGate Veridata 大小的信息,请参见 How to size Oracle GoldenGate Veridata?。
Veridata 资料档案库数据库用于什么?
所有元数据信息(即 Veridata 的所有配置)都将存储在 Veridata 资料档案库数据库中。
Veridata 26c 带有内置的 MySQL 数据库作为存储库。
但是,客户可以选择将此内置 MySQL 或其自己的 MySQL 数据库用于资料档案库。
Veridata 资料档案库数据库的大小是多少?
Veridata 的所有元数据信息将存储在此资料档案库数据库中。
所以,它不会是一个大的尺寸。最多 5 GB 是资料档案库的大小。
Oracle GoldenGate Veridata 是否可用于比较异构数据库之间的数据?
是的,Oracle GoldenGate Veridata 是一个异构数据比较和修复解决方案。
请检查以下链接的证明矩阵:
https://www.oracle.com/in/a/ocom/docs/ogg-veridata-23c-cert-matrix.xlsx
是否可以使用 Oracle GoldenGate Veridata 比较表的 DDL?
否。Oracle GoldenGate Veridata 是一个数据比较工具,它只能比较表之间的数据。但是,我们的路线图中有这一点。
Oracle GoldenGate Veridata 是否可以实时监视源和目标之间的数据复制?
是。Oracle GoldenGate Veridata 可以近乎实时地监视和验证源数据库与目标数据库之间的数据复制。它在 GoldenGate 复制运行时持续比较数据,并标识缺失行、额外行或数据不匹配等差异。
这可确保复制的数据库在迁移、升级和持续的复制操作期间保持同步,并且对生产系统的影响极小。
是否需要为每个源和目标数据库安装 Veridata Server?
否,一次安装 Veridata 就足以比较多个源和目标之间的数据。
您无需安装专用于每个源和目标数据库的 Veridata 服务器。
什么是 Veridata 代理?需要如何配置?
Veridata Agent 是一个轻量级 Java 程序,负责从源数据库表和目标数据库表中提取数据。
您需要为每个数据库配置一个专用代理。
例如,如果您有 5 个源和目标,则需要为 5 个源配置 5 个 Veridata 代理,为 5 个目标配置 5 个 Veridata 代理。
我们需要在哪里安装和部署 Veridata 代理?
Veridata 代理可以原生部署或远程部署到数据库服务器。远程配置 Veridata 代理时,您需要确保 Veridata 代理与源/目标数据库之间具有良好的网络。
Veridata 代理属性文件位于何处?
这可以在名为 "agent.properties" 的 < AGENT_HOME > 路径中找到。
Veridata 服务器配置文件存在于何处?
Veridata 服务器配置文件位于以下路径中:
/config/veridata/veridata.cfg
oggvdt_cainput.properties 文件在哪里?
oggvdt_cainput.properties 文件位于以下路径中:
/config/oggvdt_cainput.properties
在哪里可以找到 Veridata 报告?
Oracle GoldenGate Veridata 报告通常生成并存储在 Veridata 服务器主机的 Veridata 安装目录下。
默认位置通常为:
- Linux 或 UNIX:
<VERIDATA_HOME>/reports<VERIDATA_HOME>/veridata/reports
- Windows:
<VERIDATA_HOME>\reports
您还可以从 Veridata Web UI 访问报表:
- 登录到 Veridata 控制台。
- 打开比较作业。
- 转到 Reports(报表)或 Job Details(作业详细信息)→ Reports(报表)。
- 根据配置下载 HTML、XML 或 PDF 输出。
常见报告类型包括:
- 比较汇总报表
- 不同步的行报告
- 维修报表
- 审计/合规报告
如果您将 Veridata 用于 OGG 微服务或 OCI 部署,则可以将报告写入:
- 挂载的卷
- 共享的存储
- OCI 对象存储,具体取决于部署的配置方式
您可以在以下位置验证确切的报告路径:
<VERIDATA_HOME>/cfg/veridata.cfg
或服务器启动/配置属性。
一个数据库是否可以有多个 Veridata 代理?
可以,但我们建议为 1 个数据库使用 1 个代理。
我可以在一个组中创建多少个比较对?
对可以创建的比较对数没有限制。任意数字都很好。
我可以在 Veridata 中并行运行多少对比较?
最大缺省值为 100。
但可以通过更改 maxconcurrentjobs 的值,从 veridata.cfg 文件更新该文件。
在 Veridata 中,每天只能比较增量或更改的数据吗?
是的,Veridata 有一个名为 Delta Comparison 的功能。
启用此功能后,将仅比较更改的数据。
Veridata 中的 Delta 比较是什么?
比较对可以配置为使用增量处理,这是一种性能功能,仅比较自上次运行以来发生更改的数据块,而不是扫描整个表。
这样可以防止一次又一次地比较所有历史数据,并仅比较更改的数据。
如何在 Veridata 中启用 Delta 比较?
在 Oracle GoldenGate Veridata 26c 中,Delta Comparison 更符合现代的“连续数据验证”模型,而不是传统文档中较旧的经典式增量处理说明。该功能旨在通过仅关注比较周期之间的更改数据来减少比较开销,这对于在主动 - 主动、混合云和大规模复制环境中持续验证尤为重要。
在 Veridata 26c 中,配置比较对和作业时,通过现代化的 Veridata Web UI 启用 Delta 比较。管理员可直接在 UI 中或通过 REST API 配置比较行为,而不是严重依赖传统命令行工作流。该过程通常涉及在“比较对”配置中启用基于差值的验证,因此 Veridata 跟踪执行之间的更改,并限制将来对已修改数据集的比较。这样可以减少数据库影响,并提高连续验证用例的比较性能。
26c 体系结构还强调:
- 持续验证工作流
- 调度作业
- REST API 自动化
- 云原生操作
- 基于微服务的可扩展比较处理
而不是较旧的独立比较执行模型。
此外,Veridata 26c 还直接在 UI 和 API 中引入了原生调度和增强的自动化功能,从而使 Delta Comparison 更易于操作地集成到正在进行的复制运行状况验证中,而不是被视为手动优化功能。
哪些 Oracle Enterprise Manager 插件版本通过了监视 Oracle GoldenGate 26ai Microservices 部署的认证?
Enterprise Manager 24ai 中的 Oracle GoldenGate 26ai Microservices 监视和发现已通过 Oracle GoldenGate EM Plugin 版本 13.5.2.0.6 认证。
为什么推荐的 Oracle AI Database 和 GoldenGate 修补程序级别对稳定性和可支持性很重要?
Oracle 强烈建议使用当前建议的 Oracle Database 发行版更新 (RUs) 和 GoldenGate 包补丁程序运行 Oracle GoldenGate。
较旧的数据库补丁程序级别可能会使客户面临以下风险:
- 集成捕获错误,
- LogMiner 不稳定,
- 不支持的组合,
- 安全安全漏洞,
- 和已在较新的 RU 中修复的复制缺陷。
建议的练习:
关注最新动态:
- GoldenGate 补丁程序建议说明,
- 数据库 RU 建议,
- 认证的互操作性矩阵。
先验证修复,然后再假定较旧的修补程序级别存在产品缺陷。
Oracle GoldenGate 核心产品补丁程序集的主要说明 (KB159960)
Oracle GoldenGate 和 OCI GoldenGate 是否支持从 MongoDB 获取更改数据?
Oracle GoldenGate 和 OCI GoldenGate 支持从 MongoDB 和 MongoDB Atlas 获取更改数据。它支持在不同的 MongoDB 数据库之间进行双向复制。
是否可以使用 Oracle GoldenGate 和 OCI GoldenGate 进行 MongoDB 到 Oracle AI Database 的迁移?
是的,Oracle GoldenGate 支持从 MongoDB 到 Oracle AI Database 的无停机迁移。有关详细信息,请参阅 Oracle GoldenGate 文档。
如何配置 Oracle GoldenGate 迁移以从 MongoDB 迁移到 Oracle AI Database?
请确保满足以下先决条件:
- MongoDB 源版本为 5 或更高版本。
- 为源 MongoDB 和目标数据库实例安装并配置了 Oracle GoldenGate for Distributed Applications and Analytics (GG for DAA) 23.7 或更高版本。
- 安装了 MongoDB 数据库工具(包括 mongodump 和 mongorestore),并将相应的目录路径添加到路径环境变量中。
按照以下步骤将 MongoDB 迁移到 Oracle AI Database for Oracle GoldenGate:
-
运行 MongoDB 转储实用程序。运行带有
--oplog选项的mongodump命令以创建源 MongoDB 数据库的快照:$ ./bin/mongodump --uri="mongodb://localhost:27021" --oplog -v -
通过提供
oplog.bson文件的路径作为参数,运行OplogLSN.sh脚本以从oplog.bson文件中提取第一个和最后一个操作时间戳,如下所示:$./oplogLSN.sh /path/to/dump/oplog.bson输出提供第一个和最后一个操作的时间戳(如果转储过程中没有操作,则提供第一个 noop)。
输出:
2025-02-27T13:53:00.885+0000 1 objects found First LSN: 1740663867.1 Last LSN: 1740663946.211 3 -
检查 Oplog 条目:如果转储期间有任何传入操作,则
oplog.bson文件包含这些操作的条目,每个条目都有一个时间戳。您可以使用OplogLSN.sh捕获第一个和最后一个工序时间戳,或者将其转换为 JSON 文件进行手动检查,如上一步所示。 -
运行 MongoDB 还原实用程序:在具有必要的时间戳后,使用 mongorestore 实用程序将所选集合从转储恢复到目标 MongoDB 实例:
$ ./mongorestore --uri="mongodb://localhost:27021" --nsInclude=testDB.coll1 --nsInclude=testDB.coll2 /path/to/dump -v -
启动 MongoDB CDC 提取:从从 oplog.bson 文件中提取的第一个操作时间戳(LSN 位置)启动 MongoDB CDC 提取进程。这将确保 CDC Extract 开始捕获转储过程启动后发生的操作。
-
使用生成的 CDC 线索文件配置 MongoDB Replicat,并将
oplogReplayLastLsn属性设置为oplog.bson文件中的最后一个操作时间戳。这可确保复制以oplog-replay模式运行,从而避免任何冲突。一旦处理了最后一个时间戳,它将以正常模式继续。此配置可确保精确启动,不会丢失或复制数据,并且无需在复制中执行代价高昂的冲突处理。
如何运行从 Snowflake 到 Oracle AI Database 的初始加载?
-
创建更改数据捕获提取(从源 Oracle AI Database)。
-
从源数据库获取 SCN。
-
创建初始加载提取(从源 Oracle AI Database)。
-
创建 CDC 提取的分配路径。
-
创建初始加载提取的分配路径。
-
为初始加载创建复制(针对 Snowflake)。
-
为更改数据捕获复制创建复制(针对 Snowflake)。
要修复“Exception:net.snowflake.client.jdbc.SnowflakeReauthenticationRequest:Authentication token has expired(异常错误:net.snowflake.client.jdbc.SnowflakeReauthenticationRequest:验证令牌已过期)”,应执行哪些操作。用户必须再次验证。”Oracle GoldenGate Snowflake 复制中存在错误?
存在长时间的不活动时会出现此错误。要解决此问题,可以设置 JDBC 参数 CLIENT_SESSION_KEEP_ALIVE 以强制数据库用户在处于不活动状态一段时间后登录。
snowflakecomputing.com/?warehouse=<warehouse-name>&db=<database-name>&CLIENT_SESSION_KEEP_ALIVE=true
Oracle GoldenGate 和 OCI GoldenGate 是否支持将 DDL 复制到 Snowflake?
可以将 Oracle GoldenGate 配置为将源 DDL 更改传播到目标 Snowflake 表。自动方案演化是指检测、管理和应用对数据库方案所做的更改(例如表、列、索引或关系),而无需人工干预。自动方案演化支持检测新对象和元数据更改,然后自动生成目标 DDL 以进行方案演化。
对于初始加载,它可以创建或替换目标表。
对于 CDC Replicat,它可以在持续应用期间创建或修改目标表。有关更多详细信息,请参阅 Oracle GoldenGate 文档。
是否可以使用 Oracle GoldenGate 和 OCI GoldenGate 进行 Apache Iceberg 复制?
是的,Oracle GoldenGate 支持将实时数据复制到 Apache Iceberg。Oracle GoldenGate 使用 Apache Iceberg Java API 打开 Apache Iceberg Lakehouses。Oracle GoldenGate 支持 Oracle AI Data Catalog、Amazon Glue、Polaris、Nesti、Hadoop 和 REST 目录。
是否可以使用 Oracle GoldenGate 和 OCI GoldenGate 将数据实时复制到 OCI 对象存储上的 Apache Iceberg 表?
可以,您可以配置 Oracle GoldenGate 和 OCI GoldenGate,通过 OCI Object Storage S3 API 端点实时将数据复制到 OCI Object Storage 上存储的 Apache Iceberg 表。有关更多详细信息,请参阅使用 OCI GoldenGate 在 OCI 对象存储上构建实时 Apache Iceberg Lakehouse。
Oracle GoldenGate 和 OCI GoldenGate Apache Iceberg 复制是否都支持写入时合并?
可以,对于由 Snowflake、Google BigQuery 和 Databricks 管理的 Iceberg 表,Oracle GoldenGate 和 OCI GoldenGate 支持写入时合并。在这些平台上,GoldenGate 使用目标平台的计算资源进行压缩。
Oracle GoldenGate 和 OCI GoldenGate 如何处理 OCI 对象存储中参数表中的主键更新?
Oracle GoldenGate 和 OCI GoldenGate 以三种模式处理主键更新。此行为通过将 gg.handler.name.format.pkUpdateHandling 添加到 Replicat 属性文件来控制。支持的值包括异常终止、更新和删除插入。异常终止是默认行为。当检测到主键更新并将错误记录在报告文件中时,复制将失败。更新将主键更新视为任何其他更新操作。仅当可以保证主键不用作选择标准时,才使用此设置。
Delete-insert 将主键更新复制为两条记录:一条记录带有前图像,标记为删除,另一条记录带有后图像,标记为插入。
要使用删除插入,提取处理必须捕获未压缩的更改数据记录,这意味着所有列都将写入到线索文件中。
要生成未压缩的记录,请使用 LOGALLSUPCOLS 表示 Oracle AI Database 源,使用 COMPRESSUPDATES | NOCOMPRESSUPDATES 表示非 Oracle 数据库。
例如,在复制到 OCI Object Storage 时,将 gg.handler.<gg.target value>.format.pkUpdateHandling=delete-insert 设置为将主键更新复制为具有前映像的删除记录和具有后映像的插入记录。
如何使用 Oracle GoldenGate 将 Oracle DATE 和 TIMESTAMP 列复制到 OCI Object Storage 上存储的解析表?
如果未配置显式映射,则 Oracle DATE 和 TIMESTAMP 列默认情况下会作为字符串进行复制。如果没有正确的映射,下游引擎将无法将这些列识别为 date/time 类型,因此在没有显式强制转换的情况下,无法进行日期算术、范围筛选和基于时间的分区。enableTimestampLogicalType 属性允许将 Oracle DATE 和 TIMESTAMP 列映射到 Avro 时间戳微型逻辑类型,该逻辑类型表示自纪元以来的微秒值,是分析和数据湖工作负载的正确表示。
在 Oracle GoldenGate 云对象存储复制中,源 DATE 和 TIMESTAMP 类型默认映射到 Avro 文件(包括 Parquet、Iceberg 和 Delta)为 STRING。
要将源 DATE 和 TIMESTAMP 类型作为时间戳微型逻辑类型复制到 Avro 文件(包括 Parquet、Iceberg 和 Delta),请将 gg.handler.<gg.target value>.format.enableTimestampLogicalType 设置为 true。
启用时间戳逻辑类型时,还需要 gg.format.timestamp。例如:gg.handler.oci.format.enableTimestampLogicalType= truegg.format.timestamp=yyyy-MM-dd HH:mm:ss.SSSSSS
如何提高 Oracle GoldenGate OCI Object Storage 复制性能?
可以使用复制类型和 GROUPTRANSOPS 参数这两个关键功能来优化 Oracle GoldenGate Cloud 对象存储复制性能。除了复制类型和事务处理分组之外,复制生成的文件的大小直接影响吞吐量,并且应与其他设置一起进行优化。Oracle GoldenGate Distributed Applications and Analytics 提供了两种不同的复制模式:经典复制和协调复制。
经典复制是将消息应用于目标云存储服务的单线程进程。协调复制是一个多线程进程,其中多个线程独立读取 OGG 线索文件并并行应用事务。Oracle GoldenGate 云对象存储复制流程通过事务处理分组优化处理。GROUPTRANSOPS 参数将多个小型事务处理分组为应用于云存储目标的单个大型事务处理。在参数文件中配置了 GROUPTRANSOPS。缺省情况下,GROUPTRANSOPS 设置为 1000。可以增加到 20000 以获得更好的性能。
例如:GROUPTRANSOPS 20000
如何在 Oracle GoldenGate 和 OCI GoldenGate Google Cloud Storage 复制中设置文件大小?
Oracle GoldenGate 复制在本地文件系统中创建文件,并将其保持打开状态,直到满足滚动更新条件或由源中的元数据更改事件触发(例如 DDL 更改)。用户可以使用复制属性控制文件滚动更新。最大文件大小控制文件大小。默认情况下,文件大小配置为 1 GB;但可以根据需要进行配置。当达到最大大小时,将关闭文件,并生成新文件。有关更多详细信息,请参阅 Oracle GoldenGate 中的“为 DAA 配置文件写入器处理程序”文档。
Oracle GoldenGate 和 OCI GoldenGate 是否支持通过 parquet 文件复制到 Google Cloud Storage 进行分区?
Oracle GoldenGate 和 OCI GoldenGate 支持在目标对象存储存储桶中创建分区文件。分区可提高下游修剪和查询性能,但过度分区会增加目录/文件计数并放大小文件问题。
要使用分区,数据必须由最高级别的表进行分区。这是使用 pathMappingTemplate 属性完成的,应将其设置为全限定表名。
它将基于全限定源表名在容器/桶中创建目录。例如:g.eventhandler.<gg.target value>.pathMappingTemplate=${fullyQualifiedTableName}
对于创建分区,使用 gg.handler.<gg.target value>.partitioner.<fully_qualified_table_name>。此属性可以与模板关键字(如 ${columnValue[column_name]} 或常量字符串值)一起使用来定义分区路径结构。
Oracle GoldenGate 和 OCI GoldenGate 是否支持 DDL 复制到 Azure 数据湖存储 (ADLS) 上的解析文件?
Oracle GoldenGate 和 OCI GoldenGate ADLS 复制会自动将源 DDL 更改传播到生成的文件。或者,EVENTACTIONS 可用于在源数据库中执行 DDL 操作时控制提取/复制行为。
如果 Oracle GoldenGate 提取从源数据库捕获“创建表”事件,则 Replicat 将在目标云对象存储存储桶/容器中使用“创建表”事件中的表名称创建一个新文件。
如果 Oracle GoldenGate 提取从源数据库捕获变更列/删除列事件,则复制将创建一个反映更新后的源表定义的新文件。
如果 Oracle GoldenGate 提取从源数据库捕获截断事件,则可以通过设置以下设置将复制配置为在截断事件上滚动数据文件:
gg.eventhandler.<gg.target value>.rollOnTruncate=true
默认情况下,此属性设置为 false,并且复制不会在截断事件中滚动文件。Oracle GoldenGate 提取从源数据库捕获放置表事件,这对目标文件系统没有影响。
Oracle GoldenGate 和 OCI GoldenGate 如何在复制到 Azure 数据湖存储 (ADLS) 上的解析文件时处理源 Oracle NUMBER 数据类型?
Oracle NUMBER 是一种可变精度小数数据类型,它最多可表示 38 位精度的整数和固定点小数值。
如果定义的列没有显式精度和刻度(例如 NUMBER),则 Oracle 可以跨行以不同的刻度存储值,在某些复制/方案生成方案中,格式化程序可能无法确定地为目标方案派生单个精度/刻度。因此,到 Avro/Parquet 的映射通常使用保守的十进制表示形式,除非您明确配置精度和缩放以匹配源列定义。
gg.handler.<gg.target value>.enableDecimalLogicalType 是用于十进制逻辑类型映射的主交换机。设置为 true 时,它会指示 Avro 格式化程序将 Oracle NUMBER 列映射到 Avro 十进制逻辑类型(字节为 logicalType:decimal),而不是将数字作为纯 Avro 数字基元或字符串写入的默认映射。
当精度/尺度无法确定地推断时,格式化程序通常会选择保守的 Avro 十进制定义(高精度和尺度),以避免精度损失。这可能导致下游消费者看到用不必要的大幅度(例如,明显的尾随小数位)表示的值。
要使目标方案与已知的一致源定义保持一致,尤其是在财务数据(余额、价格和金额)方面:
set gg.handler.<gg.target value>.maxPrecision 和 gg.handler.<gg.target value>.oracleNumberScale。
Oracle GoldenGate 和 OCI GoldenGate 支持哪些 ADLS 验证方法?
Oracle GoldenGate 和 OCI GoldenGate 支持访问密钥、共享访问签名和 Azure Entra ID。
Oracle GoldenGate 是否支持 Amazon S3 表?
是。Oracle GoldenGate 支持通过 Amazon S3 表 REST 目录实时将 Apache Iceberg 复制到 Amazon S3 表。
Oracle GoldenGate 和 OCI GoldenGate 是否支持将多部分上载到 Amazon S3?
可以,启用 Amazon S3 多部分上载功能允许将大文件上载到 Amazon S3,方法是将大文件拆分为可以独立并行上载的小部分。此功能可解决已知的 Amazon S3 限制,例如单次上载 5GB 以上的大小对象。成功上载所有文件部分后,会向 Amazon S3 发出请求,要求将它们组装成单个对象。要使用此功能,需要在 Amazon S3 复制中启用 gg.eventhandler.s3.multipartEnabled=true。
Oracle GoldenGate 和 OCI GoldenGate 是否支持通过 parquet 文件复制到 Google Cloud Storage 进行分区?
Oracle GoldenGate 和 OCI GoldenGate 支持在目标对象存储存储桶中创建分区文件。分区可提高下游修剪和查询性能,但过度分区会增加目录/文件计数并放大小文件问题。
要使用分区,数据必须由最高级别的表进行分区。这是使用 pathMappingTemplate 属性完成的,应将其设置为全限定表名。它将基于全限定源表名在容器/桶中创建目录。例如:gg.eventhandler.<gg.target value>.pathMappingTemplate=${fullyQualifiedTableName}。对于创建分区,使用 gg.handler.<gg.target value>.partitioner.<fully_qualified_table_name>。
此属性可以与模板关键字(如 ${columnValue[column_name]} 或常量字符串值)一起使用来定义分区路径结构。
OCI Database Migration Service 如何定价?(事实型)
迁移的前 183 天(6 个月)免费提供,但迁移运行时间超过 60 天且没有任何数据传输的情况除外。
OCI Database Migration Service 支持哪些源和目标?(事实型)
当前支持 Oracle 和 MySQL 同构迁移。源可以是本地、其他云端或 OCI。目标必须在 OCI 中。Oracle 支持 11g (11.2.0.4)、12c (12.1.0.2,12.2.0.1)、19c、21c 以及所有后续 Oracle Database 发行版。MySQL:5.7 和 8 版本。在下一个 URL 中可以找到更多详细信息。
OCI Database Migration Service 支持哪些迁移类型?
脱机逻辑迁移:数据库的一次性副本,要求在迁移过程中应用脱机。联机逻辑迁移:数据库的初始副本,后跟迁移期间的更改数据捕获。在迁移过程中,应用程序可以保持联机状态。
在 oracle 迁移期间,默认情况下会排除哪些对象和方案?
始终排除以下对象类型:
DBA_GOLDENGATE_PRIVILEGES中标识的 GoldenGate 管理员,包括ggadmin和c##ggadmin用户。- 如果目标是 Autonomous Data Warehouse 共享基础结构:
CLUSTER、DB_LINK、INDEXTYPE和STATISTICS。 - 如果目标是 Autonomous Data Warehouse Dedicated Infrastructure、Autonomous Transaction Processing Shared or Dedicated Infrastructure,则为
CLUSTER、DB_LINK、STATISTICS - 所有其他目标:统计
默认情况下会排除以下方案:
- 模式在源或目标数据库上的 SYS.DBA_USERS 中标记为 ORACLE_MAINTAINED
- 模式在源数据库上的 SYS.KU_NOEXP_VIEW 中标记为从导出中排除
- 方案 GGADMIN 和 C##GGADMIN
迁移需要哪些 OCI 资源?
- 用于存储连接密钥的 Vault 和密钥。
- 取决于传输介质选择对象存储或文件系统
- 每个源和目标的连接,某些方案可能需要每个源多个连接。
- 作为迁移准备的评估。
- 评估负责创建迁移
- 对于联机迁移,需要进行 OCI GoldenGate 部署,但这完全由服务管理。
- OCI 目标
OCI GoldenGate 在哪里可用?
- Oracle Cloud:OCI GoldenGate 可在 OCI 中的所有公有云、政府和专用云区域中使用。有关更多信息,请参见 https://www.oracle.com/cloud/distributed-cloud/service-availability/ 。
- Azure:OCI GoldenGate 在 Oracle AI Database@Azure 上的 Azure 上可用。有关更多信息,请参见 https://docs.oracle.com/en-us/iaas/Content/database-at-azure/oaa_regions.htm 。
- Google Cloud:OCI GoldenGate 可在 Oracle AI Database@Google Cloud 上的 Google Cloud 上使用。有关更多信息,请参见 https://docs.oracle.com/en-us/iaas/Content/database-at-gcp/get-started-regions.htm 。