注册
DMSQLCOPY
技术分享/ 文章详情 /

DMSQLCOPY

Azarias 2026/07/31 172 0 0

DMSQLCOPY
DMSQLCopy 工具在不影响数据库运行的情况下,将用户对数据库的操作记录并转发到其他数据库进行测试,目前支持被捕获的数据库类型有 oracle11 、 dm6 、 dm7 和 dm8 、 mysql 。

应用组成
嗅探器
嗅探器的功能是捕获用户对数据库的操作发送的网络数据包。用户需指定需要捕获的网卡、数据库ip及端口号,根据数据库ip和端口号可以过滤得到与数据库通信的网络数据包。

嗅探器模块可以与其他模块集成运行,也可以单独作为一个独立模块运行。

集成运行模式
当处于集成运行模式时,所捕获到的网 络数据包通过内存直接发送到分析器分析处理;处于独立运行模式时,此时会存在在线和离线两种方式。
离线运行时
捕获到的数据包直接存入到指定的文件缓存文件夹中,当缓存文件个数达到最大数量时,由用户决定是否对缓 存文件覆盖继续写入;
在线运行时
在线运行时,会首先判断缓存文件夹中有无缓存文件,存在缓存文件时,读取缓存文件通过 socket发送给分析器处理,后续捕获到的数据包当缓存文件发送完后才会存入内存缓存中,否则放入文件缓存中。

独立运行时的缓存模块由内存缓存和硬盘缓存组成,离线模式下只会开启硬盘缓存;在线运行时,会同时开启内存 缓存和硬盘缓存,硬盘缓存存在文件时,为保证顺序,之后捕获的数据包写入文件缓存,当文件缓存达到最大时, 此时会将抓包服务关闭。

协议分析器
分析器的功能是将嗅探器所捕获到的请求/响应数据进行分析,最终得到数据包所携带的命令、或SQL、或参数、或 参数类型等。
根据嗅探器的运行方式,分析器获取嗅探器所捕获数据的方式有三种:集成运行模式,由嗅探器直接在应用程序内 部传递给分析器;独立运行socket接收模式,当分析器正在运行时由嗅探器通过Socket发送给分析器;独立运行读缓存模式,嗅探器将捕获到的网络通信包缓存起来,分析器在设置好的缓存目录读取解析。

执行器
执行器的主要功能是根据所收到的命令在目的数据库上执行分析器分析出来的SQL或其他命令,以及统计执行后的 结果并写入到用户指定的文件夹下以便于查看。测试数据端支持单独使用DM数据库或Oracle数据库,或者同时使 用DM数据库和Oracle数据库。
执行器可根据配置项(EXECUTOR_CACHE_ANALYSIS)来决定其是否缓存分析结果。该配置项为“true”时表示缓存 分析结果,执行器不会立即执行这些分析结果而是将其缓存到文件系统中,由用户后续的操作来决定其执行时间和 次数。该项配置成“false”时表示不缓存分析结果,也即立即执行分析结果中携带的命令。
执行器模块内部维护一个源端数据库连接与目的数据库连接的映射关系,该映射以IP和端口作为键,以目的数据库 连接为值。
web控制台
WEB控制台主要是用于展示嗅探器、分析器和执行器综合作用的结果,以及提供修改配置参数和控制应用启动停止 的方法。启动应用后使用浏览器访问,端口是用户预先在文件 sqlcopy.ini 指定的。
sqlcopy.conf连接oracle12.1.0.2,dm8

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服