关于oracle数据库坏块的总结

来源 :数字化用户 | 被引量 : 0次 | 上传用户:winston69
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  【摘 要】在天津地铁1号线系统数据库全库备份过程中,经常出现由于数据库坏块导致全库备份中止的情况,本文针对1号线数据库坏块的产生及处理做了归纳总结,其中加入了个人工作中的一些经验教训。
  【关键词】Oracle 数据库 坏块
  一、什么是数据库的坏块
  首先我们来大概看一下数据库块的格式和结构。数据库的数据块有固定的格式和结构,分三层:cache layer,transaction layer,data layer。在对数据块进行读取写入操作的时候,数据库会对要读写的数据块做一致性的检查,其中包括:数据块的类型、数据块的地址信息、数据块的 SCN号以及数据块的头部和尾部。如果发现其中有不一致的信息,那数据库就会标记这个数据块为坏块了。Oracle 数据坏块大致分为两种,一种是由于磁盘损坏造成的物理坏块,另外一种是由于数据库读写错误造成的逻辑坏块。
  因此处理Oracle 数据坏块的时候首先需要考虑的就是坏块是由于什么造成的。如果是物理坏块,则首先需要考虑的是更换硬盘,然后再考虑逻辑坏块的处理方法。
  二、坏块对数据库产生的影响
  如果数据库出现坏块,数据库的告警日志文件里面会存在有如下的一些报错信息:Ora-1578以及Ora-600 and trace file in bdump Directory,数据坏块往往是数据库在执行某些insert、updata、deletc语句时会出现ORA-01578 ORA-01110 数据块损坏的报错信息。
  在数据库备份过程中出现了数据库坏块,造成数据库全库备份中断,需要恢复坏块后,才能正常备份数据库。例如以下报错信息:
  Corrupt block relative dba: 0x030a455f (file 12, block 673119)
  Data in bad block
  Reread of blocknum=673119, file= C:\DATAFILE\AFC_TBS.DBF. found same corrupt data
  从报错信息中我们可以看出,坏块出现在数据文件C:\DATAFILE\AFC_TBS.DBF上,文件号为12,坏块号为673119,sequence号为26717
  三、坏块产生的原因
  Oracle调用标准C的系统函数,对数据块进行读写操作,因此,坏块可能是由以下几种原因产生:硬件的I/O错误、操作系统的I/O错误或缓冲问题、内存或paging问题、磁盘修复工具、一个数据文件的一部分正在被覆盖、Oracle试图访问一个未被格式化的系统块失败、数据文件部分溢出、Oracle或者操作系统的bug
  四、坏块的处理方法
  (一)通过下面这个查询语句就可以查出当前存在坏块的对象是什么,是索引还是表。需要注意的是如果是temp文件中出现坏块,是没有记录返回的:
  SELECT tablespace_name, segment_type, owner, segment_name, partition_name FROM dba_extents WHERE file_id = and between block_id AND block_id + blocks – 1;(其中〈AFN〉是文件号,〈BL〉是坏块号)
  (二)根据1中查询出来的对象类型,确定相应的处理方法
  1.出现坏块的常见对象有:Sys用户下的对象、回滚段、临时段、索引或者分区索引表。
  2.常用的处理方法有:恢复数据文件、只恢复坏的block、通过ROWID RANGE SCAN 保存数据、使用DBMS_REPAIR包、使用EVENT
  (三)具体处理方法的介绍
  1.恢复数据文件方法:
  如果数据库是归档方式下,并且有完整的物理备份,就可以使用此方法来恢复。 步骤如下:
  (1)先offline受影响的数据文件,执行语句;
  (2)保留有坏块的数据文件,然后拷贝备份的数据文件。如果恢复的数据文件要求路径不同,执行语句;
  (3)恢复数据文件,执行语句;
  (4)Online恢复后的数据文件,执行语句。
  2.只恢复坏的block(9i以上版本可用)
  使用这种方法要求数据库版本是9.2.0以上,要求配置了Rman的catalog数据库,数据库为归档方式,并且有完整的物理备份。步骤如下:
  使用RMAN的BLOCKRECOVER命令 :
  Rman>run{blockrecover datafile 12 block 673119;}
  也可以强制使用某个SCN号之前的备份,恢复数据块。
  Rman>run{blockrecover datafile12 block 673119 restore until sequence 26717;}
  注:坏块恢复成功后,通常要做一次全库备份,全库备份的大小会比上一次大很多,最好是在全库备份之前,先做一次归档备份,这样可以减少全库备份的大小,不过全备还是会比上一次的大。再一次全库备份大小就会恢复到之前的大小了。
  五、坏块的预先发现的方法
  (一)如果要检测数据库中所有的表,可以利用exp工具导出整个数据库可以检测坏块。不过这个工具有一些缺陷,对以下情况的坏块是检测不出来的:HWM以上的坏块是不会发现的;索引中存在的坏块是不会发现的;数据字典中的坏块是不会发现的
  (二)如果只是对数据库中比较重要的表进行坏块检查,可以使用ANALYZE TABLE tablename VALIDATE STRUCTURE CASCADE 的方法来检测坏块,它执行坏块的检查,但是不会标记坏块为corrupt,检测的结果保存在USER_DUMP_DEST目录下的用户trace文件中。
  (三)使用Oracle的专门工具dbv来检查坏块,具体的语法如下:
  例如:Dbv file=C:\DATAFILE\AFC_TBS.DBF blocksize=8192
  注:因为dbv要求file后面跟的必须是一个文件扩展名,所以如果用裸设备存储的,就必须使用ln链接裸设备到一个文件,然后再用dbv对这个链接文件进行检查。
