小弟今天给我的Oracle9.2加了一个表空间4096M的.
创建马上要结束的时候,连接到此数据库上的软件就开始报错了,此时大概有数据交互.
然后我再次登陆数据时,就只能用DBA登陆了,但是总是显示连接状态,而没有加在数据库.
日志中显示的错误信息为:
Mon Dec 03 16:43:10 2007
ORA-205 signalled during: /* OracleOEM */ ALTER DATABASE MOUNT...
Mon Dec 03 16:43:11 2007
/* OracleOEM */ ALTER DATABASE OPEN 
ORA-1507 signalled during: /* OracleOEM */ ALTER DATABASE OPEN ...
Mon Dec 03 16:44:12 2007
/* OracleOEM */ ALTER DATABASE MOUNT
Mon Dec 03 16:44:13 2007
ORA-00204: error in reading (block 1, # blocks 1) of controlfile
ORA-00202: controlfile: 'H:\oracle\oradata\lmsdb\CONTROL01.CTL'
ORA-27091: skgfqio: unable to queue I/O
ORA-27070: skgfdisp: async read/write failed
OSD-04006: ReadFile() 失败, 无法读取文件
O/S-Error: (OS 23) 数据错误(循环冗余检查)。Mon Dec 03 16:44:15 2007
ORA-205 signalled during: /* OracleOEM */ ALTER DATABASE MOUNT...是不是CONTROL FILE在创建表空间时被写错了? 怎么改.  

解决方案 »

  1.   

    使用show parameter control_files
    查看所有control files的路径,使用其他正常的control file覆盖出错的这个。如果是这个control file的物理存储出了问题,那么就修改参数,重新指定到其他路径。
      

  2.   

    一般来说control file都会有三个一样的备份;并且要求保存在不同的存储上。
    如果你的db只有一个······
    那就重做db吧。
      

  3.   

    比较一下你的控制文件,
    H:\oracle\oradata\lmsdb\CONTROL01.CTL
    是不是还有02,03.察看一下里面的内容。从数据来看,读取这个文件的时候,出了不能同步问题。CRC检查的地方出了错。
    是硬盘损坏的可能比较大。先从这个入手,确认一下硬盘状况。有没有坏道。有的话,找工具修复好比较好。就算是表上坏道标记,也比你直接用下去好。修复好硬盘,可以在用好的控制文件,来覆盖掉这个旧的。或者修改控制文件路径也可以。真的是硬盘坏了的话,不修复,坏道会越来越多的。
      

  4.   

    进入mount状态的时候,需要度去控制文件的内容。
    进入open状态的时候,需要把控制文件里面的数据文件都打开。redo文件等等。