`

oracle9I坏块错误

 
阅读更多
  在一个客户的9201 for Windows数据库中发现了这个错误。





数据库经常出现CRASH的问题,检查后发现,在出现CRASH之前,ALERT中记录了下面的错误:


Fri Jan 28 15:13:58 2011
KCF: write/open error block=0x300019 online=1
file=9 D:ORACLEORADATASXNCSWUSERS01.DBF
error=27069 txt: 'OSD-04026: 传递的参数无效。 (OS 3145753)'
Fri Jan 28 15:13:58 2011
Errors in file d:oracleadminsxncswbdumpsxncsw_dbw0_1504.trc:
ORA-01242: data file suffered media failure: database in NOARCHIVELOG mode
ORA-01114: IO error writing block to file 9 (block # 3145753)
ORA-01110: data file 9: 'D:ORACLEORADATASXNCSWUSERS01.DBF'
ORA-27069: skgfdisp: attempt to do I/O beyond the range of the file
OSD-04026: 传递的参数无效。 (OS 3145753)


DBW0: terminating instance due to error 1242
Fri Jan 28 15:14:00 2011
Errors in file d:oracleadminsxncswbdumpsxncsw_pmon_1480.trc:
ORA-01242: data file suffered media failure: database in NOARCHIVELOG mode


Instance terminated by DBW0, pid = 1504
Dump file d:oracleadminsxncswbdumpalert_sxncsw.log


从ORA-27069错误和OSD-4026错误的信息不难看出,这些错误一般和操作系统命令有关,最后出现了ORA-1242错误,且数据库出现了CRASH。


查询metalink发现,这是Windows环境下Oracle9i的一个bug:1668488。这个bug影响NT环境9.2.0.3以前版本的数据库,当数据文件大小超过4G并尝试扩展,就可能导致这个文件的读写错误,对于ARCHIVELOG模式可能导致数据文件需要恢复,而对于NOARCHIVELOG模式,则会导致CRASH。


而Windows是2003,数据库版本是9.2.0.1,检查发现这个USERS表空间的大小已经达到了4G,难怪频繁出现CRASH的问题。




除了升级操作系统和数据库版本外,解决这个问题的最简单的办法就是多建立几个数据文件,来避免单个文件超过4G的情况。


应急措施为重新启动数据库服务器。


DBV file=D:\ORACLE\ORADATA\DSSDB1\WS6.ORA blocksize=8192

检查没有错误。重新启动后一切正常

   以上经过试验,可以解决这个问题,但是不能保证所有平台和所有oracle9.2.0.1都会报这个错误,真纠结。
分享到:
评论

相关推荐

    oracle9I的坏块错误。

    本文将深入探讨“Oracle9I的坏块错误”这一问题,结合提供的资源,如`alert_dssdb1.log`日志文件和`Oracle 9I坏块错误.txt`文档,来解析这个常见问题的原因、影响以及解决方案。 首先,让我们理解什么是“坏块”。...

    oracle rman简单参考使用手册。主要内容涉及Oracle9i。不包含之后版本信息

    在Oracle 9i版本中,RMAN引入了一系列先进的特性和功能,极大地提升了数据库管理的效率和安全性。 首先,RMAN的核心功能包括全库备份、部分备份(如表空间、数据文件、控制文件、归档日志和Spfile参数文件)、增量...

    Oracle数据库操作常见错误及解决方案

    这是一个表示数据块损坏的错误,可能由硬件、操作系统、内存或ORACLE自身的问题引起。处理这类问题通常涉及以下几个步骤: 1. **备份和恢复**: 在尝试任何修复之前,确保有最新的数据库备份。 2. **使用RMAN修复**:...

    oracle 10g 导入 9i 00003 错误解决.txt

    ### Oracle 10g 导入 9i 数据时出现 00003 错误的解决方案 在Oracle数据库管理中,从较低版本(如9i)向较高版本(如10g)迁移数据时可能会遇到各种问题,其中一种常见的错误就是00003错误。本文将详细介绍如何解决...

    Oracle9i的init.ora参数中文说明

    Oracle9i初始化参数中文说明 Blank_trimming: 说明: 如果值为TRUE, 即使源长度比目标长度 (SQL92 兼容) 更长, 也允许分配数据。 值范围: TRUE | FALSE 默认值: FALSE serializable: 说明: 确定查询是否获取表级...

    Oracle备份与恢复培训教程_part2

    Oracle9i是Oracle数据库的一个版本,尽管已经有些年份,但其中的许多概念和技术在当前的Oracle版本中仍然适用。 一、Oracle备份的重要性 在数据库环境中,备份是预防数据丢失的关键手段。无论是由于硬件故障、软件...

    用Oracle闪回功能恢复偶然丢失的数据

    Oracle 闪回功能是Oracle数据库系统提供的一种高级数据恢复机制,尤其适用于处理人为错误导致的偶然数据丢失。在Oracle 9i及之后的版本中,闪回功能得到了显著增强,使得用户可以更方便地恢复误操作,而不必依赖于...

    oracle RMAN 备份恢复总结

    RMAN 自从Oracle 8版本开始引入,并在后续版本中不断加强和完善,尤其在Oracle 9i中展现出更为强大的功能和优势。 RMAN 提供多种备份类型,包括全库备份、表空间备份、数据文件备份、控制文件备份和归档日志备份。...

    windows下的bbed

    这个工具是Oracle数据库早期版本(如Oracle 9i)的一部分,尽管随着版本的升级,它仍然可以在Oracle 10g等较新版本中使用。bbed全称为Block Buffer Editor,它的主要功能是在数据库级别对物理损坏的数据块进行修复,...

    深入解析OracleDBA入门进阶与诊断案例 2/4

     7.4 Oracle 9i Redo的增强   7.5 Oracle 10g Redo的增强   7.6 Redo的内容   7.7 产生多少Redo   7.8 Redo写的触发条件   7.9 Redo Log Buffer的大小设置   7.10 commit做了什么?   7.11 ...

    深入解析OracleDBA入门进阶与诊断案例 3/4

     7.4 Oracle 9i Redo的增强   7.5 Oracle 10g Redo的增强   7.6 Redo的内容   7.7 产生多少Redo   7.8 Redo写的触发条件   7.9 Redo Log Buffer的大小设置   7.10 commit做了什么?   7.11 ...

    深入解析OracleDBA入门进阶与诊断案例 4/4

     7.4 Oracle 9i Redo的增强   7.5 Oracle 10g Redo的增强   7.6 Redo的内容   7.7 产生多少Redo   7.8 Redo写的触发条件   7.9 Redo Log Buffer的大小设置   7.10 commit做了什么?   7.11 ...

    Oracle RMAN初学者指南

    8. **坏块检测**:自动检测损坏的数据块,并对其进行修复。 #### 二、RMAN的用户接口 RMAN提供了三种主要的用户接口: 1. **命令行界面**:最常用的方式,适用于自动化脚本和高级配置。 2. **图形用户界面(GUI)**...

    oracledul工具

    Oracle DUL工具,全称Data Utility for Oracle,是Oracle数据库恢复领域的一款重要工具,尤其在数据丢失或遇到坏块问题,且没有可用备份时,它成为拯救数据的最后防线。这款工具适用于Oracle数据库的8i和9i版本,...

    如何恢复只有完好数据文件的oracle数据库

    - 示例命令:`ALTER TABLESPACE "TEMP" ADD TEMPFILE 'C:\ORACLE9I\ORADATA\SHARK\Temp01.DBF' [REUSE] SIZE 200M;` #### 四、总结 恢复只有完好数据文件的Oracle数据库是一项技术性很强的工作,需要对Oracle...

Global site tag (gtag.js) - Google Analytics