为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。 【DM版本】: 【操作系统】: 【CPU】: 【问题描述】*: 数据库日志出现 os_io_low read error! 错误,数据库关闭 1.这个错误是读取磁盘错误,还是数据库坏块错误 2.把这个库做全库备份,还原到新的库做dbcheck,可以验证数据库是否存在坏块吗,即如果存在坏块,全库备份里面是不是也有坏块 3.如果存在坏块,做dts迁移的话,坏块数据如何处理,或者读取到坏块数据库会停掉,岂不是无法迁移
1)如果日志报错“os_io_low read error”大概率说明磁盘出问题了,有可能已经引发数据库坏块。 2)备份还原的库,可以用dmdbcheck验证数据库是否存在坏块。另外,也有系统函数可检查:CHECK_INDEX:检查一个索引的合法性。CHECK_DB_INDEX:检查数据库中所有索引的合法性。 检查过程中,会使用 S+IX 锁来封锁索引对应的表对象,如果封锁失败,会忽略索引检查并记录日志。 3)用DTS迁移,读取到坏块是可能导致服务异常。可以通过历史备份+归档恢复……。如果无可用的备份,可以尝试逻辑导出,或者通过条件查询,尽可能找回更多的数据。
1)如果日志报错“os_io_low read error”大概率说明磁盘出问题了,有可能已经引发数据库坏块。
2)备份还原的库,可以用dmdbcheck验证数据库是否存在坏块。另外,也有系统函数可检查:CHECK_INDEX:检查一个索引的合法性。CHECK_DB_INDEX:检查数据库中所有索引的合法性。
检查过程中,会使用 S+IX 锁来封锁索引对应的表对象,如果封锁失败,会忽略索引检查并记录日志。
3)用DTS迁移,读取到坏块是可能导致服务异常。可以通过历史备份+归档恢复……。如果无可用的备份,可以尝试逻辑导出,或者通过条件查询,尽可能找回更多的数据。