数据库重演(DatabaseReplay)是DM中用来重现、定位和分析问题的一个重要手段,其基本原理是在数据库系统上捕获所有负载(记录外部客户端对服务器的请求),保存到二进制捕获文件,然后通过DM提供的数据库重演工具将捕获文件中的请求发送给捕获前由原始数据库备份恢复而来的重演测试系统上,从而帮助重现当时的场景。
用户可以调用系统过程sp_start_capture来启动捕获发往数据库的所有负载,并将该阶段收到的所有请求保存到二进制捕获文件中,然后使用DM提供的数据库重演客户端工具重放二进制捕获文件,再现当时真实环境的负载及运行情况,帮助进行问题跟踪和诊断。
调用SP_START_CAPTURE和SP_STOP_CAPTURE存储过程可以获得数据重演文件,具体使用方法如下:
SP_START_CAPTURE(path varchar(256),duration int)开启捕获
path:捕获文件保存的绝对路径
duration:捕获持续的时间,如果设置为-1秒,表示需要手动停止捕获,或者磁盘空间满了自动停止。
SP_STOP_CAPTURE()停止捕获
1.开始捕获并将数据重演文件放在/home/dmdba下,持续时间为手动停止。
2.开始捕获之后,通过客户端创建表并插入数据。
3.停止捕获
4.使用dreplay工具进行数据库重演
5.查询表replay_test数据
领取专属 10元无门槛券
私享最新 技术干货