微信 SQLite 数据库 损坏恢复实践
微信 SQLite 数据库 损坏恢复实践 johnwhe (何俊伟) ◊ 问题背景 ◊ 常规做法 ◊ 数据备份 ◊ Repair Kit ◊ 组合方案 SQLite 恢复 ◊ 微信聊天记录只存客户端 ◊ SQLCipher 加密数据库 问题背景 ◊ SQLite 概率性损坏 ◊ 1/20,000 ~ 1/10,000 ◊ 256MB ~1%,1GB ~1‰ ◊ 设备断电、kernel Repair Kit ◊ 组合方案 SQLite 恢复 ◊ .dump 命令 ◊ 来自 SQLite 命令行工具 ◊ 整个 DB 输出为 SQL 语句 常规做法 .dump 输出 ◊ 打开损坏 DB 后使用 ◊ 遇到错误前一直输出 ◊ 遇到错误,跳到下一个表 .dump 用于恢复 ◊ 成功率仅 ~30% ◊ 打不开 DB ◊ 打开了读不出数据 .dump 成功率 ◊ 问题背景 1545 72% 28% 恢复成功 恢复失败 线上恢复率 备份未覆盖 备份损坏 时效问题 ◊ 问题背景 ◊ 常规做法 ◊ 数据备份 ◊ Repair Kit ◊ 组合方案 SQLite 恢复 SQLite 损坏情况 41% 59% 表损坏 初始化失败 可以打开 数据部分损坏 无法打开 数据可能没坏 SQLite 文件格式 1 2 3 4 5 6 70 码力 | 31 页 | 546.35 KB | 1 年前3Debian GNU/Linux 安装手册 July 23, 2023
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 8.6 修复损坏的系统 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 A 安装指南 58 访问相同的文 件系统,这就有可能会导致问题和数据丢失。在这种情况下,文件系统的真实状态可能与 Windows 认为 在“启动”之后的情况不同,并且可能在进一步写入文件系统时导致文件系统损坏。因此,在双引导设 置中,为了避免文件系统损坏,必须在 Windows 中禁用“快速引导”/“快速启动”功能。 进一步,Windows 更新机制已知(有时)会自动启动这些特性,即使此前已经被用户关闭了。建议定 期再次检查这个设置。 上引导安装程序 警告 假如您的机器上有其它的操作系统,并希望保留(双重启动的设置),那么要确保 在引导安装程序之前将其正确地被关闭。在另外一个操作系统休眠时(已经挂起 到磁盘)安装操作系统,回到导致丢失或损坏操作系统的状态信息,当重新引导 时会出现问题。 注意 关于如何引导图形安装程序的信息,请参见第 5.1.6 节。 5.1.1 从 U 盘引导 如果您的计算机可以从 USB 引导,那么这可能是最简单的安装方法。假设已经从第0 码力 | 107 页 | 626.22 KB | 1 年前3Debian GNU/Linux 安装手册 October 14, 2021
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 8.6 修复损坏的系统 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 A 安装指南 61 访问相同的文件系统,这就有可能会导致问题和数据丢失。在这种情况 下,文件系统的真实状态可能与 Windows 8 认为在“启动”之后的情况不同,并且可能在进一步写入文 件系统时导致文件系统损坏。因此,在双引导设置中,为了避免文件系统损坏,必须在 Windows 中禁用 “快速启动”功能。 也可能需要禁用“快速启动”,甚至需要允许访问 UEFI 设置。来选择启动另一个操作系统或 debian-installer。在某些 假如您的机器上有其他的操作系统,并希望保留 (多重启动设置),您要确保它在 启动安装程序之前正确地被关闭。在另外一个操作系统休眠时 (中断并保存到磁 盘) 进行安装,被中断的操作系统的状态信息可能会丢失或者损坏,再次启动将 会出现问题。 注意 关于如何启动图形安装程序,请参见第 5.1.8 节。 5.1.1 从 U 盘启动 如果您的计算机可以从 USB 启动,这可能是最简单的安装方法。假设您已经准备好了从第0 码力 | 109 页 | 618.37 KB | 1 年前3Debian GNU/Linux 安装手册 October 14, 2021
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 8.6 修复损坏的系统 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 A 安装指南 61 访问相同的文件系统,这就有可能会导致问题和数据丢失。在这种情况 下,文件系统的真实状态可能与 Windows 8 认为在“启动”之后的情况不同,并且可能在进一步写入文 件系统时导致文件系统损坏。因此,在双引导设置中,为了避免文件系统损坏,必须在 Windows 中禁用 “快速启动”功能。 也可能需要禁用“快速启动”,甚至需要允许访问 UEFI 设置。来选择启动另一个操作系统或 debian-installer。在某些 假如您的机器上有其他的操作系统,并希望保留 (多重启动设置),您要确保它在 启动安装程序之前正确地被关闭。在另外一个操作系统休眠时 (中断并保存到磁 盘) 进行安装,被中断的操作系统的状态信息可能会丢失或者损坏,再次启动将 会出现问题。 注意 关于如何启动图形安装程序,请参见第 5.1.8 节。 5.1.1 从 U 盘启动 如果您的计算机可以从 USB 启动,这可能是最简单的安装方法。假设您已经准备好了从第0 码力 | 109 页 | 620.13 KB | 1 年前3Debian GNU/Linux 安装手册 January 8, 2024
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 8.6 修复损坏的系统 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 A 安装指南 52 website 可以找到盲文点字显示器的键绑定文档。 20 CHAPTER 5. 引导安装系统 5.3. 引导参数 5.2.3 串口盲文点字显示器 系统无法安全地检测到串口盲文点字显示器(因为这可能会损坏某 s 些设备)。这样需要添加引导参数 brltty=driver,port,table,来告知 brltty 该使用哪个驱动程序和端口。driver(驱动器)应该替 换为您终端使用的两个字母的驱动器代码(请参见 iso 文件)。 choose-mirror 列出 Debian 软件包镜像。用户可以选择从哪里安装软件包。 cdrom-checker 检验安装介质的完整性。这种方法确保用户所用的安装映像没有损坏。 lowmem 它会检测小内存容量的系统,并采用一些技巧从内存中删除 debian-installer 不需要的部 分 (代价是丧失一些特性)。 anna Anna’s Not Nearly0 码力 | 96 页 | 576.81 KB | 1 年前3Debian GNU/Linux 安装手册 October 14, 2021
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 8.6 修复损坏的系统 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 A 安装指南 44 choose-mirror 列出 Debian 软件包镜像。用户可以选择从哪里安装软件包。 cdrom-checker 检验 CD-ROM 的完整。这种方法让确保用户所用的安装 CD-ROM 没有损坏。 lowmem 它会检测小内存容量的系统,并采用一些技巧从内存中删除 debian-installer 不需要的部 分 (代价是丧失一些特性)。 anna Anna’s Not Nearly APT。安装从选择的镜像或 iso-scan 找不到安装 iso 映象,请重新启动返回到您以前的操作系统,检查映象文件名是否正确 (以 .iso 结尾),是否放在一个能被 debian-installer 识别的文件系统上,是否损坏 (用 checksum 校验)。有经验的 Unix 用户可以在第二个控制台上完成这些动作,而毋须重新启动。 Note that the partition (or disk) hosting the0 码力 | 86 页 | 508.72 KB | 1 年前3Debian GNU/Linux 安装手册 January 8, 2024
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 8.6 修复损坏的系统 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 A 安装指南 49 iso 文件)。 choose-mirror 列出 Debian 软件包镜像。用户可以选择从哪里安装软件包。 cdrom-checker 检验安装介质的完整性。这种方法确保用户所用的安装映像没有损坏。 lowmem 它会检测小内存容量的系统,并采用一些技巧从内存中删除 debian-installer 不需要的部 分 (代价是丧失一些特性)。 anna Anna’s Not Nearly iso-scan 找不到安装 iso 映象,请重新启动返回到您以前的操作系统,检查映象文件名是否正确 (以 .iso 结尾),是否放在一个能被 debian-installer 识别的文件系统上,是否损坏 (用 checksum 校验)。有经验的 Unix 用户可以在第二个控制台上完成这些动作,而无需重新启动。 注意,作为 ISO 映像主机的分区(或磁盘)不能在安装过程中再次使用,因为它将被安装程序使用。0 码力 | 93 页 | 562.93 KB | 1 年前3Debian GNU/Linux 安装手册 June 11, 2023
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 8.6 修复损坏的系统 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 A 安装指南 49 iso 文件)。 choose-mirror 列出 Debian 软件包镜像。用户可以选择从哪里安装软件包。 cdrom-checker 检验安装介质的完整性。这种方法确保用户所用的安装映像没有损坏。 lowmem 它会检测小内存容量的系统,并采用一些技巧从内存中删除 debian-installer 不需要的部 分 (代价是丧失一些特性)。 anna Anna’s Not Nearly iso-scan 找不到安装 iso 映象,请重新启动返回到您以前的操作系统,检查映象文件名是否正确 (以 .iso 结尾),是否放在一个能被 debian-installer 识别的文件系统上,是否损坏 (用 checksum 校验)。有经验的 Unix 用户可以在第二个控制台上完成这些动作,而毋须重新启动。 注意,作为 ISO 映像主机的分区(或磁盘)不能在安装过程中再次使用,因为它将被安装程序使用。0 码力 | 93 页 | 562.56 KB | 1 年前3Debian GNU/Linux 安装手册 January 8, 2024
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 8.6 修复损坏的系统 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 iv CONTENTS iso 文件)。 choose-mirror 列出 Debian 软件包镜像。用户可以选择从哪里安装软件包。 cdrom-checker 检验安装介质的完整性。这种方法确保用户所用的安装映像没有损坏。 lowmem 它会检测小内存容量的系统,并采用一些技巧从内存中删除 debian-installer 不需要的部 分 (代价是丧失一些特性)。 anna Anna’s Not Nearly iso-scan 找不到安装 iso 映象,请重新启动返回到您以前的操作系统,检查映象文件名是否正确 (以 .iso 结尾),是否放在一个能被 debian-installer 识别的文件系统上,是否损坏 (用 checksum 校验)。有经验的 Unix 用户可以在第二个控制台上完成这些动作,而无需重新启动。 注意,作为 ISO 映像主机的分区(或磁盘)不能在安装过程中再次使用,因为它将被安装程序使用。0 码力 | 96 页 | 582.89 KB | 1 年前3Debian GNU/Linux 安装手册 January 8, 2024
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 8.6 修复损坏的系统 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 iv CONTENTS iso 文件)。 choose-mirror 列出 Debian 软件包镜像。用户可以选择从哪里安装软件包。 cdrom-checker 检验安装介质的完整性。这种方法确保用户所用的安装映像没有损坏。 lowmem 它会检测小内存容量的系统,并采用一些技巧从内存中删除 debian-installer 不需要的部 分 (代价是丧失一些特性)。 anna Anna’s Not Nearly iso-scan 找不到安装 iso 映象,请重新启动返回到您以前的操作系统,检查映象文件名是否正确 (以 .iso 结尾),是否放在一个能被 debian-installer 识别的文件系统上,是否损坏 (用 checksum 校验)。有经验的 Unix 用户可以在第二个控制台上完成这些动作,而无需重新启动。 注意,作为 ISO 映像主机的分区(或磁盘)不能在安装过程中再次使用,因为它将被安装程序使用。0 码力 | 98 页 | 594.52 KB | 1 年前3
共 256 条
- 1
- 2
- 3
- 4
- 5
- 6
- 26