首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏MYSQL轻松学

    MYSQL数据方式

    MYSQL官方截止目前还没有出来数据特性,也许后续版本会出现。 社区有一些开源工具可以使用,沿用的基本都是彭立勋最早提出的思路,利用binlog对SQL进行反向解析,从而实现数据,例如不带where条件的update操作,导致全表数据被误更新。 前提: binlog_format = ROW 操作模拟: 没加where条件,导致全表更新;或者没加host列,导致多余行被更新。 方式: 一、利用mysql自带的mysqlbinlog命令解析binlog,再通过grep、sed等命令把binlog中相关SQL误操作给逆向回来,然后导入SQL文件来恢复错误操作。 `user`|### SET' UPDATE `mysql`.

    3.3K80发布于 2018-03-09
  • 来自专栏爱可生开源社区

    技术分享 | MySQL 工具 MyFlash

    ---- 前言 MyFlash 是美团点评开源的一个 MySQL 工具,可以用来回滚 MySQL 中的 DML 操作,恢复到某时刻的数据。 本文将简单地介绍 MySQL 工具 MyFlash 的使用。 限制 MyFlash 工具存在如下限制: binlog 格式必须为 row,且 binlog_row_image = full 仅支持 5.6 与 5.7 版本的 MySQL 只能滚 DML( 增、删 --start-position 指定滚开始的位置。如不指定,从文件的开始处滚。请指定正确的有效的位置,否则无法滚。 --stop-position 指定滚结束的位置。 如不指定,滚到文件结尾。请指定正确的有效的位置,否则无法滚。 --start-datetime 指定滚的开始时间。注意格式必须是 %Y-%m-%d %H:%M:%S。如不指定,则不限定时间。

    1.6K10发布于 2020-12-30
  • 来自专栏数据库与编程

    数据库与删除

    但是在记录日志时,只会将改变前的值保存在flashback buffer中,再由RVWR写入日志中。 时,从日志的尾部向头部方向,依次取出日志中的记录并应用在数据库上。 ,NAME日志的位置,FIRST_CHANGE#日志中记录的最早的SCN,FIRST_TIME日志中记录的最早时间 启用数据库模式 如果想启动FLASHBACK DATABASE的功能 recovery area中的日志将自动全部删除 2.即便以resetlogs打开数据库,当前日志里的内容仍然保留,仍然 可以继续进行以restlogs方式打开数据库。 3.如果数据库的时间点之间进行了控制文件的恢复或重建,数据文件的收缩,或删除了某个表空间,则将失败。 4.日志在出现空间压力的情况下,oracle会自动删除日志,则有可能导致无法回到指定的时间点。

    1.2K30编辑于 2022-04-24
  • 来自专栏职场亮哥

    flashback

    参考资料:Using Oracle Flashback Technology Oracle 11g的新特性操作 查询 查询 版本查询 回事务查询 数据 删除 数据 则需要先启用。 只要打开了特性,就可以进行操作。 查询 参考资料:Using Oracle Flashback Query (SELECT AS OF) 查询某一个历史时间点的数据。 版本查询 版本查询也就是flashback versions query。 数据库 参考资料:Oracle DB(Flashback database)开启笔记 数据库的 是Oracle不同于查询和归档的另外一种机制 Oracle 10g引入 需要配置区域

    99231发布于 2020-10-10
  • 来自专栏python3

    MySQL】数据库工具之binlo

    -B --生成滚SQL [root@wallet01 ~]# mysql -uroot -pabcd.1234 mysql> grant select,replication client,replication  slave on *.* to 'flashback'@'%' identified by 'flashback'; mysql> flush privileges; mysql> show master ]# mysql -utpcc -ptpcc mysql> select now(); +---------------------+ | now()               | +-------- mysql> select count(*) from warehouse; +----------+ | count(*) | +----------+ |       10 | +--------  -utpcc -ptpcc < rollback.sql [root@wallet01 ~]# mysql -utpcc -ptpcc mysql> use tpcc Database changed

    1.1K10发布于 2020-01-14
  • 来自专栏爱可生开源社区

    MySQL 工具大盘点

    ---- 操作数据库时,如果不慎执行了 DML 误操作,工具可以滚这类 DML 误操作。 之前 在使用工具之前,需要明确几个小问题: 哪些 SQL 类型可以使用工具? 可以使用工具滚的 DML 类型包括:DELETE、INSERT、UPDATE,不支持 DDL。 需要满足哪些条件才能使用? 如果 DML 操作涉及的数据量较小,则推荐直接在应用侧执行语句效率更高,但语句需要经过应用侧确认之后,在应用层执行。 有哪些工具推荐? 目前比较主流的 MySQL 工具有 binlog2sql[1]、my2sql[2]、MyFlash[3] 三款。 使用工具只是一种补救措施,安全运维应该在预防误操作上有哪些安排呢? 一个让运维人员睡的安心的数据保障系统(MySQL 版)。 预防,为了减少数据误删除发生的概率,通过交付基线避免。

    49810编辑于 2025-04-09
  • 来自专栏数据和云

    验证GaussDB T 回事务查询功能;表功能强劲TRUNCATE

    二、GaussDB T 的 Flashback Table 功能非常强劲可以TRUNCATE Gaussdb提供了类似Oracle的表功能;可以很好的应对drop table或者truncate 被drop table SQL> flashback table roger.test to before drop; Succeed. 那么truncate 的表能吗 ? SQL> create table roger.test_copy as select * from roger.test ; Succeed. SQL> 可以看到成功回了被truncate table。 那么如果表被truncate之后,被写入数据之后,还能吗? 下面测试一下。 可以看到非常强大;仍然可以进行。。。。 这样妈妈再也不用担心数据被truncate了。。。。 那么如果表被ddl change了,还能吗? 我们进一步验证一下呢?

    83720发布于 2020-02-24
  • 来自专栏宣言(Siam)博客

    Mysql误删,恢复数据,binlog,宝塔面板

    也有团队利用LVM快照来缩短恢复时间,但快照的缺点是会影响mysql的性能。 MySQL(flashback)利用binlog直接进行滚,能快速恢复且不用停机。 本文将简单进行mysql根据binlog数据的实战测试 基础知识准备 binlog是二进制日志文件,用来记录Mysql内部对数据库的改动(只记录对数据的修改操作),主要用于数据库的主从复制以及增量恢复 所以有这种根据binlog得到执行sql语句、sql语句,我们只需要利用根据分析binlog,然后就可以找到准确的数据改动sql,并得到sql,检查无误后执行就可以恢复数据了 准备工作 我们采用 有三条语句 然后每一条语句的最后面还有这样子一段注释 #start 590075 end 590633 time 2019-09-14 22:05:35 这代表的是在log文件中的起始位置和结束位置 sql语句 我们有了起始位置和结束位置,就可以利用工具,得到这一部分变化的sql了 前面的大部分参数都一样 后面的筛选日期参数变成了起始位置和结束位置的值 还有一个-B即可 python binlog2sql.py

    3.6K20发布于 2019-12-17
  • 来自专栏数据和云

    openGauss 2.1.0 特性

    恢复其实是利用回收站的恢复删除的表。利用MVCC机制恢复到指定时间点或者CSN点(commit sequence number)。 技术能够有选择性的高效撤销一个已提交事务的影响,从人为错误中恢复。在采用技术之前,只能通过备份恢复、PITR等手段找回已提交的数据库修改,恢复时长需要数分钟甚至数小时。 重要提示: 遗憾的是,官方文档关于恢复的前提条件并没有描述到位,导致初次接触该功能的小伙伴有些茫然(我也是),无法复现恢复的特性操作。 的功能。 执行查询命令,查看结果 基于timestamp的查询 select * from t1 timecapsule timestamp to_timestamp('2021-10-12 10:03

    1.6K30发布于 2021-10-15
  • 来自专栏开源部署

    Oracle Flashback Query 数据

    首先尝试Flashback Query数据。 dbms_flashback.get_system_change_number  fscn from dual;           FSCN ----------------------           1551702        使用应用用户尝试 根据业务提供的大致误操作时间,结合V$ARCHIVED_LOG视图,选择适当SCN向前执行查询: SQL> select count(*) from emp1 as of scn 1551171 由业务人员通过emp1_recov表确认,向当前表补误删除的数据,至此恢复成功。没有特性的话,需要通过物理备份执行不完全恢复,或者找出足够及时的逻辑备份来进行恢复,其过程都可能是极其复杂的。

    53010编辑于 2022-08-16
  • 来自专栏从ORACLE起航,领略精彩的IT技术。

    Oracle配置和使用

    环境:RHEL 6.4 + Oracle 11.2.0.4 目录: 一、查询 1.1 查询举例 1.2 版本查询举例 二、回事物 2.1 回事物查询的先决条件 2.2 回事物查询 三、表 四、Flashback Data Archive 五、数据库 5.1 配置数据库 5.2 使用数据库 5.3 监视数据库 Reference 一、查询 -- 初始化参数 5.1 配置数据库 5.1.1 开启数据库: --必须配置恢复区 show parameter db_recovery --必须归档模式 shutdown immediate; startup exclusive; alter database flashback off; alter database open; 5.2 使用数据库 RMAN和SQL>提示符下都可以执行。 例如RMAN可以基于线程和特定日志号进行

    1K10发布于 2019-05-24
  • 来自专栏乐沙弥的世界

    Oracle 特性(FLASHBACK DATABASE)

    ============= 技术通常用于快速简单恢复数据库中出现的认为误操作等逻辑错误,从的方式可以分为基于数据库级别、表级别、事务 级别,根据对数据的影响程度又可以分为恢复 ,查询。 日志不能复用,也不能归档。日志使用循环写方式。 数据库的恢复的速度要快于RMAN以及基于用户管理的备份与恢复,其主要原因是因为数据库使用的是日志,而日志中保存的是数据块的完整镜像。 其次能够恢复的程度取决于回空间的大小以及的保留策略,回空间大小会被循环使用,而的保留策略则决定了日志保留的时间长度。总之,合理的平衡恢复速度与可用空间依赖于具体服务要求。

    1.3K40发布于 2018-08-07
  • 来自专栏小麦苗的DB宝专栏

    【DB笔试面试808】在Oracle中,什么是有哪些分类?

    ♣ 题目部分 在Oracle中,什么是有哪些分类? Oracle中技术分类图如下所示: ? 有关需要注意以下几点: (1)查询、版本查询、回事务查询以及表主要是基于滚(Undo)表空间中的滚信息实现的。 (2)删除是基于Oracle中的回收站(Recycle Bin)特性实现的。 (3)数据库是基于恢复区(Flash Recovery Area)中的日志来实现的。 (4)数据归档是基于回归档区中的数据来实现的。

    94130发布于 2020-06-01
  • 来自专栏乐沙弥的世界

    Oracle 特性(FLASHBACK DROP & RECYCLEBIN)

    --============================================== -- Oracle 特性(FLASHBACK DROP & RECYCLEBIN) --====== 本文主要讲述了FLASHBACK DROP特性以及特性中回收站(RECYCLEBIN)的管理。 1) from "BIN$k1zC3yEiwZvgQAB/AQBRVw==$0"; --可以使用回收站名来访问对象,但要对对象加双引号 COUNT(1) ---------- 13 2.实施并查看后的情况 rename to newtbname; 第二条语句用于被删除的表名已经被再次重用,故之前必须将其改名为新表名,schema不变化 9.如回收站中存在两个相同的原表名,则时总是最近的版本 ,如果特定的表,需要指定 该表在回收站中的名称。

    1K30发布于 2018-08-07
  • my2sql数据

    使用限制只能滚DML, 不能滚DDL使用回滚/功能时,binlog格式必须为row,且binlog_row_image=full, DML统计以及大事务分析不受影响MySQL8.0版本需要在配置文件中加入 default_authentication_plugin =mysql_native_password,用户密码认证必须是mysql_native_password才能解析此工具是伪装成从库拉取binlog `t1` SET `b` = 'aa' WHERE `id` = 2确定flashback位置mysql> show master status ;+---------------+---------- /滚误操作$ lltotal 124M-rw-r--r-- 1 root root 107 Sep 14 10:09 biglong_trx.txt-rw-r--r-- 1 root root `t1` SET `b`='b' WHERE `id`=2;数据并不是万能的,备份恢复是最后底线。

    26120编辑于 2024-10-24
  • 来自专栏全栈学习专栏

    openGauss数据库功能验证

    背景 openGauss功能能够有选择性的高效撤销一个已提交事务的影响,从人为错误中恢复。在采用技术之前,只能通过备份恢复、PITR等手段找回已提交的数据库修改,恢复时长需要数分钟甚至数小时。 truncate基于回收站机制,通过还原回收站中记录的表的物理文件,实现已truncate表的恢复。 DROP:可以恢复意外删除的表,从回收站(recyclebin)中恢复被删除的表及其附属结构如索引、表约束等。 后来查看管理员指南,在特性描述倒是说了“ASTORE引擎暂不支持功能。备机不支持操作。”在开发者指南 CREATE TABLE部分找到这么一句话。 因此,由于openGauss建表默认为astore模式,是不支持的。所以,现在需要修改建表脚本为ustore模式。

    1.3K20编辑于 2023-02-01
  • 来自专栏开源部署

    Orcale利用功能恢复数据

    从9i开始,Oracle提供了(FLASHBACK)功能。 使用FLASHBACK TABLE语句从撤消段中(undo segment)读取该表的过去映像,并利用Oracle9i中引入的查询重建表行。UNDO_RETENTION给出了支持的最小时间。 (当然,如果滚表空间的空间分配不足,当系统处于忙时,有可能重用还没有达到UNDO_RETENTION时间限制的数据的空间)。使用的一个前提是表不能进行DDL操作。 不但不能对DDL操作进行,而且,也无法回到DDL操作以前的数据了。 一.delete误删 方法1:如果表结构没有改变,直接整个表,具体步骤: --首先需要表权限,开启行移动功能 alter table 表名 enable row movement; --执行恢复表数据到某个时间点

    1.1K20编辑于 2022-08-16
  • 来自专栏乐沙弥的世界

    Oracle 特性(Flashback Version、Flashback Transaction)

    版本查询同查询,表一样,同样是使用了UNDO段的数据,即数据变更的多次镜像 ,当UNDO段的数据由于空间压力而被清除,则产生无法的情况。 ) 回事务查询是对版本查询的扩展。 从某种程度上来说,版本查询通常用于更细粒度的查询,如针对特定的记录。而回事务则是 针对某一事务进行,是基于事务级别的。 3.回中不能对DDL语句进行,即仅仅支持DML语句。 四、更多参考 有关特性请参考 Oracle 特性(FLASHBACK DATABASE) Oracle 特性(FLASHBACK DROP & RECYCLEBIN) Oracle 特性

    1.2K20发布于 2018-08-07
  • 来自专栏公众号:Lucifer三思而后行

    Oracle DataGuard 备库配置模式

    Oracle 数据库通常设置在 DataGuard 备库,如果主库误删数据,可用备库至删除点之前,获取丢失数据,然后再自动同步回来! 注意: 主库不建议开启,首先影响性能,其次主库不可能为了某些数据去做,所以很鸡肋! 那么,DataGuard 备库如何开启数据库? 需要有充足的磁盘空间 1、第一步,关闭 DataGuard 备库同步进程 ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL; 2、第二步,开启功能 /oradata/fast_recovery_area 需要物理真是存在,设置的区大小即日志占用磁盘空间的上限! 一段时间,确认 100G 空间能够保留多久的日志,大致推算出需要保存固定时间日志的空间,根据实际情况进行修改! ----

    1.3K10发布于 2021-09-14
  • 来自专栏数据库解决方案

    my2sql 操作流程

    简介: go版MySQL binlog解析工具,通过解析MySQL binlog ,可以生成原始SQL、滚SQL、去除主键的INSERT SQL等,也可以生成DML统计信息。 GitHub地址:https://github.com/liuhr/my2sql my2sql有三个主要功能,今天只介绍功能: #执行操作具体操作流程 #解析binlog生成标准SQL #解析binlog sec) 解析一下binlog,因为是测试,并没有其他热写入数据,我按时间区间去 [root@localhost data]# mysqlbinlog --base64-output=decode-rows 1000 -output-dir /tmp 限制 使用回滚/功能时,binlog格式必须为row,且binlog_row_image=full, DML统计以及大事务分析不受影响 只能滚DML, 不能滚DDL 支持指定-tl时区来解释binlog中time/datetime字段的内容。

    1.1K72发布于 2021-08-19
领券