注册
数据重演
专栏/金的探索记录/ 文章详情 /

草稿 数据重演

2021/01/20 1783 1 0
摘要 数据库重演(DatabaseReplay)是 DM 中用来重现、定位和分析问题的一个重要手段

数据库重演(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下,持续时间为手动停止。
call SP_STSRT_CAPTURE('/home/dmdba/1029_1',-1);
  1. 开始捕获之后,通过客户端创建表并插入数据。
Create table replay_test(id number,name varchar2(20)); Insert into replay_test values(1,'AAA'); Insert into replay_test values(2,'BBB'); Insert into replay_test values(3,'CCC'); Insert into replay_test values(4,'DDD');
  1. 停止捕获
call SP_STOP_CAPTURE();
  1. 使用dreplay工具进行数据库重演

6.png

  1. 查询表 replay_test 数据
select * from replay_test;

5.png

评论

作者

文章

阅读量

获赞

扫一扫
联系客服