其他文献
摘 要:针对传统烘干熨衣机使用不便的现状,文中设计了一款智能烘干熨衣机。智能熨衣机由烘干部分、控制部分、熨烫部分组成,具有自动烘干潮湿衣物与自动熨烫烘干衣物等功能,市场前景广阔。  关键词:熨衣机;智能  1 主要功能  智能熨衣机具有自动烘干潮湿衣物与自动熨烫烘干衣物功能,如图1所示。  2 设备组成  智能熨衣机由烘干部分、控制部分、熨烫部分组成,如图2所示。  3 整体构架  设备的核心为烘
【摘 要】简要说明程序如何通过OPC 服务器接口读取PHD实时数据,并实现Excel读取实时数据库数据,具有行业应用价值。  关键词:PHD 实时数据库 OPC服务器 Excel VBA  一、前言  生产控制系统都存在大量的实时数据,这些数据都使用实时数据库存储和管理。查询都只能依靠厂家系统界面查询,如果需要对其数据导出并再综合应用,现有厂家系统与工具都无法实现。为此,研究实现Office Ex
【摘 要】本文结合当前高校普遍实施的学分制教学管理模式下考试管理的实际情况,针对安排考试过程中碰到的问题,研究并实现了一个考务管理系统。并将考务管理系统投入实际工作中运行,经过近五年的研究和实践,考务管理系统能够承担所有考试的安排工作,解决了一系列考务系统的问题,提高了工作效率。  【关键词】高等学校 考务管理 信息化建设  一、研究考务管理系统的必要性  当前高校普遍实施学分制教学管理模式,其特
该文从挂篮荷载计算、施工流程、支座及临时固结施工、挂篮安装及试验、合拢段施工、模板制作安装、钢筋安装、混凝土的浇筑及养生、测量监控等方面人手,介绍了S226海滨大桥
【摘 要】随着计算机技术、网络技术的不断发展,人们将数据库进行加工,进而形成了数据仓库,数据仓库具有其独特的功能和作用,从数据仓库中可以准确、安全的提取出需要数据等。数据仓库的核心技术是ETL技术,本文针对基于数据仓库的ETL技术相关的内容进行研究分析。  【关键词】数据仓库 ETL技术 数据转换  随着科学技术的发展,数据库技术也在不断的发展,人们将数据库技术进行再加工,进而形成了数据仓库,数据
【摘 要】本文介绍了网上在线答疑系统的设计,系统采用B/S两层架构的应用程序与开发模式,运用模块化设计方法,根据用户的需求及程序的应用与维护的易用性,将各个部分置于不同的模块当中,方便了程序的扩展与维护。  【关键词】在线答疑系统 B/S模式  本文介绍了网上在线答疑系统的设计,系统采用B/S两层架构的应用程序与开发模式,运用模块化设计方法,根据用户的需求及程序的应用与维护的易用性,将各个部分置于
介绍吉林省"十五"水电农村电气化建设的基本情况以及取得的主要成就,分析在电气化建设中的主要经验和做法,指出当前存在的主要差距和问题,并提出进一步提高电气化建设水平的
【摘 要】本文首先对航空电子系统的发展演变进行了简单的介绍,然后深入探讨了新一代航空电子系统的综合化,并对航空电子综合系统的预测与管理技术进行了介绍。  【关键词】航空电子系统 综合化 预测与管理  一、前言  随着我国高新技术的快速发展,空中力量逐步形成了协同作战、速战速决、生存率高、全球到达和火力强劲的显著特点,其在战争中快速反应、对地攻击、夺取信息权和制空权等方面作用显著。所以,提升战机性能
介绍安徽省“十五”水电农村电气化县建设的基本情况,详细分析了电气化建设在促进县域经济发展、改善农村基础设施、提高农村生产生活条件、保护生态环境等方面取得的显著效