首页 > 数据库 > Oracle > 第7章 DBVERIFY:线下数据库检验工具
DBVERIFY是一个外部命令行工具,用于执行物理数据结构完整性检查。
DBVERIFY可以用于离线或者在线数据库,以及备份文件。DBVERIFY主要用于确认备份数据库(或者数据文件)在 还原之前有效,或者在数据损坏时作为一个辅助诊断手段。因为DBVERIFY可以用于离线数据库,此时的完整性检查将会快很多。
DBVERIFY检查仅限于缓存管理的块(即数据块)。DBVERFIY仅用于数据文件,因此不能用于控制文件或者重做日志。
DBVERIFY包含两个命令行接口。第一个接口检查单个数据文件的磁盘块,第二个借口检查一个段。两个接口都以dbv命令开始。
这种方式下,DBVERIFY扫描单个数据文件的一个或者多个磁盘块并执行页面检查。
注释:如果验证Oracle ASM文件,必须提供一个USERID,因为DBVERIFY需要连接到Oracle实例以访问Oracle ASM文件。
验证 单个数据文件的磁盘块的语法如下:
参数的描述如下:
以下是一个文件t_db1.dbf验证的示例。参数FEEDBACK设置为100,每处理100个磁盘页面显示一个点号。
% dbv FILE=t_db1.dbf FEEDBACK=100
.
.
.
DBVERIFY - Verification starting : FILE = t_db1.dbf
................................................................................
DBVERIFY - Verification complete
Total Pages Examined : 9216
Total Pages Processed (Data) : 2044
Total Pages Failing (Data) : 0
Total Pages Processed (Index): 733
Total Pages Failing (Index): 0
Total Pages Empty : 5686
Total Pages Marked Corrupt : 0
Total Pages Influx : 0
说明:
这种方式下,DBVERIFY可以验证一个表段或者索引段。它确保行链接指针位于被验证的段内。
这种方式需要指定一个段(数据或者索引)。同时还需要使用SYSDBA权限登录数据库,因为段信息需要从数据库中检索。
这种方式将会锁定段。如果指定段为 索引,将会锁定基表。注意,某些索引,例如IOT,没有基表。
验证段的DBVERIFY语法如下:
参数的描述如下:
以下是一个验证SEGMENT_ID为1.2.
67的DBVERIFY结果示例。
DBVERIFY - Verification starting : SEGMENT_ID = 1.2.67
DBVERIFY - Verification complete
Total Pages Examined : 8
Total Pages Processed (Data) : 0
Total Pages Failing (Data) : 0
Total Pages Processed (Index): 1
Total Pages Failing (Index): 0
Total Pages Processed (Other): 2
Total Pages Processed (Seg) : 1
Total Pages Failing (Seg) : 0
Total Pages Empty : 4
Total Pages Marked Corrupt : 0
Total Pages Influx : 0
Highest block SCN : 7358 (0.7358)
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/24945919/viewspace-761324/ ,如需转载,请注明出处,否则将追究法律责任。