本文作者:杨槐(花名:渡劫)袋鼠云大数据开发工程师,负责FLinkx的开发与维护。
Oracle LogMiner 是 Oracle 公司从产品 8i 以后提供的一个实际非常有用的分析工具,使用该工具可以轻松获得 Oracle 在线/归档日志文件中的具体内容,特别是该工具可以分析出所有对于数据库操作的 DML 和 DDL 语句。该工具特别适用于调试、审计或者回退某个特定的事务。LogMiner 分析工具实际上是由一组 PL/SQL 包和一些动态视图( Oracle8i 内置包的一部分)组成,它作为 Oracle 数据库的一部分来发布是 8i 产品提供的一个完全免费的工具。但该工具和其他 Oracle 内建工具相比使用起来显得有些复杂,主要原因是该工具没有提供任何的图形用户界面( GUI)。
解析Redo log文件是一项复杂的任务,它涉及到对Oracle数据库内部数据结构的深入理解和处理。在这里,我提供一个示例代码框架,它使用了Oracle官方提供的LogMiner工具来解析Redo log文件。请注意,这只是一个简单的示例,你需要根据具体的需求和环境进行适当的修改和扩展。
在Oracle中,LogMiner是什么?其有哪些用途?请简述LogMiner的使用过程。
编辑手记: LogMiner是用于Oracle日志挖掘的利器,使用该工具可以轻松获得Oracle 重做日志文件(归档日志文件)中的具体内容,LogMiner分析工具实际上是由一组PL/SQL包和一些动态视图组成,它作为Oracle数据库的一部分来发布,是oracle公司提供的一个完全免费的工具。本文主要演示LogMiner的使用,直观展示LogMiner的作用。 环境:Oracle 11.2.0.4 RAC 1.查询当前日志组 2.业务用户插入操作 3.归档日志切换 4.业务用户插入操作 5.归档日志切换
在现代企业中,数据是至关重要的资产,确保数据在不同数据库间的实时同步变得尤为重要。Oracle数据库作为业界领先的数据库管理系统,提供了多种技术方案用于实现实时数据同步。本文将介绍几种常见的Oracle数据同步方案,包括使用GoldenGate、数据库触发器与自定义应用、第三方ETL工具以及LogMiner方式。
我们在《微服务是在双刃剑 http://www.jianshu.com/p/82ec12651d2d 》中提到了当我们将应用服务化以后,很多在单块系统中能够开展的数据统计和分析业务将会受到很大程度的影响,本文将延续上一篇文章深入分析服务化后,作为后端的数据统计和分析如何做。
爱可生测试团队成员,主要负责 DTLE 开源项目相关测试任务,擅长 Python 自动化测试开发。
Oracle通过Redo Archived实现数据的归档 什么是Redo日志 Redo日志记录了数据的变更,用于在数据库出现故障后,进行数据恢复。 功能主要由三个组件实现:Redo Log Buffer、LGWR后台进程、Redo Log File。 Redo Log Buffer是Oracle共享内存中的一段空间,记录了数据库的变更历史,包括:insert,update,delete,create,alter,drop等。 过程: 用户内存中的记录 --复制--> SGA中的Redo Log Buf
分析Oracle数据库日志文件(1) 一、如何分析即LogMiner解释 从目前来看,分析Oracle日志的唯一方法就是使用Oracle公司提供的LogMiner来进行, Oracle数据库的所有更改都记录在日志中,但是原始的日志信息我们根本无法看懂,而LogMiner就是让我们看懂日志信息的工具。从这一点上看,它和tkprof差不多,一个是用来分析日志信息,一个则是格式化跟踪文件。通过对日志的分析我们可以实现下面的目的: 1、查明数据库的逻辑更改; 2、侦察并更正用户的误操作; 3、执行事后审计;
我们知道已经有很多像Awtstat这样的使用perl、c或者c++开发的强大的日志分析工具,但是同样也有很多使用PHP开发并且开源的日志分析软件,今天我就收集了一些与大家分享。
这里当前日志(current)是: thread 1 sequence 30 thread 2 sequence 25
Oracle数据库开启附加日志,用于Logminer或基于Logminer的一些操作。 客户咨询关于开启附加日志,SUPPLEMENTAL_LOG_DATA_MIN显示为啥是implicit,如何改成yes呢? 因为要同步数据给某国产库,有对应工具要求开启附加日志,可以简单理解为类似ogg的同步工具吧,调试时有报错,国产厂商认为是implicit不为yes导致。
一般来说以上都默认包含LogMiner分析包,无需再安装 。如果不能确认,可以 DBA 身份登录系统,查看系统中是否存在运行 LogMiner 所需要的 dbms_logmnr、 dbms_logmnr_d 包,如果没有需要安装 LogMiner 工具,必须首先要运行下面这样两个脚本:ORACLE_HOME/rdbms/admin/dbmslm.sql ORACLE_HOME/rdbms/admin/dbmslmd.sql 。这两个脚本必须均以 DBA 用户身份运行。
终于到了真正的操作篇,不过Logminer的操作真的是很简单,关键还是当中的一些原理和如何合理应用Logminer。
LogMiner可以用来分析在线/redo日志,也可以用来分析离线日志文件/归档日志,是由一组PL/SQL包和一些动态视图组成,而且是免费的。
刘伟,云和恩墨软件开发部研究院研究员;前微博DBA,主要研究方向为开源数据库,分布式数据库,擅长自动化运维以及数据库内核研究。
Log Miner是Oracle自Oracle 8i以后推出的一个可以分析数据库redo log和archivelog内容的工具,可以通过日志分析所有对数据库的DDL和DML操作,也可以分析出操作的时间与操作时的SCN和进行操作的机器,对于DML操作还可以查询出还原操作的sql。
随着数据库规模的增长和复杂性的增加,管理和维护Oracle数据库变得越来越具有挑战性。
系统配置:Linux CentOS 5、Oracle Enterprise Edition Release 10.2.0.1.0、表级单向流复制 问题现象:流复制失效,源表更新,目标表没有更新 排错过程:
作者个人研发的在高并发场景下,提供的简单、稳定、可扩展的延迟消息队列框架,具有精准的定时任务和延迟队列处理功能。自开源半年多以来,已成功为十几家中小型企业提供了精准定时调度方案,经受住了生产环境的考验。为使更多童鞋受益,现给出开源框架地址:
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wzy0623/article/details/53924087
execute dbbms_workload_repository.create_snapshot();
在Oracle中可以通过闪回技术来找回已经删除并且提交了的数据。当然,除了闪回技术外还可以采用LogMiner(使用该工具可以轻松获得Redo日志文件包含归档日志文件中的具体内容)进行日志挖掘,找出其撤销SQL并执行就可以找回DELETE语句删除的数据。
MySQL有阿里巴巴开源的Canal作为数据变化订阅工具,而Oracle作为最复杂的商业数据库,目前还没有比较好的数据变化订阅工具。
温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。 Fayson的github: https://github.com/fayson/cdhproject 提示:代码块部分可以左右滑动查看噢 1.文档编写目的 ---- 在前面的文章Fayson介绍了关于StreamSets的一些文章,参考《如何在CDH中安装和使用StreamSets》、《如何使用StreamSets从MySQL增量更新数据到Hive》、《如何使用StreamSets实现MySQL中变化数据实时写入K
互联网时代,电子支付方式日益便捷,而信用卡欺诈手段也在不断向高科技、专业化、规模化发展,案件实施过程隐蔽,更易造成巨大损失。诈骗者通常会先入侵安全级别较低的系统来盗窃卡号,用盗得的信用卡进行小额消费测试,如果测试成功,则会用此信用卡进行大笔消费,购买倒卖财物,进而达到诈骗敛财的目的。
在很多的数据处理任务中,我们经常会用到数据同步的需求,尤其是异构数据库同步,当然目前世面上有很多的数据同步工具,开源和商业的都有很多,当然Oracle自身也可以实现数据的实时或者异步同步。这里我们示例一下通过配置 Oracle 提供的 LogMiner 免费工具,进行数据变更的捕获。配置完成后,动手能力强的小伙伴,就可以自己写个代码,解析相应的变更,然后可以做成同构或者异构数据库的同步工具。
说到闪回日志,我们都知道闪回日志中记录的都是逆操作,那么就有两个问题需要解释了。 闪回日志和回滚段保存的数据有什么差别? 如果做了truncate操作,闪回日志是怎么记录的,怎么能够通过闪回恢复数据。 第一个问题是一个同学问的,第二个问题是我偶然想起来的,当然这两个问题还是蛮有意思。我们的目标就是解释清楚下面的两个问题。 当然要深刻理解这个问题,一个重要的部分就是得先明白redo的基本情况。 借用大师Jonathan Lewis的话说,Oracle里面最重要的特性是在V6提出的改变向量,改变向量是
在求职数据库相关的岗位的时候,经常会被问到一个问题:在开发或维护过程中误操作TRUNCATE了一张表,如何恢复?这个时候应该由简到难地回答,可以按照如下的步骤进行回答:
Flink CDC 于 2021 年 11 月 15 日发布了最新版本 2.1,该版本通过引入内置 Debezium 组件,增加了对 Oracle 的支持。本方案主要对 flink-connector-oracle-cdc进行试用。首先在本地对 Oracle CDC 进行调试通过,然后结合腾讯云产品流计算 Oceanus、EMR(Kudu)实现了 Oracle-Oceanus-Kudu 一体化解决方案,其中并无复杂的业务逻辑实现(这里进行最简单的数据转移,用户可根据实际业务情况编写相应代码),并对其中发现的一些问题进行归纳整理与读者分享。
作者:于乐,腾讯 CSIG 工程师 解决方案描述 概述 Flink CDC 于 2021 年 11 月 15 日发布了最新版本 2.1,该版本通过引入内置 Debezium 组件,增加了对 Oracle 的支持。本方案主要对 flink-connector-oracle-cdc进行试用。首先在本地对 Oracle CDC 进行调试通过,然后结合腾讯云产品流计算 Oceanus、EMR(Kudu)实现了 Oracle-Oceanus-Kudu 一体化解决方案,其中并无复杂的业务逻辑实现(这里进行最简单的数据转
今天谈下大数据平台构建中的数据采集和集成。在最早谈BI或MDM系统的时候,也涉及到数据集成交换的事情,但是一般通过ETL工具或技术就能够完全解决。而在大数据平台构建中,对于数据采集的实时性要求出现变化,对于数据采集集成的类型也出现多样性,这是整个大数据平台采集和集成出现变化的重要原因。
对于将物理备库切换到逻辑备库,需要在主库构建LogMiner字典及启用补充日志,因此应先停用备库的MRP进程,避免产生额外的Redo Apply。如果正在使用Broker管理现有的物理备库,应先在Broker中禁用目标数据库。
我很高兴宣布 Debezium 1.9 系列的第二个版本,1.9.0.Alpha2 正式发布。此版本包含了对 Oracle 21c 的支持、围绕 Redis for Debezium Server 的改进、配置 kafka.query.timeout.ms 参数以及围绕 DDL 解析器、构建基础架构等的许多 Bug 修复。整体来说,在此版本修复了 51 个问题。让我们一起看看其中的一些亮点。
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
实时同步是 ChunJun 的⼀个重要特性,指在数据同步过程中,数据源与⽬标系统之间的数据传输和更新⼏乎在同⼀时间进⾏。
日志文件的六种状态UNUSED,CURRENT,ACTIVE,CLEARING,CLEARING_CURRENT,INACTIVE代表的意思分别如下所述:
基于本周二发的文章《TRUNCATE恢复-bbed》(详戳),有些朋友或许对块结构和bbed不熟悉,且bbed的方法也较为复杂,那么大家也可以尝试使用本文的方法来修复。
一、一个不经意的问题? 做例行检查的时候,我基本会看看大体的DB time情况,是否有较大的抖动,归档频率是否频繁,近期是否有监控报警等,当然很多细则不需要一个一个去确认,打开Zabbix里面的zat
今天开发的同学小窗口消息给我,向我咨询一个ORA错误的问题。 错误代码是ORA-30036,使用oerr ora 30036查看,由于是undo空间无法扩展导致。 这是一个统计业务的数据库,而且平时的负载其实并不高,确实有一些奇怪。首先排除了大事务导致的原因,查看数据库日志,和开发同学沟通,没有发现相关的错误信息。 所以第一感觉这是一个偶然发生的情况,不过开发的这位同学貌似碰到了问题,他说从应用端抛出了ORA-30036的错误。 java.sql.BatchUpdateException:ORA-30036
对于DBA来说,面对误操作带来的数据恢复难度,其实很大。主要有以下几个方面: 误操作的影响范围极大,很可能不是删点,改点数据的操作,有时候可能是让人望而兴叹的truncate,drop操作。 数据恢复时需要确认数据损坏的时间点,依此来作为数据恢复的一个基准,该舍弃多少数据,该如何权衡,非常关键。 一旦信息提供错误,是否经得起反复折腾,我想这个对于绝大多数的数据恢复而言,基本都是一锤子买卖,能恢复已经不错了,还要反复恢复。但是一旦出现这种情况,可不能马上乱了阵脚。 灾备方案好不好,一试便知 自己也
如何知道是否开启了实时应用呢?可以查询V$LOGSTDBY_STATE视图或查询是否有lsp进程。
解答:Coalescing针对于字典管理的tablespace进行碎片整理,将临近的小extents合并成单个的大extent.
众所周知,truncate table 是一种快速清空表内数据的一种方式,与 delete 方式不同,truncate 只产生非常少的 redo 和 undo,就实现了清空表数据并降低表 HWM 的功能。本文主要围绕 truncate table 的实现原理和 truncate table 的恢复来展开。
数据抽取是指从源数据源系统抽取需要的数据。实际应用中,数据源较多采用的是关系数据库。总体而言,数据抽取的常见方法有两大类,一是基于查询式的,一是基于日志的。
SQL> alter system set nls_date_format='yyyy-mm-dd hh24:mi:ss' scope=spfile;
众所周知,TRUNCATE TABLE是一种快速清空表内数据的一种方式,与delete方式不同,truncate只产生非常少的redo和undo,就实现了清空表数据并降低表HWM的功能。本文主要围绕TRUNCATE TABLE的实现原理和TRUNCATE TABLE的恢复来展开。
领取专属 10元无门槛券
手把手带您无忧上云