从品牌网站建设到网络营销策划,从策略到执行的一站式服务
oracle数据库的坏块问题是个让人比较头痛的问题,主要分为逻辑坏块和物理坏块,逻辑坏块就是数据文件里的逻辑关系出现的混乱,这一般是由于数据库的BUG导致的。物理坏块就是数据文件中的数据不存在任何意义,没有任何逻辑和结构,造成物理坏块多因为服务器IO系统故障导致的。
创新互联长期为近千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为三明企业提供专业的网站建设、成都做网站,三明网站改版等技术服务。拥有10余年丰富建站经验和众多成功案例,为您定制开发。
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 */
ub1 seq_kcbh; /* sequence # of changes at the same scn */
ub1 flg_kcbh;
ub2 chkval_kcbh;
};
在块头中,seq_kcbh(占用1字节,块头偏移14)有着特殊的含义,如果该值为0xff,则表示该块被标记为corruption。
有2种通用的办法:
1 blockrecover
2 dbms_repair
注意:第二种办法会丢弃坏块中的所有数据。
所以事先确定逻辑坏块中是否有数据,数据是否有备份。
遇到大规模oracle坏块,进行评估恢复坏块的时间。如果时间过长。直接切换到备库或者做恢复。尽量使停产的时间短些。
参考:
http://
bbs.csdn.net/topics/391956183
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图