如何在kdb中重建tplog文件并关联tickerplant,且不影响内存数据?
恢复tickerplant的tplogs文件并关联的方法
1. 删除tplogs后.u.i仍返回计数的原因
tickerplant的日志计数(.u.i)是内存内维护的元数据,和磁盘上tplogs文件的物理存在状态无关。只要tickerplant进程持续运行,这个计数会一直跟踪写入的日志条目数,不会因文件被删除而重置。
2. 重新创建并关联tplogs文件(不影响内存数据)
按以下步骤操作:
- 执行
.u.L命令确认原tplogs文件的完整路径,例如输出为/data/tp/tplogs - 在服务器终端创建同名空文件:
touch /data/tp/tplogs - 配置文件权限,确保tickerplant进程拥有读写权限:
chmod 664 /data/tp/tplogs(权限可根据进程实际运行用户调整) - 在tickerplant的q会话中执行命令:
.u.w[],该命令会让tickerplant重新绑定日志文件句柄,后续新产生的日志会自动写入新创建的文件。
注意:操作全程要保持tickerplant进程处于运行状态,一旦重启,内存中的现有数据会丢失。
3. 重建后的日志写入逻辑
重建并关联新的tplogs文件后,只会写入新产生的日志数据,之前已写入旧文件(已被删除)的历史日志不会被回溯写入新文件。若需要恢复历史日志,只能从之前的备份文件中还原(如果有备份的话)。
内容的提问来源于stack exchange,提问作者Terry
相关产品推荐
相关产品推荐

