PG之闪回数据库

0    555    4

👉 本文共约1091个字,系统预计阅读时间或需5分钟。

误操作恢复的文章参考:

在Oracle中,若发生重大的误操作,那么我们可以使用flashback database命令来把数据库整体闪回到过去的误操作的时间点,当然前提是需要打开数据库的闪回功能。

在PG中,能否也可以执行类型的操作呢,答案是肯定的。

闪回数据库过程示例

误操作恢复的过程命令参考:

1、误操作

本人提供Oracle、MySQL、PG等数据库的培训和考证业务,私聊QQ646634621或微信db_bao,谢谢!

2、查找误操作的事务号

首先可以根据时间来判断大致是哪几个WAL日志文件,再进行逐个日志分析查找,本次实验的WAL日志为“0000000100000002000000B2”,根据得到当前的事务号以及日志文件,开始寻找恢复日志的数据范围

可以找到本次误操作的事务号为“452490”。

PG之闪回数据库

“CREATE base/16484/41318”为新建表的操作,表示数据库oid为16484,表的oid为41318。

3、在找到并确认事务号的情况下,关闭数据库服务

4、通过指定事务号的方式重置数据库

5、启动数据库并且查看数据是否恢复

经过确认数据已经恢复。

6、注意

1、在进行了闪回数据库操作后,设置的LSN号后的数据都被回滚了,相当于回滚到指定的事务LSN 号的位置

2 WAL日志整体被清理,原有的日志都没有了。

使用PG日志挖掘工具之WalMiner恢复误操作的数据

其实,如果只是误操作删除了为数不多的一些数据,那么我们完全没有必要执行闪回数据库的操作,尤其在生产库中,执行闪回数据库的操作可能性非常低,在这种情况下,我们可以使用PG日志挖掘工具之WalMiner来生成Undo数据,如下示例:

执行过程:

    头像

    小麦苗

    学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

    您可能还喜欢...

    发表评论

    您的电子邮箱地址不会被公开。

    7 + 9 =

     

    嘿,我是小麦,需要帮助随时找我哦
    • 18509239930
    • 个人微信

    • 麦老师QQ聊天
    • 个人邮箱
    • 点击加入QQ群
    • 个人微店

    • 回到顶部
    返回顶部