中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 数据库开发 > Oracle
用Oracle8i修复数据库坏块的三种方法
作者:佚名 时间:2007-06-19 15:39 出处:knowsky.com 责编:月夜寒箫
              摘要:用Oracle8i修复数据库坏块的三种方法

在进行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。

 

二、回滚段需要恢复

 

如果回滚段处于NEED RECOVERY状态,需要执行以下步骤进行恢复:

 

1. 查看所有联机的表空间与数据文件。

 

2. 在init.ora文件中加入event = "10015 trace name context forever,level 10",这将生成一个追踪文件,其中含有事务与回滚的信息。

 

3. 关闭并重新打开数据库。

 

4. 查看TRACE文件,应有error recovery tx(#,#) object #.TX(#,#),指出事务信息,其中object #与sys.dba_objects中的object_id相同。

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有