欢迎您来到GIS动力

加入收藏 免费注册 用户登陆 帮助中心
首页 新闻动态 技术专栏 银杏树下 学习考研 软件下载 求职招聘 许愿瓶 节日祝福 用户中心 精彩推荐 资源搜索 地图
专栏导航: AO开发 | SO开发 | ArcGIS桌面 | 超图桌面 | 开发语言 | 数据库 | WebGIS | 银杏文学 | 研究生考题 | FreeMap 谈天说地
   您现在位于: 首页技术专栏数据库 → 正文
ORACLE修复数据库坏块的三种方法
08-01-29 09:41:49 作者:未知 出处:天极论坛

在进行 SUN CLUSTER双机切换、意外断电或其它情况下,有时会发生共享盘 MOUNT不上的情况,需要使用 FSCK对共享盘进行修复。修复完成后,在数据库启动过程中,却又出现 "数据块损坏,无法启动 数据库"的现象,此时,可以根据不同的数据块损坏类型,检测并修复错误。在此介绍三种使用 Oracle8i修复损坏数据块的方法。

   一、数据块损坏,错误代码为 ORA-01578

   ORA-1115 I/O ERROR READING BLOCK

  通常后跟 ORA-737X错误与 操作系统错误 (UNIX中的错误号 5)

  产生原因:

   1. 硬件问题 (磁盘控制器问题或磁盘问题 )

   2. 物理级的数据块损坏 (通常由前一原因造成 )

   3. 处理巨型文件时,后跟错误代码 ORA-7371

  确定故障原因与恢复的方法:

   1. 查看 alert.log文件中其它 ORA-1115错误的发生情况:

   1) 如果指向不同磁盘的文件,则是磁盘控制器的问题,查看 V$DATAFILE,有哪些文件位于该控制器下,转到第二步。

   2) 如果指向相同磁盘的不同文件,则是磁盘的问题,转到第二步。

   3) 如果指向同一个文件,执行以下语句查找文件名:

   SELECT SEGMENT_NAME,SEGMENT_TYPE FROM DBA_EXTENTS WHERE FILE_ID=<文件号 > AND <块号 > BETWEEN BLOCK_ID

   AND BLOCK_ID+BLOCKS-1;

  其中,文件号与块号是 ORA-1115中指出的,如果该查询持续指向某表或索引,则重建它们即可。

   2. 如果文件是 SYSTEM表空间,或处于 NOARCHIVELOG模式,关闭 数据库,转到第四步。

   3. 如果数据库处于 ARCHIVELOG模式,仍应关闭数据库,如果不能关闭 数据库,则将相应的数据文件脱机: ALTER DATABASE DATAFILE '文件名 ' OFFLINE;

   4. 试着将数据文件拷贝到别的磁盘。

   5. 如果拷贝失败,则文件将丢失。

   6. STARTUP MOUNT;

   7. 将数据文件重命名为成功拷贝到别的磁盘的文件名:

   ALTER DATABASE RENAME FILE '老路径文件名 ' TO '新路径文件名 ';

   8. ALTER DATABASE OPEN;

   9. RECOVER DATAFILE 文件名 ;

   ALTER DATABASE DATAFILE '文件名 ' ONLINE;


(本文已被浏览 次)
发布人:admin
推荐给好友:发送给好友
上篇新闻:
下篇新闻:
相关评论
发表我的评论
  • 尊重网上道德,遵守《全国人大常委会关于维护互联网安全的决定》及中华人民共和国其他各项有关法律法;
  • 本站有权保留或删除您发表的任何评论内容;
  •   相关文章  
    无相关新闻

    关于我们 友情链接 ┋ 与我在线 ┋ 管理 ┋ TOP
    网站当前版本:GisPower CMS V3.0
    『GIS 动力』- http://www.gispower.org/
    联系我们:webmaster#gispower.org
    Copyright (c) 2003-2007 GisPOwer.Org. All Rights Reserved.

                   滇ICP备05006901号