mysql oracle replay
今天我们来简单聊聊MySQL和Oracle中的重放(replay)技术。
重放技术是指通过重新执行历史操作记录来复现回归测试或故障的功能。对于数据库系统来说,基于日志的重放技术被广泛使用。我们知道,MySQL和Oracle都提供了记录数据库操作历史的日志功能(mysql-binlog和Oracle redo log),那么针对这些日志,如何进行回放并对历史操作进行验证呢?这就需要使用到MySQL和Oracle中的重放技术了。
MySQL中的日志源分为三个:binlog、relay log和错误日志。其中binlog和relay log都可以被MySQL的回放程序replay。(也就是说,二进制日志可以跨服务器回放。因为一个主库二进制日志的副本即为中继日志,且中继日志可以从主库再次被实例化成为新的副本。)我们看一个简单的例子:
mysqlbinlog --start-position=107 mysql-bin.000001 | mysql -hlocalhost -uroot -p123456