怎么恢复oracle坏块,oracle数据文件坏块

oracle出现坏块怎么解决

oracle数据库的坏块问题是个让人比较头痛的问题,主要分为逻辑坏块和物理坏块,逻辑坏块就是数据文件里的逻辑关系出现的混乱,这一般是由于数据库的BUG导致的。物理坏块就是数据文件中的数据不存在任何意义,没有任何逻辑和结构,造成物理坏块多因为服务器IO系统故障导致的。

创新互联长期为近千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为三明企业提供专业的网站建设、成都做网站,三明网站改版等技术服务。拥有10余年丰富建站经验和众多成功案例,为您定制开发。

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 */

ub1 seq_kcbh; /* sequence # of changes at the same scn */

ub1 flg_kcbh;

ub2 chkval_kcbh;

};

在块头中,seq_kcbh(占用1字节,块头偏移14)有着特殊的含义,如果该值为0xff,则表示该块被标记为corruption。

oracle 表空间磁盘逻辑坏块怎么处理?

有2种通用的办法:

1 blockrecover

2 dbms_repair

注意:第二种办法会丢弃坏块中的所有数据。

所以事先确定逻辑坏块中是否有数据,数据是否有备份。

一道面试题:遇到大规模Oracle坏块该怎么处理

遇到大规模oracle坏块,进行评估恢复坏块的时间。如果时间过长。直接切换到备库或者做恢复。尽量使停产的时间短些。

参考:

http://

bbs.csdn.net/topics/391956183


网页标题:怎么恢复oracle坏块,oracle数据文件坏块
分享链接:http://myzitong.com/article/hdedoi.html