如果表不使用页锁定,那么使用 oncheck -ci 、-cI 、-pk 、 -pK 、 -pl 或 -pL 选项检查索引时,数据库服务器不在表上放置共享锁。当做索引检查过程中表上没有共享锁时,其他用户可以在检查过程中更新行。
如果在索引检查过程中未在使用行锁的表上放置共享锁,那么 oncheck 实用程序无法进行准确的索引检查。要绝对确保完全的索引检查,可以用 -x 选项执行 oncheck 。使用 -x 选项, oncheck 在表上放置共享锁,这样其他用户就不能再检查完成之前执行更新、插入或删除。
若在高可用集群的辅助服务器上运行 oncheck 实用程序,它将返回不可靠的结果。
有关 -x 选项的更多信息,请参阅 使用 -x 开启锁 。有关共享锁和意向锁的更多信息,请参阅 GBase 8s 性能指南。
在检查系统目录表时,oncheck 实用程序在这些表上放置共享锁。在执行时,它在表上放置互斥锁。