oracle怎么判断坏块 oracle 判断

oracle 判断是逻辑坏块还是物理坏块这样检测并无用处基准测试时别运行其它程序(杀毒、QQ之类),也别动鼠标,否则不准确(本身也不准确)多测几次,PE系统下测试更准确些用HDTunePro检测硬盘点"健康"项看下硬盘有无警告,可初步判断(大多准确)用DOS版MHDD扫描修复更专业、一定准确、功能,更难用MHDD为DOS下硬盘检测/修复工具,较专业(须学习),扫描为逐扇区扫描,会较慢,但更准确我博客(空间)中有文章,可参考:点我名字即可找到本人博客(空间)"硬盘有问题?新手也能完成硬盘修复几例经验""浅谈-----硬盘初级修复-----及分区屏蔽"(百度乱封问题,不给链接了)
如何处理Oracle中的坏块问题oracle数据库的坏块问题是个让人比较头痛的问题 , 主要分为逻辑坏块和物理坏块,逻辑坏块就是数据文件里的逻辑关系出现的混乱,这一般是由于数据库的BUG导致的 。物理坏块就是数据文件中的数据不存在任何意义 , 没有任何逻辑和结构,造成物理坏块多因为服务器IO系统故障导致的 。
Oracle怎样标记坏块及一次数据恢复 Oracle数据文件的坏块,可分为物理坏块和逻辑坏块 。物理坏块(也可以称为介质坏块)指的是块格式本身是坏的,块内的数据没有任何意义 。而逻辑坏块,指的是块内的数据在逻辑是存在问题 。比如说索引块的索引值没有按从小到大排列 。物理坏块一般是由于内存问题、OS问题、IO子系统问题和硬件引起,逻辑坏块一般是是由于Oracle Bug等原因引起 。
Oracle数据文件的每个块,其块头为20字节 。其定义如下:(来自于DSI401)
struct kcbh
{
ub1 type_kcbh; /* block type */
ub2 frmt_kcbh;
ub1 spare1_kcbh;
ub1 spare2_kcbh;
krdba rdba_kcbh; /* relative DBA */
ub4 bas_kcbh; /* base of SCN */
ub2 wrp_kcbh; /* wrap of SCN */
【oracle怎么判断坏块 oracle 判断】ub1 seq_kcbh; /* sequence # of changes at the same scn */
ub1 flg_kcbh;
ub2 chkval_kcbh;
};
在块头中,seq_kcbh(占用1字节 , 块头偏移14)有着特殊的含义,如果该值为0xff,则表示该块被标记为corruption 。
ORACLE使用dbv工具检验数据文件是否有坏块dbv工具可以用来验证数据文件的有效性,在数据库恢复之前可以使用该命令对备份文件进行有效性检查,
防止因备份文件本身的问题导致数据库无法恢复 。
当然 , dbv命令也可以对在线的数据文件进行检查 。
注意,dbv工具只可以对数据文件进行检查 , 无法使用它完成控制文件和日志文件的检查 。
1.dbv命令语法
dbverify ::=
dbv [ USERID=username/password ]
FILE = filename
| { START = block_address | END = block_address }
| BLOCKSIZE = integer
| HIGH_SCN = integer
| LOGFILE = filename
| FEEDBACK = integer
| HELP= { Y | N }
| PARFILE = filename
End of description.
参考自Oracle官方文档
2.查看帮助文档
从语法定义中我们看到“HELP= { Y | N }”选项,我们可以使用它查看dbv的帮助信息 。
ticket@secDB /home/oracle$ dbv help=y
DBVERIFY: Release 11.2.0.1.0 - Production on Wed Mar 31 19:47:36 2010
Copyright (c) 1982, 2009, Oracle and/or its affiliates.All rights reserved.
KeywordDescription(Default)
----------------------------------------------------
FILEFile to Verify(NONE)
STARTStart Block(First Block of File)
ENDEnd Block(Last Block of File)
BLOCKSIZELogical Block Size(8192)
LOGFILEOutput Log(NONE)
FEEDBACKDisplay Progress(0)
PARFILEParameter File(NONE)
USERIDUsername/Password(NONE)
SEGMENT_IDSegment ID (tsn.relfile.block) (NONE)
HIGH_SCNHighest Block SCN To Verify(NONE)
(scn_wrap.scn_base OR scn)
帮助信息中描述了dbv命令的使用方法,不赘述 。
3.体验dbv工具的效果
1)查看系统中的数据文件名称
sys@ticket col name for a60
sys@ticket select name from v$datafile;
NAME
------------------------------------------------------------
/oracle/ora11gR2/oradata/ticket/system01.dbf
/oracle/ora11gR2/oradata/ticket/sysaux01.dbf
/oracle/ora11gR2/oradata/ticket/undotbs01.dbf
/oracle/ora11gR2/oradata/ticket/users01.dbf
2)使用dbv工具对users01.dbf进行检查
(1)使用最简单的参数
sys@ticket !dbv file=/oracle/ora11gR2/oradata/ticket/users01.dbf
DBVERIFY: Release 11.2.0.1.0 - Production on Wed Mar 31 19:50:59 2010
Copyright (c) 1982, 2009, Oracle and/or its affiliates.All rights reserved.
DBVERIFY - Verification starting : FILE = /oracle/ora11gR2/oradata/ticket/users01.dbf
DBVERIFY - Verification complete
Total Pages Examined: 35520
Total Pages Processed (Data) : 33029
Total Pages Failing(Data) : 0
Total Pages Processed (Index): 20
Total Pages Failing(Index): 0
Total Pages Processed (Other): 402
Total Pages Processed (Seg): 0
Total Pages Failing(Seg): 0
Total Pages Empty: 2069
Total Pages Marked Corrupt: 0
Total Pages Influx: 0
Total Pages Encrypted: 0
Highest block SCN: 9291961 (0.9291961)
在实际使用中重点关注以下信息:
Total Pages Failing(Data) : 0
Total Pages Failing(Index): 0
Total Pages Failing(Seg): 0
Total Pages Marked Corrupt: 0
如果以上信息返回结果不为0,需要重点关注!及时排查原因 。
(2)如果指定logfile参数,检查结果将只记录在日志文件中,屏幕上不显示
sys@ticket !dbv file=/oracle/ora11gR2/oradata/ticket/users01.dbf logfile=dbv_users01.log
DBVERIFY: Release 11.2.0.1.0 - Production on Wed Mar 31 19:52:20 2010
Copyright (c) 1982, 2009, Oracle and/or its affiliates.All rights reserved.
此时可以使用SQL*Plus的edit命令查看生成的日志文件内容 。
sys@ticket ed dbv_users01.log
如何使用rman 检查oracle数据库坏块如何使用rman 检查oracle数据库坏块
oracle检测坏块oracle怎么判断坏块的方式oracle怎么判断坏块:
1、利用oracleoracle怎么判断坏块的RMAN工具
2、利用dbv工具检测
3、利用 exp/imp工具检测
关于oracle怎么判断坏块和oracle 判断的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息 , 记得收藏关注本站 。

    推荐阅读