第 6 章 验证后端数据库的完整性
目录服务器数据库完整性检查可以检测问题,如损坏元数据页面和重复键的排序。如果发现问题,您可以根据问题来重新索引数据库或恢复备份。
6.1. 执行数据库完整性检查 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
dsctl dbverify 命令使管理员能够验证后端数据库的完整性。
流程
可选:列出实例的后端数据库:
# dsconf -D "cn=Directory Manager" ldap://server.example.com backend suffix list dc=example,dc=com (userRoot)停止实例:
# dsctl instance_name stop验证数据库。例如,要验证
userRoot数据库,请输入:# dsctl instance_name dbverify userRoot [04/Feb/2022:13:11:02.453624171 +0100] - INFO - ldbm_instance_config_cachememsize_set - force a minimal value 512000 [04/Feb/2022:13:11:02.465339507 +0100] - WARN - ldbm_instance_add_instance_entry_callback - ldbm instance userroot already exists [04/Feb/2022:13:11:02.468060144 +0100] - ERR - ldbm_config_read_instance_entries - Failed to add instance entry cn=userroot,cn=ldbm database,cn=plugins,cn=config [04/Feb/2022:13:11:02.471079045 +0100] - ERR - bdb_config_load_dse_info - failed to read instance entries [04/Feb/2022:13:11:02.476173304 +0100] - ERR - libdb - BDB0522 Page 0: metadata page corrupted [04/Feb/2022:13:11:02.481684604 +0100] - ERR - libdb - BDB0523 Page 0: could not check metadata page [04/Feb/2022:13:11:02.484113053 +0100] - ERR - libdb - /var/lib/dirsrv/slapd-instance_name/db/userroot/entryrdn.db: BDB0090 DB_VERIFY_BAD: Database verification failed [04/Feb/2022:13:11:02.486449603 +0100] - ERR - dbverify_ext - verify failed(-30970): /var/lib/dirsrv/slapd-instance_name/db/userroot/entryrdn.db dbverify failed- 如果验证过程报告了任何问题,请手动修复或恢复备份。
启动实例:
# dsctl instance_name start