转http://hi.baidu.com/ah__fu/blog/item/309462946d463415d31b7058.html
今天一位朋友找我,说复制出来的tch文件,在遍历的时候少读出了很多记录。
阅读tchdb.c的源码,遍历的实现实际上是从文件的第一条记录开始,按照每个记录块遍历。因此,这样的遍历实际上是对所有记录的快照,如果服务器当时处于频繁的添加和删除,遍历是无法准确获取所有记录的。
这位朋友又提到,tch文件是在LINUX下用cp拷贝出来的,未处于联机状态。备份数据库的时候,直接对tch文件进行复制是不能完整的读取数据的,正确的办法是使用TokyoTyrant本身提供的备份工具来进行备份。用工具备份的时候,数据库处于加锁排他状态,能够保证数据的完整性。
从这点再想到,关闭ttserver的时候,一定不要野蛮地使用kill -9来杀死ttserver进程,必须使用kill -15或者kill -TERM来通知ttserver自动关闭。ttserver收到信号后,会将内存中的数据全部同步到磁盘,再退出,否则,写入的瞬间如果被杀死,可能导致记录块错误,造成tch文件的永久损坏。
因此,使用ttserver的时候,切记ttserver远比mysql脆弱,对于重要的数据,应该对数据的安全性引起重视。
这些情况需要了解:
1、写入的瞬间,如果ttserver进程被杀死,可能导致tch文件的某些记录块损坏,或者某些记录丢失。比如更新记录的时候,如果原来的块不够大,会先删除旧记录,再在新的位置插入,如果在这瞬间杀死进程,记录就会丢失;
2、写入记录后,如果ttserver进程被杀死,数据不会丢失。写入后,虽然数据未完全写入磁盘,但记录还存在于内核缓冲区中,进程杀死后,内核缓冲区中仍保留了数据,之后操作系统会负责写回;
3、瞬间断电,文件损坏、记录块损坏、数据丢失都是有可能发生的;
4、双击互为主备,这是对于重要的数据存储推荐的做法。如果希望数据的安全性更高,可以选择flare或者LightCloud等应用,通过群集来提高安全性;
5、ulog日志是可以用于数据恢复的,如果可能尽量保存足够完整的ulog日志;
6、不要在服务器运行的时候拷贝数据,很可能拷贝出来的数据文件是坏的。有三个办法:
·通过ulog文件,使用数据恢复的方式复制数据:tcrmgr restore -port 20000 192.168.0.100 $(pwd)/old_ulog/
·新建一个ttserver,将master指向要复制的服务器,这样就可以把旧服务器上的数据复制过来了
·使用tcrmgr工具备份出离线文件(不要直接cp):tcrmgr copy -port 20000 192.168.0.100 $(pwd)/temp/test2.tch。需要注意的是,这个工具会锁住整个数据库,访问频繁的时候不要执行。
分享到:
相关推荐
本手册《TT 安全技术专题之“Web 应用程序安全手册”》深入探讨了这个问题,为Web开发人员、安全工程师和网络管理员提供了宝贵的指导。 Web应用程序安全问题的本质主要集中在三个方面: 1. 输入/输出验证(Input/...
TT安全-配置应用防火墙 有需求的人马上要看的
TCA-TT安全栅支持多种热电偶类型,例如常见的S型、K型、E型等,并且即使产品目录中未列出的热电偶类型,用户也可以通过指定的方式进行订货,以满足特殊应用需求。 其次,TCA-TT热电偶输入温度变送隔离安全栅在设计...
"TT网页协议"是一种专为特定网页交互设计的通信协议,它可能包含了高效的数据传输机制、安全认证方式以及特定的请求响应格式。在互联网技术领域,自定义的网页协议往往是为了满足特定应用或服务的需求,比如优化数据...
TT CAN是一种增强型CAN(Controller Area Network)通信协议,它在传统的CAN基础上增加了时间触发通信特性,提供了更高级别的确定性和安全性,尤其适用于汽车、航空和工业自动化等对实时性要求极高的领域。...
再者,"TT远程利器"所提供的高效、安全的远程连接方式,不仅为用户提供了便捷,同时也保证了数据传输的安全性。在远程控制过程中,安全始终是一个不可忽视的问题。"TT远程利器"可能通过建立加密通道来保护数据传输...
通过存储和加密用户的登录信息,TT提供了一种既方便又安全的解决方案,消除了反复输入密码的麻烦。 2.4. TT网络同步模块 网络同步模块使得用户的数据能够在不同设备间无缝同步,无论是在手机、平板还是电脑上,都能...
在安全性方面,"tt文件下载器"可能内置了安全扫描功能,对下载的电影文件进行病毒检测,确保用户在享受观影乐趣的同时,不会遭受恶意软件的侵扰。此外,隐私保护也是重要的考量,软件可能有严格的隐私政策,不收集...
OTIS电梯TT故障查看与清除是一项关键的电梯维护工作,涉及到电梯系统的稳定运行和乘客的安全。OTIS电梯作为全球知名的电梯品牌,其故障处理流程有严谨的规范和技术要求。以下将详细阐述如何进行TT故障的查询和清除。...
一汽大众奥迪TT使用手册是一本详细的指南,其中包含了关于车辆操作、维护、安全和智能技术等方面的详细信息。这本手册由奥迪股份公司版权所有,并对所有车型持续进行后续开发,可能随时改进产品的外形、装备和技术。...
标题中的"ARM_TT_AutoUpdate_270.exe"是一个特定的可执行文件名,通常代表一个...通过了解这些知识点,开发者和用户都能更好地理解和维护他们的ARM_TT环境,并确保其始终处于最新状态,从而利用最新的功能和安全补丁。
"TT模拟器7.5不发乱码"是一款专门针对爱富丽品牌的灯光控制系统设计的软件模拟器。这款模拟器的版本为7.5,它解决了之前版本中可能出现的文字乱码问题,确保用户在操作过程中可以清晰、无误地读取所有信息。这在很大...
【标题】"tt.rar后台代码资源"涉及到的是一个单一页面应用程序(SPA)项目的后端开发内容,主要涵盖登录注册功能、动态树结构展示、数据表格处理以及分页机制的实现。SPA是一种现代Web应用开发模式,它允许用户在不...
保持软件的最新状态对于确保安全性和新功能的使用至关重要,24TT抽奖软件通过这个功能让使用者可以轻松获取到最新的功能和修复。 【速下载.htm】可能是一个网页链接或说明文件,指导用户如何快速下载软件或获取最新...
此时,IO可以在VDD+4V的范围内保持安全。但如果FT IO被配置为模拟输入,模拟开关闭合,则输入信号幅度必须小于VDDA+0.3V。 - **TT IO**:由于不存在模拟开关,TT IO的模拟单元寄生二极管与IO端口直接相连,因此任何...
总的来说,【TT社区S扫描器】是针对特定安全漏洞设计的一款实用工具,它的存在不仅体现了网络安全领域的应急响应能力,也为网络防御提供了有力的技术支持。通过熟练掌握和合理使用这款扫描器,我们可以更好地保护...
【标题】"TT-168L1 USB打印服务器编程器固件MT7620.rar" 提供的是一个用于更新TT-168L1 USB打印服务器的固件升级程序,该固件基于MT7620芯片。固件是设备的操作系统,负责控制硬件并提供与上层软件的接口。 【描述...
在低压配电系统设计中,TT系统、TN系统和IT系统是三种主要的系统类型,它们在电气安全方面具有显著的差异。这些系统的设计主要是为了确保人身安全和设备的正常运行,防止因电气故障导致的触电事故。接下来,我们将...
标题“TT会员版iPhone6在线”暗示我们正在讨论一个针对iPhone 6用户的特定软件版本,可能是某种应用程序或服务的特别定制版,专为TT(可能是一个平台或服务的缩写)的会员设计。这个“在线”部分可能意味着该软件与...