用ORACLE8i修复数据库坏块的三种方法
来源:互联网 发布:大庆网络主管招聘 编辑:程序博客网 时间:2024/05/16 01:03
在进行SUNCLUSTER双机切换、意外断电或其它情况下,有时会发生共享盘MOUNT不上的情况,需要使用FSCK对共享盘进行修复。修复完成后,在数据库启动过程中,却又出现"数据块损坏,无法启动数据库"的现象,此时,可以根据不同的数据块损坏类型,检测并修复错误。在此介绍三种使用ORACLE8i修复损坏数据块的方法。
一、数据块损坏,错误代码为ORA-01578
ORA-1115I/OERRORREADINGBLOCK
通常后跟ORA-737X错误与操作系统错误(如UNIX中的错误号5)
产生原因:
1.硬件问题(磁盘控制器问题或磁盘问题)
2.物理级的数据块损坏(通常由前一原因造成)
3.处理巨型文件时,后跟错误代码ORA-7371
确定故障原因与恢复的方法:
1.查看alert.log文件中其它ORA-1115错误的发生情况:
1)如果指向不同磁盘的文件,则是磁盘控制器的问题,查看V$DATAFILE,有哪些文件位于该控制器下,转到第二步。
2)如果指向相同磁盘的不同文件,则是磁盘的问题,转到第二步。
3)如果指向同一个文件,执行以下语句查找文件名:
SELECTSEGMENT_NAME,SEGMENT_TYPEFROMDBA_EXTENTSWHEREFILE_ID=<文件号>AND<块号>BETWEENBLOCK_ID
ANDBLOCK_ID+BLOCKS-1;
其中,文件号与块号是ORA-1115中指出的,如果该查询持续指向某表或索引,则重建它们即可。
2.如果文件是SYSTEM表空间,或处于NOARCHIVELOG模式,关闭数据库,转到第四步。
3.如果数据库处于ARCHIVELOG模式,仍应关闭数据库,如果不能关闭数据库,则将相应的数据文件脱机:ALTERDATABASEDATAFILE'文件名'OFFLINE;
4.试着将数据文件拷贝到别的磁盘。
5.如果拷贝失败,则文件将丢失。
6.STARTUPMOUNT;
7.将数据文件重命名为成功拷贝到别的磁盘的文件名:
ALTERDATABASERENAMEFILE'老路径文件名'TO'新路径文件名';
8.ALTERDATABASEOPEN;
9.RECOVERDATAFILE文件名;
ALTERDATABASEDATAFILE'文件名'ONLINE;
二、回滚段需要恢复
如果回滚段处于NEEDRECOVERY状态,需要执行以下步骤进行恢复:
1.查看所有联机的表空间与数据文件
2.在init.ora文件中加入event="10015tracenamecontextforever,level10",这将生成一个追踪文件,其中含有事务与回滚的信息。
3.关闭并重新打开数据库。
4.查看TRACE文件,应有errorrecoverytx(#,#)object#.TX(#,#),指出事务信息,其中object#与sys.dba_objects中的object_id相同。
5.使用以下查询找出正在进行恢复的对象:
SELECTowner,object_name,object_type,statusFROMdba_objectsWHEREobject_id=
请作者联系本站,及时附注您的姓名。联系邮箱:edu#chinaz(把#改为@)。
- 用ORACLE8i修复数据库坏块的三种方法
- 用ORACLE8i修复数据库坏块的三种方法
- 用ORACLE8i修复数据库坏块的三种方法
- postgres数据库坏块修复
- oracle数据库坏块修复
- oracle8i回滚段表空间出现坏块的解决方法
- oracle8i回滚段表空间出现坏块的解决方法
- Oracle数据库坏块修复ORA-01578
- dataguard数据库坏块自动修复
- 数据库坏块处理方法
- 如何修复未格式化的坏块?
- Oracle 坏块修复
- 数据库坏块的处理
- 【Oracle故障】Oracle 11g通过ABMR自动修复坏块的方法
- 使用dbms_repair修复坏块
- dbms_repair包修复坏块
- 使用 DBMS_REPAIR 修复坏块
- 使用 DBMS_REPAIR 修复坏块
- 在win2003下MySQL数据库每天自动备份
- 防范SQL注入攻击的新办法
- 如何修改遗失的MySQL的ROOT用户密码
- SqlServer2000+SqlServerMobileEdition配置合并复制
- MySQL与ASP.NET配合更强大
- 用ORACLE8i修复数据库坏块的三种方法
- 利用C#实现分布式数据库查询
- 从SQL备份文件中导入现存数据库
- 索引对查询条件顺序的影响
- SQLServer2000桌面引擎默认配置空口令漏洞
- MySQL5.0.16乱码问题处理办法
- 实例:NStarfaiNet的SQLXML文件示范
- 如何运用SQLServer2005中的模板参数
- 显示数据库中的表结构(新增了索引及表的描述信息)