Oracle Goldengate(以下简称OGG)是业界广泛使用的准实时数据复制软件,主要基于数据库日志进行变更数据的抽取,也就是我们常说的CDC(change data capture)的能力,Goldengate的优势主要体现支持各种异构环境下的数据复制,对生产库的影响最低(基于日志读取,非Sqoop这样直接查询数据的方式,同时可以支持remote capture)。
环境:OEL 5.7 + Oracle 10.2.0.5 RAC 需求:实验在Oracle 10g环境使用amdu抽取数据库文件
针对之前在生产环境中使用sql*loader的性能问题,最近一直在想使用外部表的oracle_datapump来替代它。 昨天下午做了大量数据的测试,比较了这两种方案。最后发现在一定的限定条件下,从很多细节来看 oracle_datapump要更胜一筹。 首先使用sql*loader对于clob,blob的数据相比普通表的处理要一些额外的工作,但是这些限制或者额外工作再oracle_datapump中就可以很方便的使用,oracle_datapump支持的数据类型要更丰富。 在生产环境中,迁移数据的时候,
今天我们通过一则真实的案例来认识oracle 自带工具AMDU,无需将磁盘组mount即可实现数据分析,轻松进行数据恢复
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wzy0623/article/details/53906996
今天在从生产环境中做一个数据抽取,为了提高效率,加了并行。发现了一些小的细节。 首先,抽取数据时,对于并行度的指定我是设定200M为一个单位,如果表有1G,那么就需要启5个并行,结果有一个表有40G,按照这个单位,需要200个并行。 但是在实际中,ddl的执行并行度,数据库不一定会买账,首先从数据库实例层面有一些参数限定。 这下面的配置中,这个库最多只能使用64个并行。 SQL> show parameter parall NAME TYPE
最近在做有关项目的时候,由于服务器数据库被其他人算法读取,导致我读取的时候很慢,于是乎打算将自己需要的表导入到本地的mysql数据库进行处理,刚开始当然是不想写代码,尝试用kettle实现表迁移,但是无奈数据量较大,可kettle内存溢出。痛下决心自己实现。基本思路就是先从数据库中抽取出数据存储到ResultSet的一个集合中,一个next,存到一个List>,为避免内存溢出,设置数组大小超过一个阈值就写入数据库,然后清空又重新读取,在写入。其实这个也是借鉴于kettle的提交Size;
今天对GoldenGate的数据同步进一步做了测试,发现在一些模拟真实的场景中,需要考虑的因素要更多更为复杂。简单同步几条,几百条数据的测试同步做验证测试可以,但是很难测试出来一些潜在的问题,今天碰到了一些问题,基本都得到了解决。 首先要测试的这个环境数据要多一些。导出了一个测试环境的数据进行OGG的复制演练。 test@TESTDB> select table_type from cat group by table_type TABLE_TYPE ----------- TABLE VIEW SYNON
1.2.1打开Navicat,点击连接。新建MySQL连接和oracle连接。详细过程例如以下图:
在之前的一些博文中花了大篇幅介绍了采用外部表抽取的一些细节,可能细节到了,基本原理的内容还希望再补充补充。 采用外部表抽取数据的流程图如下: 大体标注了一下抽取的基本结构,我们会尽量保证不去碰原
原作者:Bane Radulovic 译者: 邱大龙 审核: 魏兴华 DBGeeK社区联合出品 Find block in ASM 在本系列文章【 Where is my data】中,我已经演示了如何从ASM磁盘中定位和抽取一个Oracle的block,为了让这件事做起来不那么复杂,我又写了一个perl脚本find_block.pl来简化整个操作,只需要提供数据文件的名称和需要提取的block,这个脚本就可以输出从ASM磁盘组中抽取块的命令。 find_block.pl find_block.
今天试了下搭建GoldenGate,搭建的过程也简单总结了一下。 目前源数据库是newtest2 目标数据库是dataguru 都是11.2.0.4.0版本 关于GoldenGate的下载可以到下面的链接下载 http://www.oracle.com/technetwork/middleware/goldengate/downloads/index.html 在11g中,存在一个和GoldenGate有关的参数,默认是false,我们需要在源库,目标库都开启 SQL> show parameter
为啥要牵扯仅DataPiple Line, 因为如果有DataPipe Line,我下面的故事就不用写了。所以一项新技术和软件的开发可以解决不少头疼的问题。那下面就先来看看问题。
由于公众号单篇文章的限制,上一篇文章只讲OGG Microservices for oracle数据库安装与配置,对于如何通过WEB端配置数据同步、如何通过命令行查看与管理服务、进程以及简单故障处理都没有讲解,所以本篇主要讲解如何通过WEB端来配置数据同步(与GGSCI命令行创建与管理抽取、传输以及应用进程类似)以及如何通过adminclient来直接查看与管理服务以及进程。
1、采用数据库的同步数据方式,例如以oracle代表采用基于日志物理同步方式,支持最大保护模式、最大可用模式、最大性能模式3种,以mysql为代表采用基于binlog日志逻辑同步方式.数据同步性能受到主备之间网络、主库事务大小、备库IO性能以及备库是否采用并行复制等
源端环境:RHEL 6.5 + Oracle 11.2.0.4 RAC + OGG 19.1.0.0.4 目标端环境:RHEL 7.6 + Oracle 19.3 + OGG 19.1.0.0.4 故障现象:源端表结构某字段数据类型长度增加,并插入对应数据,目标端因还是之前的数据类型长度,导致应用进程无法更新对应数据进而导致ABENDED,一般来说,只需目标端依据源端修改为一致的字段长度即可,但这里发现依然会ABENDED,且报错信息不变。
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wzy0623/article/details/53895301
此脚本在运行时会先把oracle数据按照指定的分隔符下载到磁盘的目录下,再用替换脚本替换需要的分隔符和ascii字符,具体的替换方法请查看fileAsciiReplaceScriptAll.sh脚本
正文共: 2265字 19图 预计阅读时间: 6分钟 2.3为MySQL数据库设置OGG 2.3.1在Slave数据库上安装OGG 从Oracle Edelivery网站上下载OGG forMySQL,本例中使用ogg4mysql12.2.0.1.zip。登录Slave数据库服务器,在oracle用户下创建OGG的安装目录/u01/oggs,开始安装OGG。OGG的安装非常简单,把安装介质直接解压到OGG的安装目录即可。 进入OGG命令行界面,如图 📷 2.3.2 在Slave库上设置OGG抽取进程 1.
OGG简介(GoldenGate) OGG 是一种基于日志的结构化数据复制软件 OGG 能够实现大量交易数据的实时捕捉,变换和投递,实现源数据库与目标数据库的数据同步,保持最少10ms的数据延迟。
导读:随着全球数据量的不断增长,越来越多的业务需要支撑高并发、高可用、可扩展、以及海量的数据存储,在这种情况下,适应各种场景的数据存储技术也不断的产生和发展。与此同时,各种数据库之间的同步与转化的需求也不断增多,数据集成成为大数据领域的热门方向,于是SeaTunnel应运而生。SeaTunnel是一个分布式、高性能、易扩展、易使用、用于海量数据(支持实时流式和离线批处理)同步和转化的数据集成平台,架构于Apache Spark和Apache Flink之上。本文主要介绍SeaTunnel 1.X在交管行业中的应用,以及其中如何实现从Oracle数据库把数据增量导入数仓这样一个具体的场景。
经过多年来企业信息化建设,大部分都拥有了自己的财务,OA,CRM 等软件。这些系统都有自己的独立数据库,记录着企业运行情况某个方面的数据。但是单独看这些系统的报表,并不一定能对企业运行情况有全面客观的了解。就像只凭身高不能判断一个人是否健康,所以体检的时候我们需要化验许多指标,做各种检测,就是为了对身体情况有更全面的了解,作出更准确的判断。 同样对一个企业,不能仅根据出勤率就判断一个人的绩效高低,因为你不知道他的工作成果情况。仅根据财务报表输入支出也体现不了各部门的收益情况,这个部门有多少工作人员,完成了哪
GoldenGate软件是一种基于日志的结构化数据复制软件。GoldenGate 能够实现大量交易数据的实时捕捉、变换和投递,实现源数据库与目标数据库的数据同步,保持亚秒级的数据延迟。
字段映射关系请参考: https://blog.csdn.net/weixin_34128839/article/details/91644197
对于基于日志复制的主备数据库来说,由于配置不当或者备库空间问题造成主数据库的日志被自动清理,造成主备数据库同步中断,对于管理人员来说,也许就是一种失责甚至灾难(如果主发生故障),同样基于日志复制的同步软件来说,存在同样的问题,日志由于各种原因被删除,造成同步数据被中断,如果有定时备份日志,无非就是延迟的问题,如果无日志,可能重新初始化,尤其对于架构复杂以及多链路的复制,修复数据也是头疼事情。
在现代企业中,数据是至关重要的资产,确保数据在不同数据库间的实时同步变得尤为重要。Oracle数据库作为业界领先的数据库管理系统,提供了多种技术方案用于实现实时数据同步。本文将介绍几种常见的Oracle数据同步方案,包括使用GoldenGate、数据库触发器与自定义应用、第三方ETL工具以及LogMiner方式。
Oracle GoldenGate Command Interpreter for Oracle
ETL是BI项目最重要的一个环节,通常情况下ETL会花掉整个项目的1/3的时间,ETL设计的好坏直接关接到BI项目的成败。ETL也是一个长期的过程,只有不断的发现问题并解决问题,才能使ETL运行效率更高,为项目后期开发提供准确的数据。
1、若源端OGG版本低,目标端OGG版本高,则此种配置不需要做任何的额外改动,跟两端是相同OGG版本的同步是完全一样的参数设置。
ETL简介ETL是英文Extract-Transform-Load的缩写。用来描述将数据从源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。它能够对各种分布的、异构的源数据(如关系数据)进行抽取。按照预先设计的规则将不完整数据、重复数据以及错误数据等“脏"数据内容进行清洗。得到符合要求的“干净”数据,并加载到数据仓库中进行存储。这些“干净”数据就成为了数据分析、数据挖掘的基石。ETL重要性ETL是实现商务智能(Business Intelligence,BI)的核心
企业中大量业务数据保存在各个业务系统数据库中,过去通常的同步数据的方法有很多种,比如:
前几天某客户紧急求助我们,其Oracle数据库由于重启之后无法正常启动。最后通过数据库全备进行了一天一夜的恢复,最后仍然无法正常打开数据库。 alter database open时检查发现数据库报错ORA-16703。 📷 从用户提供的信息来看,确实是在open resetlogs的时候出现的错误。 那么这个错误意味着什么呢? 其实第一眼看到这个错误时,我们就大概清楚这是Oracle的数据字典出问题了, 而且这通常是Oracle tab$。 接到这个case,我开始感觉是非常的奇怪。为什么客户利用Orac
前几天某客户紧急求助我们,其Oracle数据库由于重启之后无法正常启动。最后通过数据库全备进行了一天一夜的恢复,最后仍然无法正常打开数据库。 alter database open时检查发现数据库报错
说到ETL,很多开发伙伴可能会有些陌生,更多的时候 ETL 是用在大数据、数据分析的相关岗位;我也是在近几年的工作过程中才接触到ETL的,现在的项目比较依赖 ETL,可以说是项目中重要的一部分。
说到病毒,一般人第一时间就会想到“新型冠状病毒”。作为一名Oracle DBA,提到病毒,我们还会想起最近今年来,在Windows平台上大量爆发的“比特币勒索病毒”,它曾感染了某个国家的交通系统,导致交通系统瘫痪,也曾感染某省的国土资源厅系统,使不动产系统长达10天之久不能正常对外提供服务。
2、对于抽取进程所在的文件系统损坏或者被删除的情况,这个重建需要依赖应用进程或者传输进程,需要具体问题具体分析(如果文件损坏或误删除,大概率传输也会遭殃(具体情况具体分析),所以依赖应用进程比较靠谱)
小编寄语 想必大家都知道,Oracle ACE李真旭(Roger)是国内最专业的Oracle 数据库恢复专家。但知识都是触类旁通,真正的专家,从来不会局限在一个方向上。今天分享的内容,是他在MySQL数据恢复上所做的尝试。 本文主要分享在没有备份的情况下,MySQL数据库如何恢复被删除的表。 包含两个主要的场景: 1、drop table后的恢复 2、truncate table后的恢复 正文: 我们都知道,MySQL Server都很多存储引擎,并不是每种都可以进行异常情况之下都恢复,比如drop ta
作者简介 桑凯 现任职于云和恩墨,具有多年 Oracle 数据库企业级运维经验,擅长容灾项目解决方案设计,作为项目经理负责多个基于 Oracle DataGuard 和 GoldenGate 的双中心
在Sybase的Syslogs中我怎么确定Secondary Truncation Point?
ETL是将业务系统的数据经过抽取、清洗转换之后加载到数据仓库的过程,目的是将企业中的分散、零乱、标准不统一的数据整合到一起,为企业的决策提供分析依据。
0x00 前言 数据仓库体系里面的主要内容也写的差不多了,现在补一点之前遗漏的点。这一篇就来聊一下 ETL。 文章结构 先聊一下什么是 ETL。 聊一下大致的概念和一般意义上的理解。 聊一聊数据流是什么样子。因为 ETL 的工作主要会体现在一条条的数据处理流上,因此这里做一个说明。 举个具体的例子来说明。 0x01 什么是 ETL ETL,是英文 Extract-Transform-Load 的缩写,用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过
对于数据仓库,大数据集成类应用,通常会采用ETL工具辅助完成。ETL,是英文 Extract-Transform-Load 的缩写,用来描述将数据从来源端经过抽取(extract)、交互转换(transform)、加载(load)至目的端的过程。当前的很多应用也存在大量的ELT应用模式。常见的ETL工具或类ETL的数据集成同步工具很多,以下对开源的Sqoop、dataX、Kettle、Canal、StreamSetst进行简单梳理比较。
最近间接的获取了不少关于数据流,及数据融合,管道等方面的知识,由于脑子内存小,不写出来很快就会忘记,所以还是硬着头皮写一写。
最近比较忙,不过最近间接的获取了不少关于数据流,及数据融合,管道等方面的知识,由于脑子内存小,不写出来很快就会忘记,所以还是硬着头皮写一写。
<mapper namespace="com.atguigu.mybatis.dao.EmployeeMapperDynamicSQL">
本人于2018年10月27日星期六考完Oracle OCP 1Z0-053,周末休息一天,今天简单的说一说我的考试心得吧。
领取专属 10元无门槛券
手把手带您无忧上云