DBMS_REPAIR包¶
神通数据库的 DBMS_REPAIR 系统包包含数据坏块检测、屏蔽和修复过程,通过这些过程,可以检测表的数据块是否发生损坏,并将损坏的数据块设置为屏蔽状态,也可以尝试修复这个坏块。这可以在一定程度上解决损坏问题,并尝试继续使用该表,以保证数据的可用性。
注解
DBMS_REPAIR包的使用说明:
- 坏块类型分为物理坏块和逻辑坏块。物理坏块通常指存储数据页面的磁盘发生故障,导致无法从中读取数据;而逻辑坏块是指虽然可以读取页面,但读取到的数据格式与预期不一致。如果没有设置坏块屏蔽,在表扫描过程中遇到物理坏块或逻辑坏块时,数据库将打印错误信息。
- 此包仅供SYSDBA用户和具有SYSDBA角色的用户使用,未将执行权限授予其它用户。
- 此包的检查和屏蔽操作仅能在读写分离主集群的主节点上执行。如果需要检查或屏蔽备节点的坏块,则需要切换节点使备节点变为主节点再执行检查或屏蔽的操作。
- 检查和屏蔽两个过程相对独立,屏蔽操作不依赖于检查结果。
- 检查到坏块后,建议先尝试修复坏块数据,无法修复再执行屏蔽操作。
- 修复坏块数据功能是根据CHECK_OBJECT检查的结果进行修复的,修复操作依赖于检查的结果。
下表为DBMS_REPAIR的子程序
| 子程序 | 说明 | 过程/函数 |
|---|---|---|
| CHECK_OBJECT | 检查表的数据坏块 | 过程 |
| SKIP_CORRUPT_BLOCKS | 屏蔽表的数据坏块 | 过程 |
| FIX_CORRUPT_BLOCKS | 修复表的坏块数据 | 过程 |
以下介绍了各种函数和过程的语法、参数和示例。